下面来学习一种不用j-link烧录裸机程序的方法,
文章出之于:http://blog.csdn.net/pocoyoshamoo/article/details/8515909
如果我们要跑裸板程序呢?那我们就不得不抛弃操作系统。我看了国嵌的视频,还有网上相关的博客,惊奇地发现,竟然没有OK6410的裸板程序烧录方法。那些AXD,JLink都只是仿真,loady 0x5000800 go 0x50008000是把程序烧到RAM里,并没有真正的把程序烧录到Nand Flash当中。
于是,Shamoo就开始研究一下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 V8烧录程序,首先要让JLink V8跑起一个DDR和Nandflash和UART的初始化程序,然后通过自己编写的命令烧录裸板程序到Nandflash中,这个比较麻烦,对于初学者来说,没有裸板开发基础比较难搞。