计算机冲冲冲——修炼ARM11:如何烧录裸板程序
刚买到OK6410的开发板之后,按照光盘上的用户手册的教程,烧写Linux系统。然后就是在PC端红帽编写Linux C程序,交叉编译后,用SD卡或者是挂载U盘的办法,把编译出来的可执行文件放到开发板上的文件系统中,然后再终端执行./xxx(xxx是可执行文件名)。就完成了Linux应用的编写与执行。
Linux应用是建立在Linux系统的基础上执行的。如果我们要跑裸板程序呢?那我们就不得不抛弃操作系统。我看了国嵌的视频,还有网上相关的博客,惊奇地发现,竟然没有OK6410的裸板程序烧录方法。那些AXD,JLink都只是仿真,loady 0x5000800 go 0x50008000是把程序烧到RAM里,并没有真正的把程序烧录到Nand Flash当中。
于是,小子就开始研究一下OK6410如何烧录裸板程序。本次的教程,烧录的程序绝对不是仿真,也不是烧到RAM里面。
准备工作,先把SD启动程序烧到SD卡上,详细方法见OK6410的Linux用户手册。编写好一个简单的裸板程序(不超过8K)。
1.首先,我们打开SecureCRT,用串口连接好OK6410开发板,开发板设置为SD卡启动(启动拨动开关为1-2-3-4-5-6-7-8)
0-0-0-1-1-1-1-1
2.SecureCRT点击文件->连接串口,然后给开发板上电,马上在键盘上按空格,这就就可以执行SD卡的U-Boot命令行

3.输入loady 0x50008000,然后点传输->发送Ymodem,把编译好的裸板程序上传。这样就可以把程序放到RAM里面去

输入命令后,等待文件的上传

文件上传成功
这时候可以通过执行go 0x50008000 在RAM里面执行程序,不过开发板重新上电后,程序就没有了。
4.先执行nand erase 0 100000 擦除Nand Flash中的0到1M的地址内存,如果之前在Nand Flash里烧录过U-boot的话,那么U-boot就会被擦除。以后等你再玩Linux了,你可以把U-boot烧录回去
5.执行nand write 50008000 0 100000 即可从RAM中把刚才上传的文件烧录到Nand Flash 0到1M的地址上

烧录成功的信息
6.这时候,你需要断电,并且把启动开关设置为Nand Flash启动
(1-2-3-4-5-6-7-8)
(0-0-0-1-1-0-0-1)
这时候重新上电就可以玩裸板程序了。
方法有点笨,但是如果你没有买JLink,你可以尝试一下用这种方法烧录。如果您有更好的方法,可以给我留言。