关键词:DM365 Linux核调试,PEEDI编程器,自动操作,FTP服务器
1、概述
这个案例给你演示Linux核的调试和用PEEDI来对DM365 EVM板的编程。这种方法可以把出厂的程序写在板上同时终止了产品配置的编制,首先演示如何手动操作,然后看如何通过简单的设置PEEDI达到这个效果。
2、工具要求
-一块PEEDI 仿真器
-一块DM365板
- UBL, U-BOOT, KERNEL 和RAMDISK
-一个运行FTP服务器的主机
3、设置PEEDI
首先你需要准备一个CFG的文件,如果你以前的CFG文件比较复杂,可以从这里下载一个http://download.ronetix.info/peedi/cfg_examples/arm9/tms320dm365-DM365EVM.cfg.下面的都是关于FLASH设置的描述。如果你想编写四个不同的模块(UBL, U-BOOT, Linux核 和RAMDISK),你需要在CFG里面定义FLASH。你要设定CORE0_PATH参数指向文件的所在目录。这种FLASH的描述或者你需要的指令仅仅是文件的名字,而不是整个路径。然后,你想用PEEDI单机模式的时候,你可以拷贝这个文件到MMC/SD卡里,你仅需要该改变CORE0_PATH。现在我设置这个参数直接指向你的FTP服务器根目录。
[PLATFORM_ARM] |
就像你刚才看到的两个介绍——PEEDI可以用用户指定的内容自动烧入程序描述符。
"CPU = TMS320DM365"这条指令告诉PEEDI检测坏的模块区域(主体和镜像),没有错误,在最后两个好的模块里面产生。下面我们将准备对NAND chip UBL, U-BOOT, KERNEL and RAMDISK. 进行编程。
4、板的程序编写
用 flash set 指令可以选择你想用来编写NAND的 FLASH文件,然后闪存编程器对NAND进行编写:
peedi> flash set 0 |
分开这块板,证实它是正常的。你或许需要设置U-BOOT不同的环境去写入核和适当的命令行。你可以放弃U-BOOT环境,然后仅对它编程。因此你每次擦除的时候不需要再用手设置它。下面你可以把所有的命令放在一个脚本上。它就会自动的执行:
把这个脚本放到 [ACTIONS] 目录下,它就可以通过PEEDI按钮自动运行了。
[prog_all] |
这个脚本可以通过三个方法启动:
· 通过 PEEDI 的run $prog_all指令
· 通过选择和开始脚本1,用PEEDI的前按钮
· 如果AUTORUN = 1没有描述这个程序,它将会每次启动这个板连接到PEEDI。
第1种方法是用来复位板的。第2、3种方法,如果人工不能掌握的话,通过production programming很快就可以知道怎么用PEEDI了。
5、Linux核的调试
你想调试Linux核,你需要一个带调试程序和最佳的开关的ELF核。这个板设置成装入和启动这个核不仅仅是NAND板,任何一个板都可以。调试的话,最好通过以太网来装载,这个方法你不需要一个一个编写,你一旦把核建立好,找出vmlinux文件(它可能在Linux核的工程目录下)和用nm工具找出它的所在目录,这个start_kernel函数像这样:
[ACTIONS] ; user defined scripts |
用不带INIT部分的CFG,当PEEDI连接到CPU时,它不做任何的初始化,确定breakpoint模式设置为SOFT(我们在RAM里面调试)。当PEEDI连接上了,用"break add hard ADDRESS"在 start_kernel地址下加一个硬件breakpoint。
现在“go”开始启动目标,直到它在中断的时候停止。下一步,你就可以看到在核的根目录指向ELF格式的程序:
在可视的操作台里连接PEEDI :
nm vmlinux | grep start_kernel |
下一步用“si”指令更新界面,现在开始你可以加breakpoints, step, go, stop等到目标上,要执行的话用c按钮,在insight console用(c)ontinue指令或者在eclipse下按复位按钮。你之前做过这些后,你可以在INIT里面自动完成你的工作:
arm-elf-insight vmlinux |
你也可以忽略对象,把si指令放在gdbinit文件夹里,这样的话它在gdb/insight start下也能自动执行。当然你也可以用eclipse调试。
6、结论
第一眼看起来很复杂,但是第一个流程下了它就变得很简单。另外,所有复杂的设置搞定之后,其他的都会变得像推动一个按钮那么简单。
更多资料,请联系我们:
广州虹科电子 http://www.hkaco.com
吴工 020-38743030 wj@hkaco.com QQ:534807413
文章评论(0条评论)
登录后参与讨论