windows下如何通过jlink调试eCos
2011-10-25 09:47
211 查看
接续上一篇关于cygwin下用串口连接redboot调试eCos的方法,这里介绍一下如何用jlink gdb server调试ecos。
(本文原创,转载请注明出处http://blog.csdn.net/rickleaf)
1、首先我们需要稍微浏览一下jlink的gdb server的英文手册
通过上图,我们可以看到J-Link的GDB server是兼容标准的GDB Server的,它通过对gdb调试器的启动脚本.gdbinit的配置
实现JTAG对硬件的初始化。还是针对STM32平台,参考手册我们可以
2、简单的写如下脚本
这个脚本指明了cpu内部flash的类型,以及如何放置vector table等信息
另外Jlink的调试端口虚拟成本地网络的2331,也就是说如果脚本没有target remote localhost:2331
也可以直接在gdb的命令行执行。
3、接下来我们需要直接把eCos编译成rom方式启动的代码
再参考本博客的其他文章编译好ecos的测试程序
4、连接GDB SERVER
现在我们启动Jlink的gdb server,如果检测硬件没有问题可以看到等待gdb连接的提示
执行arm-eabi-gdb twothread, 可以看到正常连接
5、通过load,把程序下载到cpu上
6、接下来就可以按照标准的gdb 去调试了
比如设置cyg_user_start为断点, b cyg_user_start
打开串口软件看twothread的结果
(本文原创,转载请注明出处http://blog.csdn.net/rickleaf)
1、首先我们需要稍微浏览一下jlink的gdb server的英文手册
通过上图,我们可以看到J-Link的GDB server是兼容标准的GDB Server的,它通过对gdb调试器的启动脚本.gdbinit的配置
实现JTAG对硬件的初始化。还是针对STM32平台,参考手册我们可以
2、简单的写如下脚本
# connect to the J-Link gdb server target remote localhost:2331 # Enable flash download and flash breakpoints. # Flash download and flash breakpoints are features of # the J-Link software which require separate licenses # from SEGGER. # Select flash device monitor flash device = STM32F103ZG # Enable FlashDL and FlashBPs monitor flash download = 1 monitor flash breakpoints = 1 # Clear all pendig breakpoints monitor clrbp # Set gdb server to little endian monitor endian little # Set JTAG speed to 5 kHz monitor speed 5 # Reset the target monitor reset monitor sleep 100 # Set JTAG speed in khz monitor speed auto # Vector table placed in Flash monitor writeu32 0xE000ED08 = 0x00000000
这个脚本指明了cpu内部flash的类型,以及如何放置vector table等信息
另外Jlink的调试端口虚拟成本地网络的2331,也就是说如果脚本没有target remote localhost:2331
也可以直接在gdb的命令行执行。
3、接下来我们需要直接把eCos编译成rom方式启动的代码
再参考本博客的其他文章编译好ecos的测试程序
4、连接GDB SERVER
现在我们启动Jlink的gdb server,如果检测硬件没有问题可以看到等待gdb连接的提示
执行arm-eabi-gdb twothread, 可以看到正常连接
5、通过load,把程序下载到cpu上
6、接下来就可以按照标准的gdb 去调试了
比如设置cyg_user_start为断点, b cyg_user_start
打开串口软件看twothread的结果
相关文章推荐
- windows下如何通过gdb连接redboot调试eCos
- 如何在windows和linux下查看进程使用的端口或通过端口查看进程
- 如何在windows下处理需要通过unix的zcat命令合并的split文件?
- 如何通过网络连接进行ADB调试
- windows如何通过命令行查看memcache当前运行的状态
- 如何取得Windows驱动程序的数字签名? 如何通过WHQL认证?
- 利用Eclipse和Sourcery G++ Lite通过GDBserver在Windows下单步调试嵌入式Linux应用程序
- 探讨如何在Linux上通过windows的域控制上网( by quqi99 )
- 如何在macosx上通过源码安装bochs2.4.6并使用peter-bochs进行调试
- Windows API c实现查找、删除任意类型的文件_VERSION终结版(vc6.0调试通过)
- 了解如何通过Windows Live Writer发布博客园博文
- 如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)
- 如何诊断和调试Windows系统蓝屏 推荐
- windows下使用MinGW+msys编译ffmpeg,以及如何加入eclipse CDT调试
- 系统钩子应用--如何通过编程实现禁止Windows系统关机?
- Windows是如何通过Kerberos进行Authentication的【转】
- 如何取得Windows驱动程序的数字签名? 如何通过WHQL认证?
- 通过cmd命令安装、调试 卸载、启动和停止Windows Service(InstallUtil.exe)
- 如何通过组策略管理器修改Windows系统设置选项
- semihost/ITM机制浅析以及使用JLINK通过ITM调试stm32单片机