码迷,mamicode.com
首页 > 其他好文 > 详细

openocd+jlink为mini2440调试u-boot

时间:2014-06-06 23:57:45      阅读:578      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

需要安装openocd,如果已经安装了系统默认的openocd(默认是0.5.0,版本太低),需要先卸载掉。

在安装前需要安装必需的一些库文件:

bubuko.com,布布扣
 sudo apt-get install libusb-1.0-0-dev libusb-1.0-0 automake autconf libtool pkg-config
bubuko.com,布布扣

然后执行安装:

bubuko.com,布布扣
    git clone git://git.code.sf.net/p/openocd/code openocd
    cd openocd
    ./bootstrap
    ./configure --prefix=/usr/local         --enable-stlink --enable-jlink
    echo -e "all:\ninstall:" > doc/Makefile
    make
    sudo make install
bubuko.com,布布扣

默认情况下openocd会安装到/usr/local/bin文件夹下,有可能会无法执行openocd命令,如果无法执行,可以将/usr/local/bin加入到PATH变量即可。

 

将mini2440和jlink以及pc连接起来,然后执行下面的命令:

bubuko.com,布布扣
sudo openocd -f interface/jlink.cfg  -f board/mini2440.cfg
bubuko.com,布布扣

但是会提示下面的错误:

bubuko.com,布布扣
Runtime Error: /usr/local/share/openocd/scripts/board/mini2440.cfg:124: jtag interface: command requires more arguments
bubuko.com,布布扣

将/usr/local/share/openocd/scripts/board/mini2440.cfg的124行注释掉(此行最前面添加一个‘#’符号,类似于bash注释)

然后在执行openocd:

bubuko.com,布布扣
sudo openocd -f interface/jlink.cfg  -f board/mini2440.cfg
bubuko.com,布布扣

 

另开一个控制台,查看串口信息:

bubuko.com,布布扣
sudo minicom
bubuko.com,布布扣

还需要打开一个控制台,在该控制台下执行下面的命令:

bubuko.com,布布扣
telnet localhost 4444
halt
init_2440
load_image /home/host/soft/mini2440/u-boot/u-boot.bin 0x33f80000 bin

resume 0x33f80000
bubuko.com,布布扣
/home/host/soft/mini2440/u-boot/u-boot.bin是我的u-boot.bin文件路径,可以将其修改成自己的文件路径即可。

这几条命令是从/usr/local/share/openocd/scripts/board/mini2440.cfg中几个预定义的命令代码中提取出来的,可以执行help_2440显示当前所支持的自定义命令列表。

可惜的是,openocd没有检测到mini2440上的nand flash,所以无法烧写,后来经过调查,voltcraft_dso-3062c.cfg中采用了相同的nand flash。
貌似是openocd代码修改了,但是mini2440.cfg中配置却没有改掉,将/usr/local/share/openocd/scripts/board/mini2440.cfg文件中的nand device s3c2440 0
这一行修改成voltcraft_dso-3062c.cfg中的对应行:
bubuko.com,布布扣
   nand device $_CHIPNAME.nand s3c2440 $_TARGETNAME
bubuko.com,布布扣

重新启动openocd:

bubuko.com,布布扣
sudo openocd -f interface/jlink.cfg  -f board/mini2440.cfg
bubuko.com,布布扣

然后在另外一个控制台烧写uboot:

bubuko.com,布布扣
telnet localhost 4444
halt
init_2440
nand erase 0 0x0 0x100000
nand write 0 /home/host/soft/mini2440/u-boot/u-boot.bin 0 reset
bubuko.com,布布扣

刚开始遇到好几次烧写不成功,后来执行了一次nand erase 0将整个nand flash擦除后才能成功执行烧写,

这个问题有可能是nand flash坏块多引起的(我的mini2440是二手开发板)。

openocd+jlink为mini2440调试u-boot,布布扣,bubuko.com

openocd+jlink为mini2440调试u-boot

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/qiaoqiao2003/p/3765380.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!