X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
嵌入式系统
[讨论] openOCD+jlink调试uboot
Wince.Android
2013-12-24 11:44
楼主
在搭建调试uboot的环境中,参考了网上很多资料,调试uboot比较廉价的方案。大概有
*硬件使用jlink 在linux虚拟机下编译,调试使用gdb 通过TCP 同Windows下的jlink gdbserver
*硬件使用openJTAG 在Linux下 使用openOCD和gdb
*硬件使用jlink 在linux下 使用openOCD和gdb。
本人也是使用了这种方法,因为手里只有jlink。其实这个方案和使用openJTAG的方案差不多一样。在搭建时参考了
《Eclipse_OpenOCD_OpenJTAG嵌入式开发教程》。这是介绍的比较好的一份资料。
本人用的环境如下:
操作系统:fedora 9 (vmware中运行)
软件: openOCD
insight
硬件: jlink V8
开发板是mini2440
前提条件:安装好了交叉编译环境。我这里是arm-linux-gcc,当然环境变量配好。
安装openOCD
下载openOCD源码包 解压后 进入目录,在安装前先看下README是个好习惯,看到需先安装libftdi和libusb.
先安装这两个
然后在openOCD源码包中 执行
.
/
bootstrap
/
/
这个会生成configure文件
.
/
configure
-
-
prefix
=
/
xx
/
-
-
enable
-
maintainer
-
mode
-
-
enable
-
jlink
/
/
-
-
prefix
=
/
xx
/
是你想安装到的目录
make
make install
然后配置下环境变量
安装insight
下载insigh安装包 insight只是gdb的一个图形界面前端,安装时会也会有交叉调试器。
.
/
configure
-
-
prefix
=
/
xx
/
-
-
target
=
arm
-
linux
-
gcc
/
/
target是你的交叉编译器,这将编译出交叉调试器
make
make install
然后配置下环境变量
安装完毕后配置openOCD,这个可以参考openOCD的手册。
主要就是写一个openocd.cfg 在执行openOCD时会使用,其搜索路径参考手册
其实在安装目录中的script目录中有许多已经写好的配置可以调用
主要配置有以下几个方面
Daemon (守护);interface(接口);target(目标);board(主板)
如果你是mini2440开发板 在script/board目录下有mini2440.cfg配置文件。可以直接引用。再引用interface中的
jlink.cfg。你的配置文件就两行引用差不多就可以了
此时我们将openocd.cfg文件写在uboot目录下
进入uboot目录(uboot已经编译好)。
开发板链接好上电
启动openOCD 直接输入
$:openocd
这个要在root用户下执行,脚本因为就在当前目录下所以不用指定
将出现如下信息
Info
:
J
-
Link
JTAG Interface ready
Info
:
clock speed 12000 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
这时你的openOCD已经启动成功
然后启动insight 之间在uboot目录下输入
$:arm-linux-insight
可看到insight打开了 然后打开console窗口
gdb的命令可以在此窗口输入。也可以写成脚本自动依次执行
file
/
xx
/
xx
/
u
-
boot
/
/
加载你的uboot
/
xx
/
xx
/
是你的路径
target remote localhost
:
xxxx
/
/
xxxx是你在opencfg中定义的gdb端口号。此命令使高蛋白链接到openOCD
monitor halt
/
/
停止目标板运行
monitor arm920t cp15 2 0
/
/
关闭MMU,I
/
D CACHE
monitor arm7_9 sw_bkpts enable
/
/
打开调试断点
monitor halt
load
/
/
将uboot写入目标板内存
break start_code
/
/
插入一个断点
continue
/
/
将运行到断点处
然后就可以单步等操作调试了。
http://blog.chinaunix.net/uid-11319766-id-3060018.html
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
点赞
回复评论 (2)
沙发
Wince.Android
其实S5pv210 这样的CPU,压根用不着什么jlink 了,因为大体OK,也有启动卡,刷机非常快,根本用不着这些东西!被工具烦扰的开发模式也是很低效率的。
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
点赞
2013-12-24 11:45
板凳
airqj
我还以为用来调试BBB呢
openOCD我折腾了还几天还是不能用来调试BBB
最后只好用了臃肿的CCS
点赞
2013-12-24 11:54
最新活动
有奖直播报名中!抢占工业4.1先机 文晔科技日等你来!
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
罗姆有奖直播 | 重点解析双极型晶体管的实用选型方法和使用方法
STM32N6终于要发布了,ST首款带有NPU的MCU到底怎么样,欢迎小伙们来STM32全球线上峰会寻找答案!
免费下载 | 安森美电动汽车充电白皮书,看碳化硅如何缓解“里程焦虑”!
是德科技有奖直播 | 应对未来高速算力芯片的设计与测试挑战
随便看看
新人 出来冒个泡
几年前的一个画板活动,刚看到就拿来练练手,望各位大佬吐槽
求助啊
9.5成新OK2440III套件(包括3.5寸触摸屏)+CMOS摄像头+JLINK
请单片机C51高手帮忙分析一下编译错误
【MSP430活动礼品】你是否缺少一款这样的商务休闲/电脑包/旅行包/双肩包?
LM3S811DDLLXXRR笔记之五:AD转换5110联合军演
关于单片机端口驱动能力的问题
了解一下电源电路中的电感滤波电路
并联有源电力滤波器交流侧滤波电感的优化设计
2006德国世界杯 赛程表
这次TI活动好给力
寻找《网络驱动程序设计指南》有图版本!
晒WEBENCH设计的过程 + 音频滤波器设计
TMS320F28335生成SPWM
PSD器件经验
【事件聚焦】揭秘蜱虫“咬人门”事件,彰显生命的脆弱!——竟然“无药可治”!?
圆点博士小四轴飞行器开源说明
STM32在IAR中单步调试,为什么每行程序要运行两次才到下一行,跪求高手指点
高速电压反馈运算放大器
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复