ok6410-第02篇-无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烦死的。

                下个日志准备说说linux下和windows下的编写程序的区别。待续。

 

你可能感兴趣的:(ok6410)