实验一mini2440裸板驱动开发环境搭建.doc

上传人:夺命阿水 文档编号:23134 上传时间:2022-07-16 格式:DOC 页数:8 大小:140KB
返回 下载 相关 举报
实验一mini2440裸板驱动开发环境搭建.doc_第1页
第1页 / 共8页
实验一mini2440裸板驱动开发环境搭建.doc_第2页
第2页 / 共8页
实验一mini2440裸板驱动开发环境搭建.doc_第3页
第3页 / 共8页
实验一mini2440裸板驱动开发环境搭建.doc_第4页
第4页 / 共8页
实验一mini2440裸板驱动开发环境搭建.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《实验一mini2440裸板驱动开发环境搭建.doc》由会员分享,可在线阅读,更多相关《实验一mini2440裸板驱动开发环境搭建.doc(8页珍藏版)》请在课桌文档上搜索。

1、实验一mini2440裸板驱动开发环境搭建【实验目的】1、了解mini配置串口通信参数的过程,掌握利用mini进行传输文件方法2、了解网络文件系统nfs的配置,掌握利用nfs进行文件的传输和异地运行目标板程序3、掌握tftp的使用方法【实验原理】一、 安装编译器1. mkdir /usr/local/arm2. tar *jvf arm-linu*-gcc-4.4.3.tar.bz2 C /usr/local/arm3. vim /etc/profile+PATH=/usr/local/arm/4.4.3/bin:$PATH4. source /etc/profile5. arm-linu*-

2、gcc -v注意:1 Ubuntu 14.04 64位系统无法运行32位可执行文件,需要安装一个32位兼容库lib32z12 Ubuntu 12.04 64位系统安装ia32-libs3 sudo apt-get install libstdc+64 sudo apt-get install lib32stdc+6二、mini的使用1. 安装:sudo apt-get install mini2. 配置:mini -s3. 使用:命令:ctrl a + q quitctrl a + w lineWrapctrl a + z help1、 串口通信参数的设置确认USB转串口工具是否已经连接到电脑

3、上,如果连接到电脑上,则:ls /dev/ttyUSB0如果已经确认了ttyUSB0已经存在,则:首先运行mini,由于mini是通过串口来工作的,所以要通过mini程序来对串口通信参数进行设置。启动mini的设置窗口:在linu*的终端中输入“mini s”,然后,按下回车键。springspring-virtual-machine:$ sudo mini -s “-s”选项调出配置信息。下面显示的就是配置的菜单。有关串口通信选项的含义:Filenames and paths:选择需要传输的文件和路径File transfer protocols:选择传输文件的通信协议Serial port

4、 setup:设置串口通信参数Save setup as dfl:将设置好的各项参数保存为dflSave setup as:将设置好的各项参数保存为自定义的文件名E*it:退出返回到mini设置好后的终端E*it from Mini:从mini命令中退出返回Linu*终端将光标移到Serial port setup,按回车键会弹出串口通信参数的配置菜单。(1)、串口通信口的选择:(A - Serial Device)接A键把光标移动到Serial Device。如果串口线连在PC机的串口1上,则把Serial device设置为/dev/ttyUSB0。如果连在串口2上,则把Serial de

5、vice设置为/dev/ttyUSB1,然后按下回车键。(2)、串口参数的设置(E - Bps/Par/Bits)按E键来设置通信波特率、数据位、奇偶校验位和停止位。可以通过按下不同的键来设置通信参数。例如mini2440平台需要把波特率设为115200,数据位设为8,奇偶校验位设为无,停止位设为1。可以分别通过按E、V、L、W键设置波特率、数据位、奇偶校验位和停止位。设置完后按Esc返回。(3)、数据流的控制选择(F - Hardware Flow Control、G - Software Flow Control)按F键可以完成硬件流控制切换,即完成Yes与No之间的切换。按G键完成软件流

6、控制切换,即完成Yes与No之间的切换。下图显示的是串口配置好的后完整信息。(4)、设置参数的保存与退出配置完成后,按下“Esc”键,将会出现下图的配置菜单。选择“Save setup as dfl”按ENTER键来保存,当配置保存后,按下“Esc”键完成设置。当mini窗口出现后,将mini2440开发板的启动方式选择按键拨到nor flash重起mini2440将会看到启动信息。如果没有出现启动信息,请检查min的设置和线缆连接是否有错。2、利用串口通信文件传输在与目标板连接后,可以通过串口下传一些文件到目标板,具体操作步骤如下:(1)、在与目标正确连接后,进入root51board,按下

7、CTRLA键后,再按Z键,系统调出mini的命令选项菜单;其中Send files和Receive files两项负责文件数据的传输,所用命令使用热键进行激活。如上传文件只需按S键。(2)、当向目标板上传文件时,按S键,系统弹出串口通信协议选项,利用方向键选中zmodem传输协议,按回车键,进入文件选择菜单。(3)、文件传输文件选择菜单弹出后,利用空格键选中需要上传的文件,一次可以选择多个文件,选好需要传输的文件后按回车键,便可以进行文件数据传输。当数据传输完毕,系统会弹出传输完毕提示菜单(如下图所示)。三、安装tftp服务1. sudo apt-get install tftp tftpd

8、*inetd2. sudo vim /etc/*inetd.d/tftpservice tftpsocket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /tftpbootdisable = noper_source = 11cps = 100 2 *每秒100连接入站,如果超过限制则等待2秒flags = IPv43. sudo mkdir /tftpboot4. sudo chmod 777 /tftpboot -R5. sudo /etc/init.d

9、/*inetd restart6. sudo netstat -a | grep tftp说明:修改项server_args = -s -c,其中处可以改为你的tftp-server的根目录,参数-s指定chroot,-c 指定了可以创建文件。四、安装NFS服务1. sudo apt-get install nfs-kernel-server2. sudo vim /etc/e*ports+/nfsroot *(rw,sync,no_root_squash)3. sudo /etc/init.d/portmap restart4. sudo /etc/init.d/nfs-kernel-ser

10、ver restart5. showmount -e网络文件系统nfs可以将PC机上的一部分文件系统作为目标机的资源,这样可以弥补目标机存储空间的不足。在使用网络文件之时,应对网络文件配置进行一定的设置。root51Board$ mount t nfs 192.168.1.12:/mnt/nfs /mnt上述设置实现将主机上的/mnt/nfs目录挂载到目标机的/mnt目录下,并作为目标机文件系统的一部分。这时,可以将需要传输的文件或需要运行的程序保存在主机的/mnt/nfs目录下,然后在目标机对主机/mnt/nfs上的文件进行运行或复制等相应的处理。五、编译安装u-boot1. tar *vf

11、 bootloader.tar2. cd bootloader3. cd u-boot4. make distclean5. make mini2440_config6. make -j27. cp u-boot.bin /桌面8.使用mini2440提供的MiniTools 烧写到开发板中注:开发板的S2开关搬到nor处。make clean仅仅是清除之前编译的可执行文件及配置文件。而make distclean要清除所有生成的文件。下载完成后,将S2开关拨到nand处,启动板子,出现如下信息:快速的按下任意键(建议按下回车键),使得进入u-boot模式中:六、使用putty工具实现远程桌面

12、连接1、在ubuntu系统中安装ssh,可使用如下的命令进行安装:sudo apt-get install openssh-server2、为了保险起见,安装完成后重启一下ssh服务,命令如下:sudo /etc/init.d/ssh restart3、下载putty,运行,如下后图所示,输入地址即可,注意端口号不要改4、点击open,即可建立远程连接,运行后如下图所示6、输入用户名后回车,然后会提示输入密码,这时输入相应的密码就可以了注意:如果直接登录在登录时可能会出现中文乱码的情况,这时可以在登录前进行如下的设置,就不会出现乱码了这里我选择的是是因为我的ubuntu系统是编码格式的,大家可

13、根据实际情况进行设置七、Ubuntu终端远程连接计算机(Linu*)SSH是一个远程接入软件,可以让你想坐在计算机前面一样操作计算机。SSH使用加密方式传输数据,是一种非常安全的工作方式。步骤如下:前提:如果没有安装ssh的话请sudo apt-get install ssh1、在需要远程访问的计算机的“新立得”里面安装openssh-server。这台计算机是远程计算机,你当前使用的计算机是本地计算机。如果使用Ubuntu或者其他Linu*版本,已经安装了连接到远程计算机的软件。2、远程计算机软件安装完毕。在本地计算机的终端里面输入:ssh usernameaddress其中username

14、是远程计算机的账户名称,address是远程计算机的IP地址或者域名。平日你希望以root用户名登录192.168.0.99,可以使用:例如:ssh spring192.168.0.99 如果不知道远程计算机的IP地址,可以在远程计算机上面点击网络监视器,选择“连接信息”,查看IP地址信息。3、首次连接,可能提示“the authenticity of the host cant be established”。没有关系,回答yes进行连接,输入密码即可。4、如果你登录一个标准的Shell会话,命令行提示符是“用户名远程计算机的名称”。如果希望通过SSH运行图形程序,可以使用:ssh -* u

15、sernameaddress连接以后,输入程序的名称即可。譬如,启动gedit,输入gedit即可。另外注意,尽管程序出现在你的计算机上面,但是它依然是运行在远程计算机上面。如果启动OpenOffice或者其他复杂的图形程序,可能有一段时间的延迟。另外一个SSH连接的用途是传输文件。sftp命令可以实现这个功能。用sftp连接到远程计算机,就可以像登录了一个ftp服务器一样。另外还可以在Nautilus里面使用sftp,在Nautilus的地址栏里面输入:sftp:/address,系统会提示用户名和密码。连接完成,就可以在Nautilus里面拷贝/删除文件了。sftp 是一个交互式文件传输程

16、式。它类似于ftp, 但它进行加密传输,比FTP有更高的安全性。下边就简单介绍一下如何远程连接主机,进行文件的上传和下载,以及一些相关操作。举例,如远程主机的IP 是202.206.64.33或者是域名.hebust.edu.,用户名是fyt ,在命令行模式下:sftp fyt202.206.64.33或者fyt.hebust.edu.。回车提示输入密码。进入提示符sftp如果登陆远程机器不是为了上传下载文件,而是要修改远程主机上的*些文件。可以ssh fyt202.206.64.33 (其实sftp就是ssh 的一个程式。)sftp get /var/fuyatao/inde*.php /h

17、ome/fuyatao/这条语句将从远程主机的/var/fuyatao/目录下将inde*.php 下载到本地/home/fuyatao/目录下。sftp put /home/fuyatao/downloads/Linu*gl.pdf /var/fuyatao/这条语句将把本地/home/fuyatao/downloads/目录下的linu*gl.pdf文件上传至远程主机/var/fuyatao/ 目录下。你如果不知道远程主机的目录是什么样,pwd命令可以帮您查询远程主机的当前路径。查询本机当前工作目录lpwd.改变路径可以用cd ,改变本机路径可以用lcd;ls rm rmdir mkdir

18、 这些命令都可以使用。同理调用本机都是加l , 即lls lrm.要离开sftp,用e*it 或quit、bye 均可。详细情况可以查阅man sftp.如果觉得在命令行模式下不太方便,可以sudo apt-get install gftp。在图形界面下操作就简便多了。6、使用e*pect自动连接*!/usr/bin/e*pectspawn /usr/bin/ssh spring127.0.0.1 e*pect *password:send 123456re*pect *send cd /roote*pect *send e*itre*pect eof【实验仪器】1、装有Linu*操作系统的P

19、C机一台;2、mini2440实验开发平台一套【实验内容】一、 使用u-boot printf函数1、用u-boot中的printf函数,而printf在u-boot中的实际地址是0*33f663a8;该地址可以从u-boot.map文件中查找到;2、个hello.c函数,代码如下:void (*my_printf)(const char *format,.)=(void *)0*33f963a8;int main()my_printf(hello world!n;3、 以下命令编译hello.c文件,如下:编译产生目标文件:springspring-ThinkPad-T60:/sq1415/

20、01$ arm-linu*-gcc -c hello.c -o hello.o指定连接地址,连接产生可执行文件:springspring-ThinkPad-T60:/sq1415/01$ arm-linu*-ld -Tte*t 0*30000000 hello.o -o hello/usr/local/arm/4.4.3/bin/.arm-none-linu*-gnueabi-ld: warning: cannot find entry symbol _start; defaulting to 30000000注意:有操作系统的时候不需要指定地址,无操作系统的时候,必须手动指定地址去掉可执行文

21、件的一些头信息,产生单纯二进制文件:springspring-ThinkPad-T60:/sq1415/01$ arm-linu*-objcopy -O binary hello hello.bin编译产生汇编文件:springspring-ThinkPad-T60:/sq1415/01$ arm-linu*-objdump -D hello hello.S查看产生的文件信息:springspring-ThinkPad-T60:/sq1415/01$ lshello hello.bin hello.c hello.o hello.S Makefilespringspring-ThinkPad-

22、T60:/sq1415/01$4、 使用u-boot的tftp工具下载hello.bin到mini2440开发板中并运行:下载之前首先确认上位机的网络配置与mini2440板子的配置信息以下为板子的配置信息:saveenv完成对,mini2440的网络配置新建一个PC端的有线网络连接,使得PC端的使用ping命令测试mini2440板是否与PC机联通5、 由于arm-linu*-gcc、ld、objcopy、objdump命令字较长,键盘输入并不方便,所以以后调试过程中尽可能使用Makefile工具:书写一个Makefile文件内容如下:all:arm-linu*-gcc -c hello.c -o hello.oarm-linu*-ld -Tte*t 0*30000000 hello.o -o helloarm-linu*-objcopy -O binary hello hello.bincp hello.bin /tftpboot/clean:rm hello.o hello hello.bin【思考题】使用u-boot自带函数实现输入输出操作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号