- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 断点已经设置好,就可以开始让程序运行了,键入命令run或r,屏幕出现的信息: (gdb) r Starting program: /home/example Breakpoint 1, main () at example1.c:5 5 int?sum=0,i; 输入命令next即可进行单步调试的工作。为了进入函数display内部进行调试,输入命令step,使执行进入到函数内部,直接将程序执行完毕,可以输入命令continue。 要退出gdb,键入命令quit,如果程序此时仍在执行,gdb会询问是否真的要退出,屏幕会出现类似下面的提示信息: (gdb) quit The program is running. Exit anyway? (y or n) 按下“y”即退出调试程序,如果程序本身已经运行完毕,则quit命令键入后,会直接退出gdb,而不出现任何提示信息。 * 5.6 综合训练之建立嵌入式操作系统 介绍在友善之臂的SBC-2410X目标板上安装带有可读写文件系统的嵌入式Linux,使大家对嵌入式系统的建立有个更深刻的认识。整个过程中会用到以下文件: ? vivi-yaffs-v5,BootLoader程序; ? zImage-yaffs-v5,通过串口下载的内核; ? root-for-nfs-v5.8.tgz,nfs共享目录; ? fa_exports,共享目录路经设置文件; ? config.friendlyarm,VIVI配置文件; ? kernel.tgz,内核文件。 这些所采用的文件均可从/下载,下载后解压缩到/home/arm目录下。 * 1.用JTAG安装BootLoader 首先,进入vivi源代码目录:#cd /arm/vivi 然后配置和编译它,步骤如下。 执行“make menuconfig”命令开始配置内核。实际上,不需要手动选择配置,系统已经配置好了,只需装载一个配置文件(config.friendlyarm)即可,使用这个配置文件生成的vivi正好适合于目标板。这个配置文件在vivi/arch/def-configs目录中,该目录包含了一些适合于各种目标板的配置文件。装载“arch/def-configs/SBC-2410X”,然后保存该设置,并执行“make”命令编译vivi。配置vivi的界面如图5.11所示。 * #cd /friendly-arm/vivi #make menuconfig 在弹出的窗口中选择“Load on Alternate Configuration File”菜单,然后输入config.friendlyarm所在路径。 再选择“OK”,图5.11界面又出现一次,这时选择退出,弹出如图5.12所示界面。选择“Yes”保存刚才的配置。 * 保存完毕,执行以下命令: #make 如果编译过程顺利,将会在当前目录下生成vivi的二进制映像文件VIVI。 连接好JTAG口,利用前面所介绍的方法下载VIVI后,即可正常启动目标板。也可以下载vivi-yaffs-v5,而省去编译VIVI的步骤。 * 2.使用串口下载内核 像编译vivi一样,编译内核之前要运行“make menuconfig”命令配置内核。内核的选项很多,但是不需要手动逐个选择,当将kernel.tgz解压到/arm9目录后,已经缺省配置了目标板所需要的各个组件模块。如果要编译内核只需要执行make即可: #make zImage 最后生成的内核映像文件zImage位于arch/arm/boot目录。 启动配置Minicom后,按空格键,打开目标板电源,等待进入命令行模式后执行命令: $load flash kernel x 选中发送文件zImage,或者从网站下载的zImage-yaffs-v5文件,以Xmodem方式传送,则内核烧制完成。 此时,如果输入boot命令,VIVI会启动刚刚下载的内核,但是无法进入系统,因为还没有系统文件。 * 3.通过NFS安装系统 一个完整的Linux系统包括一个Kernel和一个root文件系统。如果只有一个Linux内核,系统最后是无法正确引导的。Linux内核引导完毕,就试图mount一个root文件系统(根文件系统),如果找不到,内核将报告类似如下的错误:Kenel panic:VFS:Unable to mount root fs on 02:00。 这个文件系统的位置由环境变量root指定: ? root=/dev/bon/2(); ? root=/dev/mtdblock/0本地启动(默认启动方式); ? root=/dev/nfs。 其中第一种root=/dev/bon
文档评论(0)