在Ubutu14.04下,如何用OpenJTAG+OPENOCD烧写程序

OPENOCD INSTALL

一:安装openocd:

cd /path/you/install/openocd

(1) 通过 git 获取openocd

git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd

(2)源码编译安装

sudo apt-get install autoconf

./bootstrap

(3) 驱动安装

sudo apt-get install libftdi-dev libftdi1 libtool git-core asciidoc

./configure --help

./configure  --enable-maintainer-mode --enable-usb_blaster_libftdi  --enable-openjtag_ftdi

make

make install

输出版本信息

openocd -v

Open On-Chip Debugger 0.9.0-dev-00251-g1fa4c72 (2015-01-30-19:44)

Licensed under GNU GPL v2

For bug reports, read

http://openocd.sourceforge.net/doc/doxygen/bugs.html

二:配置openocd.cfg

参考百问网的配置修改

#
# 100ASK OpenJTAG
#
# http://www.100ask.net
#
# modified by xnus 2015
#
interface ft2232
ft2232_device_desc "USB<=>JTAG&RS232"
ft2232_layout jtagkey
ft2232_vid_pid 0x1457 0x5118

# Target configuration for the Samsung 2440 system on chip
# Tested on a S3C2440 Evaluation board by keesj
# Processor       : ARM920Tid(wb) rev 0 (v4l)
# Info:   JTAG tap: s3c2440.cpu tap/device found: 0x0032409d (Manufacturer: 0x04e, Part: 0x0324, Version: 0x0)

if { [info exists CHIPNAME] } {
   set  _CHIPNAME $CHIPNAME
} else {
   set  _CHIPNAME s3c2440
}

if { [info exists ENDIAN] } {
   set  _ENDIAN $ENDIAN
} else {
  # this defaults to a bigendian
   set  _ENDIAN little
}

if { [info exists CPUTAPID ] } {
   set _CPUTAPID $CPUTAPID
} else {
  # force an error till we get a good number
   set _CPUTAPID 0x0032409d
}

#jtag scan chain
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0x0f -expected-id $_CPUTAPID

#
#jtag_rclk 3000
adapter_khz 1234

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm920t -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm920t

$_TARGETNAME configure -work-area-phys 0x200000 -work-area-size 0x4000 -work-area-backup 1
arm7_9 fast_memory_access enable

#reset configuration
reset_config trst_and_srst

#Flash CFG<openocd.pdf P[74~]
#flash bank name driver base size chip_width bus_width target [driver_options]
#usage: flash bank <name> <driver> <base> <size> <chip_width> <bus_width> <target>
#flash bank bank_id driver_name base_address size_bytes chip_width_bytes bus_width_bytes target [driver_options ...]
flash bank 0 cfi 0x0 0x200000 2 2 $_TARGETNAME

#NAND CFG <openocd.pdf P[88~92]>
#nand device name driver target [ configparams... ]
nand device 0 s3c2440 $_TARGETNAME

大家可以到这个网站下载openocd.pdf以便参考。

三:启动OpenOCD

将开发板连接的OpenJTAG的USB端口接入PC,终端输入openocd

[email protected]:~$openocd

Open On-Chip Debugger 0.8.0 (2015-01-30-21:54)

Licensed under GNU GPL v2

For bug reports, read

http://openocd.sourceforge.net/doc/doxygen/bugs.html

Info : only one transport option; autoselect ‘jtag‘

adapter speed: 1234 kHz

fast memory access is enabled

trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst

Warn : Using DEPRECATED interface driver ‘ft2232‘

Info : Consider using the ‘ftdi‘ interface driver, with configuration files in interface/ftdi/...

Info : clock speed 1200 kHz

Info : JTAG tap: s3c2440.cpu tap/device found: 0x0032409d (mfg: 0x04e, part: 0x0324, ver: 0x0)

Info : Embedded ICE version 2

Info : s3c2440.cpu: hardware has 2 breakpoint/watchpoint units

四:启动telnet

[email protected]:~$ telnet localhost 4444

Trying 127.0.0.1...

Connected to localhost.

Escape character is ‘^]‘.

Open On-Chip Debugger

> halt

target state: halted

target halted in ARM state due to debug-request, current mode: Supervisor

cpsr: 0x900000d3 pc: 0x004f1c8c

MMU: disabled, D-Cache: disabled, I-Cache: disabled

>nand probe 0

NAND flash device ‘NAND 256MiB 3.3V 8-bit (Samsung)‘ found

>load_image /home/xnus/Downloads/leds.bin 0x0

136 bytes written at address 0x00000000

downloaded 136 bytes in 0.275141s (0.483 KiB/s)

> resume 0x0

可以看到灯开始闪烁了(注意,应设置为NAND启动)

GOODLUCK

时间: 2024-12-17 14:46:15

在Ubutu14.04下,如何用OpenJTAG+OPENOCD烧写程序的相关文章

debian下使用ft232为stm32f429i-discovery烧写uboot和uImage

操作系统:debian 软件: openocd  minicom 硬件:  MiniUSB线.stm32f429i-discovery, WaveShare FT232串口模块(可以在淘宝上买到) 关于openocd的配置可以参看我的博文: <debian下烧写stm32f429I discovery裸机程序> u-boot源码下载: git clone https://github.com/EmcraftSystems/u-boot.git linux源码下载: git clone http

ADS 下 flash 烧写程序原理及结构

本原理:在 windows 环境下借助 ADS 仿真器将在 SDRAM 中的一段存储区域中的数据写到 Nand flash 存 储空间中.烧写程序在纵向上分三层完成: 第一层: 主烧写函数(完成将在 SDRAM 中的一段存储区域中的数据写到 Nand flash 存储空间中): 第二层: 为第一层主烧写函数提供支持的对 Nand flash 进行操作的页读.写,块擦除等函数: 第三层:为第二层提供具体 Nand flash 控制器中对特殊功能寄存器进行操作的核心函数,该层也是真正的 将数据能够在

Ubuntu13.04使用Jlink和ST-Link V2烧写STM32F1x和STM32F4x

最近做研究openpilot和crazyflie2.0,都需要在Linux进行代码的编写和烧录,所以研究了下Linux下怎样使用Jlink,还有开源的支持多个仿真器的openocd,但是困难重重,总是出现错误,心灰意冷,之后沉下心来研究了下,记录下心得. 首先,openocd是个通用的烧录平台,支持多家的仿真器,比如Jlink,Ulink,ST-LINK等等,基本市面上的都支持,另外JLink本身也有DBG可以在线调试,所以刚开始我尝试用openocd, 环境如下: 1,Ubuntu1304 2

ubuntu14.04下嵌入式工作环境搭建

昨天作死一不小心把小红帽home目录下的东西删光了.跟着国嵌的视频学了这么久,对linux也算是有些熟悉,就决定自己在ubuntu下搭建一个工作环境.整个过程还算比较顺利,不过也有些小波折.下面把这次环境搭建记录下来,方便自己以后查阅,如果能够帮助到大家那自然是最好. ———————————————————————————————————————————————————————————————————— 注意:还处在裸机阶段学习或者还想使用usb下载烧写程序的朋友们就不要看了!!! 原因:由于国

imx6开发板使用MfgTool2烧写ubuntu 12.04 LTS linux镜像

imx6开发板使用MfgTool2烧写 ubuntu 12.04 LTS linux镜像 首先将烧写工具拷贝到 windows 下解压,烧写工具光盘路径如下所示: 1 i.MX6 用户光盘 /i.MX6 用户光盘( A ) \linux\tool\Mfgtools-Rel-13.01.00_ER_MX6Q_UPDATER.zip 把micro usb数据线连接到开发板的otg接口,数据线的另一端连接到pc的usb接口. 开发板otg接口与usb数据线连接图如下: 2 . 打开工具MfgTool2

在Ubuntu14.04下使用ap-hotspot建立无线热点(AP mode)

从https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/+packages 下载最新版ap-hotspot并安装,我使用的是ap-hotspot - 0.3.1-1~webupd8~0.终端下执行sudo ap-hotspot configure 这一步会检查ubuntu的网络和WIFI接口,确定后会提示你配置热点,输入ssid和密码之类的就行了 接着执行sudo ap-hotspot start即可. ×××××××××××××

Ubuntu14.04下配置PHP7.0+Apache2+Mysql5.7

Apache 步骤一:安装apache [email protected]:~$ sudo apt install apache2 安装好后,在浏览器上输入localhost(服务器端,请输入你的IP地址),回车就会看到: PHP7.0 步骤二: Ubuntu14.04下的默认源是PHP5.0,所以也需要添加外部源 Personal Package Archive(PPA) 是一个apt仓库,允许第三方开发者发布用于ubuntu的外部资源 Ond?ej Sury 提供了用于PPA的PHP7.0

Linux入门(13)——Ubuntu16.04下将图片和pdf互转

Ubuntu16.04下将图片和pdf互转 将图片转为PDF: convert 图片 PDF convert pic.jpg pic.pdf 将PDF转为图片: convert PDF 图片 convert pic.pdf pic.jpg 但这样转出来的图片不怎么清晰,可以进一步设置参数. convert -verbose -resize 1000 -interlace none -density 300 -quality 300 main.pdf main.jpg 或者: convert -d

Ubuntu 14.04下如何更换更新源(更新为163源)

Ubuntu 14.04下如何更换更新源(更新为163源) 浏览:8103 | 更新:2014-12-26 18:39 | 标签:ubuntu 1 2 3 4 5 分步阅读 Ubuntu下自带的源更新起来真的好难等,于是小编果断将其换之,经过各种尝试,最后还是选择了163的.下面就由小编来给大家分享一下是如何更新的吧. 工具/原料 装有Ubuntu14.04系统一台. 网络处于连通状态 方法/步骤 1 首先打开终端,用root登陆. 2 切换到/etc/apt/目录下,执行:cd /apt/ge