如何使用jlink+gdb在stm32上调试fans-rt

来源:互联网 发布:cad画网络拓扑结构图 编辑:程序博客网 时间:2024/06/06 00:33

【相关软件】

windows xp

MinGW

arm-none-eabi-gcc

arm-none-eabi-gdb

JLink_V490 驱动 


【操作步骤】

1.运行JLink.exe


2.运行JLinkGDBServer.exe 选择 USB/STM32F103C8(根据你的MCU型号选择)/JTAG/1000KHZ


3.运行 MinGW shell,并在 shell 中执行 arm-none-eabi-gdb

  在 gdb 中执行以下命令:

  file stm32-mini.elf                               打开文件

  target remote localhost:2331           连接到GDB SERVER

  load                                                  装入文件

  b CORE_Starting                              设置断点

  c                                                        开始执行代码到断点处



【注意事项】

1.JLINK 不能只运行GDB SERVER,会导致MCU初始化外部晶振卡死。

2.gcc 编译参数需要增加 -ggdb3 

3.ld 连接不要加参数 -s 【修正,之前有误】

【GDB常用调试命令】

bt              打印调用栈信息i r             打印寄存器信息c               (继续)执行代码到下一断点处si              单条指令执行ni              按指令执行到下一个断点b linenumber    在源文件某行设置断点,例如 b 5b function      在函数入口处设置断点,例如 b PendSV_Handlerb *address      在指定内存地址处设置断点,例如 b *0x08005a1cb               不带参数,表示在下一条指令设置断点,在调用某函数前使用该                命令可以使函数执行返回后立即中断i b             查看断点信息d id            删除断点(根据i b查看到的ID号删除),例如 d 3 删除3号断点display /5i $pc 查看从PC开始的5条指令x /5i $pc       查看从PC开始的5条指令x /4xw address  查看内存信息,以16进制32位打印 address 处的内存信息                4表示打印次数,x表示16进制,w表示双字disassemble     查看汇编代码disassemble /m  查看汇编代码和源码disassemble /r  查看16进制机器码l               查看源代码l function      查看某函数源代码,例如 l CORE_Startingl linenumber    从当前文件某行开始查看源代码,例如 l 1231


0 0
原创粉丝点击