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

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

 sudo apt-get install libusb-1.0--dev libusb-1.0-0 automake autconf libtool pkg-config

然后执行安装:

    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

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

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

sudo openocd -f interface/jlink.cfg  -f board/mini2440.cfg

但是会提示下面的错误:

Runtime Error: /usr/local/share/openocd/scripts/board/mini2440.cfg:: jtag interface: command requires more arguments

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

然后在执行openocd:

sudo openocd -f interface/jlink.cfg  -f board/mini2440.cfg

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

sudo minicom

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

telnet localhost 4444
halt
init_2440
load_image /home/host/soft/mini2440/u-boot/u-boot.bin 0x33f80000 bin
resume 0x33f80000
/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中的对应行:
   nand device $_CHIPNAME.nand s3c2440 $_TARGETNAME

重新启动openocd:

sudo openocd -f interface/jlink.cfg  -f board/mini2440.cfg

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

telnet localhost
halt
init_2440
nand erase 0 0x0 0x100000
nand write 0 /home/host/soft/mini2440/u-boot/u-boot.bin 0
reset

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

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

openocd+jlink为mini2440调试u-boot的更多相关文章

  1. 【转载】s3c2440裸机开发调试环境(MDK4.6,Jlink v8,mini2440)

    用于arm裸机程序开发的IDE基本有 以下3个:MDK,IAR,还有ADS.具体它们的具体情况在这里我就不多说了,百度一下就明白了.由于之前开发c51,stm32时候都使用了MDK开发环境,而且MDK ...

  2. ubuntu下使用openocd+jlink进行STM32开发调试

    安装openocd就不用多说了,使用 apt-get install openocd 这个命令就可以做到. 对于使用stm32w系列的MCU,需要下载新的openocd-0.7及以上版本才能支持.0. ...

  3. 用jlink在mini2440上烧写uboot

    首先,附上我安装jlink驱动: http://download.csdn.net/detail/zzmno1/3776716#comment 以及我使用的uboot.bin文件下载地址: http: ...

  4. j-link或者swd调试

    两种 一.JTAG调试(5针), 二.SWD调试(2针), 在JTAG/SWD模式设置库函数 (在文件stm32f10x_gpio.c中): void GPIO_PinRemapConfig(uint ...

  5. Eclipse使用Debug模式调试Spring Boot项目时跳转到exitCurrentThread的问题

    Spring Boot项目使用了spring-boot-devtools工具且在Eclipse中Debug调试会自动跳转到这个方法: public static void exitCurrentThr ...

  6. idea在docker环境,调试spring boot程序

    允许docker被远程访问 见:https://www.cnblogs.com/wintersoft/p/10921396.html 教程见:https://spring.io/guides/gs/s ...

  7. 记录ok6410 jlink 命令行调试uboot

    1\启动ok6410 进入uboot命令行 2\启动JLinkGDBServer -device ARM11 3\arm-none-eabi-gdb u-boot 初始化脚本 # Connect to ...

  8. 记录tiny6410 jlink 命令行调试linux-2.6.38内核

    1\首先启动nandflash uboot->linux内核->文件系统,进入文件系统命令行 2\启动JLinkGDBServer -device ARM11 3\启动arm-none-e ...

  9. nuc970连接jlink进行单步调试的设置

    在 USB mode 下, 先跟 NuWriter 接上, 然后用以下的设定. 按 Keil 的 debug (不是 download to flash)就可以接上了.

随机推荐

  1. Linux下不重启永久修改hostname

    LINUX下不重启永久修改hostname 1.如果只是修改hostname可以通过如下命令 hostname newHostname   注意:这种修改方式只有当前有效,等服务器重启后hostnam ...

  2. Injection of resource dependencies failed解决办法总结

    今天调试项目代码,出现的引resource的报错,查原因查了好长时间才找到,现在这里总结一下,以免以后忘掉以及给大家参考. 报错大致内容入下: org.springframework.beans.fa ...

  3. 2016.6.20 在Eclipse配置Tomcat服务器的步骤

    好久没接触,又忘记了如何在eclipse中配置tomcat. (1)打开eclispe的preference (2)找到Server下方的Runtime Environment,单击右方的Add按钮. ...

  4. Mysql processlist命令

    Mysql processlist命令   mysqladmin -uroot -proot processlist mysql 查看当前连接数 命令: show processlist; 如果是ro ...

  5. vue-cil 和 webpack 中本地静态图片的路径问题解决方案

    1.小于8K的图片将直接以base64的形式内联在代码中,可以减少一次http请求. 2.大于8k的呢?则直接file-loader打包, 这里并没有写明file-loader.但是确实是需要安装,否 ...

  6. 搭建局域网maven仓库

    第一步: 下载Nexus http://nexus.sonatype.org/downloads/下载最新版本 解压缩到任意目录,我的直接解压到了E盘---------->E:\nexus-2. ...

  7. SQLServer理解copyonly备份操作

    Always在添加数据库的过程中如果同步首选项选择的是“完整”,那么就会在主副本上执行copyonly的完整备份和日志备份在辅助副本上执行还原操作,也正是这个操作让我对copyonly有了新的理解.接 ...

  8. Visual Studio 连接 SQL Server 的connectionStringz和

    近期C#和数据结构的课程设计多次用到了C#中连接SQL Server数据库的问题,当中涉及到数据库文件的附加和连接问题. 当中最烦人的就是  SqlConnection(String connStr) ...

  9. client交互技术简单介绍

    随着网络应用的不断丰富,client交互技术也如雨后春笋一般,遍地开花. 正是这些技术的支持,我们的互联网世界变得更加丰富多彩.一个浏览器上.不用说是简单的动画效果,就是一个Office应用也能顺畅的 ...

  10. 安卓ADT离线安装

    http://jingyan.baidu.com/article/3aed632e66858770108091bf.html