openocd 命令行烧写ARM裸机程序
目录:
1.前提条件
2.执行的命令
3.执行命令时会遇到的问题
详细: details
1.前提条件
前提是你安装好了openocd .
2.命令搞起 :
2.1 运行openocd.cfg配置文件.
首先我修改了samsung_s3c6410.cfg文件
在samsung_s3c6410.cfg中添加了如下语句
set _NANDNAME $_CHIPNAME.nand
nand device $_NANDNAME
#openocd -f jlink.cfg -f samsung_s3c6410.cfg
运行如下:
以为openocd不支持s3c6410的nand擦写功能。于是看了/board/mini6410.cfg中有段内容如下:
targets
nand device $_CHIPNAME.flash
明明是6410,为什么要写成6400呢 ,不管了,于是试着修改samsung_s3c6410.cfg文件为
set _NANDNAME $_CHIPNAME.nand
nand device $_NANDNAME s3c6400 $_TARGETNAME
结果就ok 了
2.2 上面一步就完成jlink识别ARM的工作了。而且建立了telnet 服务器端口号 。现在我们要通过telnet与之建立通信,好能来使用openocd
#telnet localhost 4444(telnet端口号设置为4444)
> halt
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x000001d3 pc: 0x00000030
> nand probe 0
NAND flash device K9GAG08 2GB NAND 3.3V x8 MLC 2b/cell (Samsung) found
> nand erase 0 0 0x100000(注:这个值应该是板子nand flash块的整数倍,0x100000为1M空间,足矣)
s3c2440_read_block_data: reading data: 0x8b94260, 0xbfe53d7a, 6
erased blocks 0 to 1 on NAND flash device #0 K9GAG08 2GB NAND 3.3V x8 MLC 2b/cell
> nand write 0 led.bin 0
couldnt open led.bin
failed to open led.bin for read access
in procedure nand
solution: 无法读取led.bin,那我们就改为绝对路径来试试
> nand write 0 /home/melchior/arm-work/1th_led/led.bin 0
> reset
JTAG tap: s3c6410.etb tap/device found: 0x2b900f0f (mfg: 0x787, part: 0xb900, ver: 0x2)
JTAG tap: s3c6410.cpu tap/device found: 0x07b76f0f (mfg: 0x787, part: 0x7b76, ver: 0x0)
found ARM1176
这样就ok了,ARM板子上的led就亮起来了 。
openocd命令行ARM裸机程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)