6626 irq状态dump gdb脚本

wangbing · 36次点击 · 4天前

分享一个6626 dump irq状态的gdb脚本

使用方法:

Step 1: 打开Jlink GDB Server (选swd端口,以及6626设备, 打开端口号默认为2331)

Step 2: 打开命令行cmd

Step 3: 输入arm-none-eabi-gdb xxx.elf   // (或者axf) elf或者axf就是编译输出的带调试信息的文件, 如果没有安装arm-none-eabi工具链,请先安装.

Step 4: (gdb) target remote 127.0.0.1:2331

Step 5: (gdb)source xxx_path/irq.gdb   xxx_path根据自己的路径调整

效果如下:

(gdb) source ../../../tools/gdb/irq.gdb 
VTOR reg = 0x00404000, vector table base = 0x00404000
Num   En    Pend   Prio    Act    Type
00    1     1      02      0      BT_IRQn
01    0     0      00      0      BT_WAKEUP_IRQn
02    1     1      05      0      DMA_IRQn
03    0     0      00      0      PIN_WAKEUP_IRQn
04    0     0      00      0      TIM_IRQn
05    0     0      00      0      OM24G_RF_IRQn
06    0     0      00      0      LE_TIM_IRQn
07    1     1      04      0      PMU_TIMER_IRQn
08    0     0      00      0      WDT_IRQn
09    1     0      04      0      UART1_IRQn
10    0     0      00      0      EFUSE_IRQn
11    1     1      05      0      GPIO_IRQn
12    0     0      00      0      ADC_IRQn
13    0     0      00      0      I2C0_IRQn
14    0     0      00      0      SF_IRQn
15    0     0      00      0      SOFT0_IRQn
16    0     0      00      0      SOFT1_IRQn
17    0     0      00      0      SOFT2_IRQn
18    0     0      00      0      SOFT3_IRQn
19    0     0      00      0      SOFT4_IRQn
20    0     0      00      0      SOFT5_IRQn
21    0     0      00      0      SOFT6_IRQn
22    0     0      00      0      SOFT7_IRQn
23    0     0      00      0      VTRACK_IRQn
24    0     0      00      0      CRY32M_RDY_IRQn
25    1     0      03      0      UART0_IRQn
26    0     0      04      0      SPI0_IRQn
27    0     0      00      0      CC_INTR_IRQn
28    0     0      00      0      TIM0_IRQn
29    0     0      00      0      TIM1_IRQn
30    0     0      00      0      TIM2_IRQn
31    0     1      04      0      SPI1_IRQn
32    0     0      00      0      RTC_1HZ_IRQn
33    0     0      00      0      RTC_AF_IRQn
34    0     0      00      0      LP_TIMER_IRQn
35    0     0      00      0      EXTERNAL_IRQn_Num
36    0     0      00      0      36
37    0     0      00      0      37
38    0     0      00      0      38
39    0     0      00      0      39
40    0     0      00      0      40
41    0     0      00      0      41
42    0     0      00      0      42
43    0     0      00      0      43
44    0     0      00      0      44
45    0     0      00      0      45
46    0     0      00      0      46
47    0     0      00      0      47
48    0     0      00      0      48
49    0     0      00      0      49
50    0     0      00      0      50
51    0     0      00      0      51
52    0     0      00      0      52
53    0     0      00      0      53
54    0     0      00      0      54
55    0     0      00      0      55
56    0     0      00      0      56
57    0     0      00      0      57
58    0     0      00      0      58
59    0     0      00      0      59
60    0     0      00      0      60
61    0     0      00      0      61
62    0     0      00      0      62
63    0     0      00      0      63
PRIMASK reg = 0, All exceptions except NMI and HardFault are ENABLED.
FAULTMASK reg = 0, All exception are ENABLED.
BASEPRI reg = 64, All exceptions with priority >= 04 would DISABLED.

展示出来的都是IRQ number 大于等于0开始的中断

Num一栏表示IRQ Num

En表示是否使能

Pend表示执行该脚本时, CPU停下来的状态 是否被处于Pend待执行状态

Prio表示该中断优先级,数值越大越低,与RTE_6626.h文件中的 XXX_IRQ_PRIROTY宏一致


如何使用gdb请参照:

https://bbs.onmicro.com.cn/BLE/546.html

gdb_irq_dump_script-202503273466.zip
被收藏 0  ∙  0 赞  
加入收藏
点赞
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站