本帖最后由 forlinx2013 于 2014-1-24 09:27 编辑
欢迎大家来到飞凌爱板网专区,对嵌入式技术感兴趣的朋友不妨多多关注一下,我们提供了公司所有开发板的所有资料,也会更新大量技术文章,欢迎大家一块学习提高!!!
无jlink调试程序的方法 1.相信大家一拿到开发板的时候,都有一个疑问,裸机程序我该怎么烧录到开发板上呢,这个就不能像arm7或单片机那样简单的烧录了。 2.这里先说一个交代,这个开发板的内存分配是这样的,0x0000 0000 到 0x0010 0000 (0x0010 0000 = 1024*1024) 也就是1MB是给uboot的,0x0010 0000是给程序的,而到了0x5000 0000就是ram了,也就是说,如果你把程序烧写到了0x5000 0000之后的话,你可以运行但是掉电就擦除了。这些可以在datasheet中查到。 3.之前我有讲过我的jlink是质量问题退掉了,没事,正和我意,自己看着手册和之前学s3c2410的一些经验,总结出了四种烧录/调试的方法。 4.方法一:dnw在ram中调试 第零步:开发板运行到uboot的界面。 第一步:将程序烧录到ram中,就是0x5000 0000之后,一般往后推那么几个位置,自己设置,我用0x50008000 ,保险。 命令:dnw 0x50008000 第二步:这个时候,程序已经在内存中了,那么理论上是可以直接运行的,没错 命令:go 0x50008000 说明:此方法比较可靠,速度快,USB2.0,我一般用这个,dnw 是usb下载命令,当然要弄好usb线和驱动咯。 方法二:dnw在flash中调试 第零步:开发板运行到uboot的界面。 第一步:将程序烧录到ram中,就是0x5000 0000之后,一般往后推那么几个位置,自己设置,我用0x50008000 保险。 命令:dnw 0x50008000 第二步:擦除flash,为程序留空,千万别擦除了0x00100000 之前的flash,那样会把你的uboot清空,之后你懂的,不相信就自己试试把。 命令:nand erase 0x00100000 0x00300000 第三步:将程序写入到flash中 命令:nand write 0x50008000 0x00100000 0x00300000
第四步:重启 命令:reset 说明:此方法测试结果真实,但是有的时候,程序走一遍就结束了,有的时候要注意,可能就执行了一遍。 方法三:xp超级终端ram中调试 第零步:开发板运行到uboot的界面。 第一步:将程序烧录到ram中,就是0x5000 0000之后,一般往后推那么几个位置,自己设置,我用0x50008000 保险。 命令:loadb 0x50008000 之后选择发送文件,选择K模式,这个自己百度把,没什么说的 第二步:这个时候,程序已经在内存中了,那么理论上是可以直接运行的 命令:go 0x50008000 说明:这个方法是用串口传的,速度超慢,你懂得,记得上课传一个10MB的bin花了20min,够久的,不过这个是最可靠的,相比dnw的usb传输,usb2.0速度当然是没话说的,但稳定性还是串口实在。 方法四:xp超级终端在flash中调试 第零步:开发板运行到uboot的界面。 第一步:将程序直接烧录到flash中去,对直接烧。 命令:loadb 0x0010000 第二步:重启 命令:reset 说明:此方法可靠性一般,实测有些程序能运行,有些不能,待考证,应该是地址映射的问题把。 5.总结:本次主要是说下没有jlink的调试,有jlink的直接无视把,关于超级终端,就是xp自带的工具,至于win7下怎么用,我的建议是:装个xp把,你迟早会被win7烦死的。
|