需要安装openocd,如果已经安装了系统默认的openocd(默认是0.5.0,版本太低),需要先卸载掉。 在安装前需要安装必需的一些库文件: sudo apt-get install libusb-1.0-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:124: 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
/home/host/soft/mini2440/u-boot/u-boot.bin是我的u-boot.bin文件路径,可以将其修改成自己的文件路径即可。 nand device $_CHIPNAME.nand s3c2440 $_TARGETNAME 重新启动openocd: sudo openocd -f interface/jlink.cfg -f board/mini2440.cfg
然后在另外一个控制台烧写uboot: telnet localhost 4444 halt init_2440 刚开始遇到好几次烧写不成功,后来执行了一次nand erase 0将整个nand flash擦除后才能成功执行烧写, 这个问题有可能是nand flash坏块多引起的(我的mini2440是二手开发板)。 |
|