废话不都说,直接进去正题。本人的开发环境如下:
@system:Ubuntu12.04
@串口工具:minicom
@交叉工具链:arm-linux-gcc4.3.2
@开发板:Forlinx OK6410
开发裸板程序时,没有选择Jlink,主要原因就是它不好用,而且还需要另需购买。本人开发依靠的是烧写有uboot的开发板,利用uboot的loady命令将程序直接拷贝到ram中,然后直接执行。虽然,不是完全意义上的裸板开发,但是对于想直接测试开发板硬件的需求来说,这已经足够了。下面,就介绍一下,如何基于上述方法完成裸板程序的开发工作。
1. 烧写过程
本文依靠U-boot的loady命令将二进制程序直接烧写到指定的ram地址处,然后通过U-boot的go命令执行烧写后的程序。U-boot的烧写可以通过Forlinx提供的一键烧写教程完成。
注:loady主要是依靠ymodem协议将文件传输到指定的位置。u-boot下还有以下几种方式传输文件:
loadb +(大于内存的起始地址,内存起始地址一般为0x30000000)loadb 0x50008000 协议选择kermitloadx + 内存地址loadx 0x50008000 协议选择xmodemloady +内存地址loady 0x50008000 协议选择 ymodem