您的位置 首页 产品

openocd 命令行烧写ARM裸机程序 problems and solutions

以前是用RVDS的IDE来烧写调试ARM程序的,不过RVDS虽然是集成化的调试工具调试起来方便,但是有的时候只知其一,不知其二,只知道按部就班…

曾经是用RVDS 的IDE来烧写调试ARM程序的,不过RVDS尽管是集成化的调试东西调试起来便利,可是有的时分只知其一,不知其二,只知道墨守成规的来点击按钮,疏忽了一些实质性的东西。并且RVDS还有一个欠好的当地是它只能在windows平台下运转,不支持Linux OS。为了便于学习Linux,运用Openocd会是个不错的挑选,能够学习gnu 汇编,Makefile编写,东西链指令行运用。 假如这些指令搞了解了,你还能够运用Qt 来做个自己的图形化界面烧写调试东西。(不过这仅仅个壳子罢了,精华在于openocd ,所以假如有时间你还能够剖析一下Openocd的源码,由于它是开源的,开源的东西便是好,它能够满意你的好奇心,尽管有些时分不是咱们在玩代码而是代码在玩咱们,(*^__^*) )。好了,废话不多说了。现列出我碰到的一些问题以及其解决办法,与诸位同享。

目录:
1.条件条件
2.履行的指令
3.履行指令时会遇到的问题
具体: details
1.条件条件
条件是你装置好了openocd . 并且Openocd的配置文件也准备好。运转起。
2.指令搞起 :
2.1 运转openocd.cfg配置文件.   
首要我修正了samsung_s3c6410.cfg文件
在samsung_s3c6410.cfg中增加了如下句子
set _NANDNAME $_CHIPNAME.nand
nand device $_NANDNAMEs3c6410$_TARGETNAME

#openocd -f jlink.cfg -f samsung_s3c6410.cfg

运转如下: 
认为openocd不支持s3c6410的nand擦写功用。所以看了/board/mini6410.cfg中有段内容如下: 
targets
nand device $_CHIPNAME.flashs3c6400$_CHIPNAME.cpu
分明是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就亮起来了 

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/275459.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部