圣龙扬特-AVR电子

标题: J-link ARM-OB for linux 指南 [打印本页]

作者: alech    时间: 2013-3-6 01:01
标题: J-link ARM-OB for linux 指南
为毛会有这个指南? 因为这个 ARM-OB (一种迷你版的jlink) 几乎把我折腾死, 现在写出来警示后人, 免得 linux 下的喷友走弯路。

首先说, 问题:
Linux 下一般用 jlink 或者st-link 什么的各种下载仿真器都几乎是用 OpenOCD 这个开源软件结合 GDB 调试, 而买回来的 ARM-OB J-LINK 固件一般是 2010 年的, 老得不能再老, 导致 openocd 不支持(我也不确定, 总之就是不行), 下载不了, 也自然不能调试了

解决办法:
1. 更新固件
去 jlink 官方网站下载 for linux 工具包, 里面带了一个 JLinkExe 的可执行文件 (一看这个古怪的 Exe 后缀就想吐槽), README 里面写着 for 32bit system only, 不用怕,别听他吓唬你, 如果你是 64bit 系统, 装 ia32 兼容库, 一般系统都有, 并且去安装 readline5 这个 for 32bit 的兼容库, 难后进入你解压的那个目录运行
  1. $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
  2. $ chmod +x StartJLinkExe.sh
  3. $ ./StartJLinkExe.sh
复制代码
他会自动更新你的固件到 2012 版本

2. 启动他提供的 GDB remote server, 因为 openocd 不能使了, 你只能用他的 gdb server
  1. $ ./StartJLinkGDBServer
复制代码
gdb server 会在 2331 监听, 并且已经连接上你的设备

3. 开始下载/调试吧!

启动 GDB
  1. $ arm-none-eabi-gdb -es your.elf
复制代码
此时已经进入 GDB 控制台, 以下连接上 GDB server 下载和调试
  1. > target remote localhost:2331
  2. > monitor speed 1000
  3. > monitor flash device = STM32F103C8
  4. > load yourapp.elf
  5. > monitor reg r13 = (0x00000000)
  6. > monitor reg pc = (0x00000004)
  7. > b main
  8. > c
复制代码

作者: xiaomi    时间: 2020-7-15 20:30
请大声告诉我这是几楼





欢迎光临 圣龙扬特-AVR电子 (http://avr.cnta.net/) Powered by Discuz! X2.5