在基于
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
程序在目标板中运行起来了。