在基于ARM的嵌入式系统开发中,常常用到交叉编译的GCC工具链有两种:
arm-linux-*和 arm-elf-*,两者区别主要在于使用不同的C库文件。arm-linux-*使用
GNU的Glibc,而arm-elf-*一般使用 uClibc/uC-libc或者使用REDHAT专门为嵌入式系统
的开发的C库newlib.Glibc。uClibc/uC-libc以及 newlib都是C语言库文件,只是所应
用的领域不同而已,Glibc是针对PC开发的,uClibc/uC-libc是与Glibc API兼容的小型
化C语言库,实现了Glibc部分功能。
下面我简单讲一下,我用到的几个jlink命令:
r -- reset, 复位命令
h -- halt, 停机,也有暂停的功能
loadbin <filename> <address> -- 下载filename文件到地址上address
setpc <address> -- 设置PC的值
在执行J-Link命令之前,先执行:
> speed 12000
提高通信速度,不然后面下载程序会很慢。
(1)下载init.bin文件,在J-Link Commander执行以下命令:
> r
> h
> loadbin e:\init.bin 0x40000000
> setpc 0x40000000
> g
执行完上述命令之后,我们的目标板就从0x40000000地址上开始执行。如果看到Mini2440板子上的4个LED开始闪烁,那就说明init.bin程序在目标板中运行起来了。