它set_singlegpio_alt功能中死了 By NAC1080

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

1. 基于 smackfwDevelopmenta21004_2.0_windows_x64.zip
2. IDE:VISUAL STUDIO 代码

3。在调试模式下,它在 set_singlegpio_alt 函数中死了

4。我试着修改_nvm_start函数,我发现:

void _nvm_start (void) {
//禁用
UART //configre_uart_irq ()、0、4、false、false、false);//如果使用此代码,它将失效 //set_uart_cont
rol (false、false、false);pwminit ();//gpioinit ();//
dandinit ();
而 (true) {
asm("WFI");
}
}
void p
wminit (void) void
gpioInit (void) {uint32_t i = 0;set_singlegpio_alt (1、0、0);//它将在这一行中失效 single_gpio_iocfg(真、假、真、假、0);for (i {
set_singlegpio_alt(0, 0, 3); //it will be dead in this line
single_gpio_iocfg( true, false, true, false, false, 0);
sys_tim_pwm_config(10000, 2000);
sys_tim_pwm_start();
}




= 0; i < 50; i++) {
set_singlegpio_out(i % 2, 1);
sys_tim_singleshot_32(0, WAIT_ABOUT_1MS, 14);
}
}
void dandInit (void) {
Mailbox_t *p;
init_dand();
p =get_mailbox_address();//it will be dead in this line
}

0 点赞
1 解答
Translation_Bot
Community Manager
Community Manager
Community Manager

你好,

由于NAC1080断点数量有限,因此 CPU 不会在您的情况下停止。 有关断点的更多详细信息,请参阅 NAC1080软件开发指南 中的第 4.3 节 Flash 断点和硬错误处理程序

您可以尝试使用Eclipse IDE和 本文 中提到的方法来调试NAC1080吗?

问候,
Ajeeth

在原帖中查看解决方案

0 点赞
7 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

你好,

-你>能解释一下你所说的"死亡"到底是什么意思吗?

-> 你可以试试使用 Eclipse IDE 吗?

-你>能否尝试使用断点而不是使用 step over/step into,因为上面提到的函数的定义只能作为库使用?

问候,
Ajeeth

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

... 目标已停止(DBGRQ,PC = 0x00010a78)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x00000000 从硬件
读取寄存器 'r1'(4 字节):0x14150100

从硬件读取寄存器 “r2”(4 字节):0x6c000000 从硬件
读取寄存器 “r3”(4 字节):0x14150100

从硬件读取寄存器 'r4'(4 字节):0x6c000000 从硬件
读取寄存器 'r5'(4 字节):0x00060200

从硬件读取寄存器 “r6”(4 字节):0x80808000 从硬件
读取寄存器 “r7”(4 字节):0x0b431360 从硬件读取寄存器 “r8”(4 字节):0xffffffff
f

从硬件读取寄存器 'r9'(4 字节):0xffffffff 从硬件
读取寄存器 'r10'(4 字节):0xfffffffff

从硬件读取寄存器 “r11”(4 字节):0xffffffff 从硬件
读取寄存器 “r12”(4 字节):0x00010000 从硬件
读取寄存器 “sp”(4 字节):0x981F0200

从硬件读取寄存器 “lr”(4 字节):0x01110000 从硬件
读取寄存器 “pc”(4 字节):0x780a0100 从硬件
读取寄存器 “xpsr”(4 字节):0x03000061

=breakpoint-modified,bkpt= {number="1",type="breakpoint",disp="keep",enabled="y",addr="0x00010a78",func="__nvm_cmsis_start",file="E:/core/NAC1080SDK/smack_rom/libs/CMSIS/inc/cmsis_gcc.h",fullname="E:\\core\\NAC1080SDK\\smack_rom\\libs\\CMSIS\\inc\\cmsis_gcc.h",line="218",thread-groups=["i1"],times="1",original-location="e:/core/NAC1080SDK/smack_rom/libs/CMSIS/inc/cmsis_gcc.h:218"}
移除断点 @ 地址 0x00010960,大小 = 2

正在移除断点 @ 地址 0x0001098C,大小 = 2

正在移除断点 @ 地址 0x00010a78,大小 = 2

读取 4 个字节 @ 地址 0x00010a78(数据 = 0xFF72F7F7FF)

正在读取 64 字节 @ 地址 0x00021F80

~"\ n "

~“断点 1, __nvm_cmsis_start () 在 E:/core/NAC1080SDK/smack_rom/libs/CMSIS/inc/cmsis_gcc.h:218\n”
断点 1,在 E:/core/NAC1080SDK/smack_rom/libs/CMSIS/inc/cmsis_gcc.h:218 处__nvm_cmsis_start ()
~“218\t _nvm_start();\n”
218 _nvm_start();
*stop,reason=“breakpoint-hit”,disp=“keep”,bkptno=“1”,frame={addr="0x00010a78",func="__nvm_cmsis_start",args=[],file="E:/core/NAC1080SDK/smack_rom/libs/CMSIS/inc/cmsis_gcc.h",fullname="E:\\core\\NAC1080SDK\\smack_rom\\libs\\CMSIS\\inc\\cmsis_gcc.h",line="218",arch="armv6s-m"},thread-id=“1”,stop-threads=“all”
线程请求
23 线程列表 ID
23^done,thread-ids={thread-id="1"},current-thread-id=“1”,threads-number=“1”
(分行)
堆栈跟踪请求
24 堆栈列表框架 --线程 1 0 20
24^done,stack=[frame={level="0",addr="0x00010a78",func="__nvm_cmsis_start",file="E:/core/NAC1080SDK/smack_rom/libs/CMSIS/inc/cmsis_gcc.h",fullname="E:\\core\\NAC1080SDK\\smack_rom\\libs\\CMSIS\\inc\\cmsis_gcc.h",line="218",arch="armv6s-m"},frame={level="1",addr="0x00010a78",func="NVM_Reset_Handler",file="E:/core/NAC1080SDK/smack_sl/src/startup_smack.c",fullname="E:\\core\\NAC1080SDK\\smack_sl\\src\\startup_smack.c",line="172",arch="armv6s-m"}]
(分行)
步骤请求
25 执行步骤 --线程 1
25^运行
*正在运行,线程 id=“all”
设置断点 @ 地址0x00010960,种类 = 2,类型 = THUMB,BPHandle = 0x0004
设置断点 @ 地址 0x0001098C,种类 = 2,类型 = 拇指,BPHandle = 0x0005

正在执行单步...

(gdb)
... 目标已停止(DBGRQ,PC = 0x00010960)

读取常用寄存器:从硬件读取寄存器 “r0”(4 字节):0x00000000 从硬件
读取寄存器 “r1”(4 字节):0x14150100 从硬件读取寄存器 “r2”(4 字节):0x6c000000 从硬件
读取寄存器 “r3”(4 字节):0x14150100 从硬件
读取寄存器 “r4”(4 字节):0x6c0000 000 从硬件读取寄存器 'r5'(4 字节):0x00060200 从硬件
读取寄存器 'r6'(4 字节):0x80808000 从硬件
读取寄存器 'r7'(4 字节):0x0b431360 从硬件
读取寄存器 'r8'(4 字节):0xfffffFFF 读取


从硬件注册 'r9'(4 字节):0xfffffffff 从硬件
读取寄存器 'r10'(4 字节):0xfffffffff

从硬件读取寄存器 “r11”(4 字节):0xfffffFFF 从硬件
读取寄存器 “r12”(4 字节):0x00010000 从硬件读取寄存器 “sp”(4 字节):0x981f0200 从硬件
读取寄存器 “lr”(4 字节):0x7d0a0100 从硬件读取寄存器 “pc”(4 字节):0x60090100
读取寄存器 “pc”(4 字节)从硬件:0x60090100
读取寄存器 “pc”(4 字节)来自硬件的 'xpsr'(4 字节):0x03000061

=breakpointmodified,bkpt= {number= " 2,type= b " reakpoin " t,disp= kee " p,enabled= y,addr= MULT " " " " " <>",times= " 1",original-location= " e: /core/nac1080sdk/smack_sl/src/smack_sl.c:137,locations={number="2.1",enabled="y",addr="0x00010960",func="_nvm_start",file="E:/core/NAC1080SDK/smack_sl/src/smack_sl.c",fullname="E:\\core\\NAC1080SDK\\smack_sl\\src\\smack_sl.c",line="137",thread-groups=["i1"]} {number="2.2",enabled="y",addr="0x0001098c",func="_nvm_start",file="E:/core/NAC1080SDK/smack_sl/src/smack_sl.c",fullname="E:\\core\\NAC1080SDK\\smack_sl\\src\\smack_sl.c",line="137",thread-groups=["i1"]}[,]}
移除断点 @ 地址 0x00010980,大小 = 2
移除断点 @ " 地址 0x0001098C,大小 = 2

读取 4 个字节 @ 地址 0x00010960(数据 = 0x2408b5F7)

~"\ n "

~ " Breakpoint 2,_nvm_start () 位于 E: /core/nac1080sdk/smack_sl/src/smack_sl.c:137\ n B "
reakpoint 2,_nvm_start () 位于 E: /core/nac1080sdk/src/
smack_sl.c: 137 ~ 137\ t for (uint8_t j = 0;j 4;j++)\ n 137 for (uint8_t j = 0; j 4; j++) *已停止,原因= " < "
<
"断点命中",disp= kee " p,bkptno= " 2,frame=",thread-id = 1,stopped-threads= al " l {addr="0x00010960",func="_nvm_start",args=[],file="E:/core/NAC1080SDK/smack_sl/src/smack_sl.c",fullname="E:\\core\\NAC1080SDK\\smack_sl\\src\\smack_sl.c",line="137",arch="armv6s-m"} " " ""
ThreadsRequest
26-thread-list-id
26^done,thread-ids=,current-thread-id id = 1,线程数 = 1 (gdb) stacktraceRequest 27-{thread-id="1"} stack-list-frames--thread " 1 0 20 读取 4 字节 @ 地址 0x00010a7 " c(数据 = 0x0091681C")"



正在读取 64 字节 @ 地址 0x00021F80

27^done,stack=[frame={level="0",addr="0x00010960",func="_nvm_start",file="E:/core/NAC1080SDK/smack_sl/src/smack_sl.c",fullname="E:\\core\\NAC1080SDK\\smack_sl\\src\\smack_sl.c",line="137",arch="armv6s-m"},frame={level="1",addr="0x00010a7c",func="__nvm_cmsis_start",file="E:/core/NAC1080SDK/smack_rom/libs/CMSIS/inc/cmsis_gcc.h",fullname="E:\\core\\NAC1080SDK\\smack_rom\\libs\\CMSIS\\inc\\cmsis_gcc.h",line="218",arch="armv6s-m"},frame={level="2",addr="0x00010a7c",func="NVM_Reset_Handler",file="E:/core/NAC1080SDK/smack_sl/src/startup_smack.c",fullname="E:\\core\\NAC1080SDK\\smack_sl\\src\\startup_smack.c",line="172",arch="armv6s-m"}]
(分行)
堆栈跟踪请求
28 堆栈列表帧 --线程 1 0 20
28^done,stack=[frame={level="0",addr="0x00010960",func="_nvm_start",file="E:/core/NAC1080SDK/smack_sl/src/smack_sl.c",fullname="E:\\core\\NAC1080SDK\\smack_sl\\src\\smack_sl.c",line="137",arch="armv6s-m"},frame={level="1",addr="0x00010a7c",func="__nvm_cmsis_start",file="E:/core/NAC1080SDK/smack_rom/libs/CMSIS/inc/cmsis_gcc.h",fullname="E:\\core\\NAC1080SDK\\smack_rom\\libs\\CMSIS\\inc\\cmsis_gcc.h",line="218",arch="armv6s-m"},frame={level="2",addr="0x00010a7c",func="NVM_Reset_Handler",file="E:/core/NAC1080SDK/smack_sl/src/startup_smack.c",fullname="E:\\core\\NAC1080SDK\\smack_sl\\src\\startup_smack.c",line="172",arch="armv6s-m"}]
(分行)
步骤请求
29 执行步骤 --线程 1
29^运行
*正在运行,线程 id=“all”
设置断点 @ 地址0x0001098C,种类 = 2,类型 = THUMB,BPHandle = 0x0006

设置断点 @ 地址0x00010A78,种类 = 2,类型 = THUMB,BPHandle = 0x0007

(gdb)
正在执行单步...

... 目标已停止(DBGRQ,PC = 0x00010962)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x00000000

从硬件读取寄存器 'r1'(4 字节):0x14150100 从硬件
读取寄存器 'r2'(4 字节):0x6c000000

从硬件读取寄存器 'r3'(4 字节):0x14150100 从硬件
读取寄存器 'r4'(4 字节):0x6c000000

从硬件读取寄存器 'r5'(4 字节):0x00060200 从硬件
读取寄存器 'r6'(4 字节):0x80808000

从硬件读取寄存器 “r7”(4 字节):0x0b431360 从硬件
读取寄存器 “r8”(4 字节):0xfffffffff 从硬件读取寄存器 “r9”(4 字节):0xffffffff

从硬件读取寄存器 'r10'(4 字节):0xfffffffff 从硬件
读取寄存器 'r11'(4 字节):0xfffffffFF 从硬件读取寄存器 'r12'(4 字节):0x781F0200 从硬件
读取寄存器 'lr'(4 字节):0x7d0a0100 从硬件
读取寄存器 'lr'(4 字节):0x7d0a0100 从硬件读取寄存器 “pc”(4 字节):0x62090100 从硬件
读取寄存器 “xpsr”(4 字节):0x0
3000061

读取 4 个字节 @ 地址 0x00010962(数据 = 0x4b3b2408)

正在读取 64 字节 @ 地址 0x00021F80

设置断点 @ 地址0x00010960,种类 = 2,类型 = THUMB,BPHandle = 0x0008

正在执行单步...

... 目标已停止(DBGRQ,PC = 0x00010964)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x00000000

从硬件读取寄存器 'r1'(4 字节):0x14150100 从硬件
读取寄存器 'r2'(4 字节):0x6c000000 从硬件
读取寄存器 'r3'(4 字节):0x14150100

从硬件读取寄存器 'r4'(4 字节):0x08000000 从硬件
读取寄存器 'r5'(4 字节):0x00060200 从硬件读取寄存器 'r6'(4 字节):0x80808000 从硬件
读取寄存器 'r7'(4 字节):0x0b431360 从硬件
读取寄存器 'r8'(4 字节)读取:0xfffffFFF 从硬件注册 'r9'(4 字节):0xffffffff
f

从硬件读取寄存器 'r10'(4 字节):0xfffffffff 从硬件
读取寄存器 'r11'(4 字节):0xfffffffFF 从硬件读取寄存器 'r12'(4 字节):0x781F0200 从硬件
读取寄存器 'lr'(4 字节):0x7d0a0100 从硬件
读取寄存器 'lr'(4 字节):0x7d0a0100

从硬件读取寄存器 “pc”(4 字节):0x64090100 从硬件
读取寄存器 “xpsr”(4 字节):0x03000021

读取 4 个字节 @ 地址 0x00010964(数据 = 0x33b84b3B)

正在读取 64 字节 @ 地址 0x00021F80

正在执行单步...

... 目标已停止(DBGRQ,PC = 0x00010966)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x00000000

从硬件读取寄存器 'r1'(4 字节):0x14150100 从硬件
读取寄存器 'r2'(4 字节):0x6c000000 从硬件读取寄存器 'r3'(4 字节):0xc0000000 从硬件
读取寄存器 'r4'(4 字节):0x08000000 从硬件读取寄存器 'r5'(4 字节):0x00060200
读取寄存器 'r5'(4 字节)'r6'(4 字节)来自硬件:0x80808000 从硬件
读取寄存器 'r7'(4 字节):0x0b431360 从硬件
读取寄存器 'r8'(4 字节):0xFFFFFFFF

从硬件读取寄存器 “r9”(4 字节):0xfffffffFF 从硬件
读取寄存器 “r10”(4 字节):0xfffffffFF 从硬件读取寄存器 “r11”(4 字节):0x781FFFFFFF 从硬件
读取寄存器 'r12'(4 字节):0x00010000 从硬件
读取寄存器 'sp'(4 字节):0x781F0200 读取寄存器 'sp'(4 字节)从硬件注册 “lr”(4 字节):0x7d0a0100 从硬件
读取寄存器 “pc”(4 字节):0x6
6090100

从硬件读取寄存器 “xpsr”(4 字节):0x0
3000021 正在执行单步...
... 目标已停止(DBGRQ,PC = 0x00010968)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x00000000 从硬件
读取寄存器 'r1'(4 字节):0x14150100 从硬件
读取寄存器 'r2'(4 字节):0x6c000000

从硬件读取寄存器 'r3'(4 字节):0x78010000 从硬件
读取寄存器 'r4'(4 字节):0x08000000 从硬件读取寄存器 'r5'(4 字节):0x00060200 从硬件
读取寄存器 'r6'(4 字节):0x80808000 从硬件
读取寄存器 'r7'(4 字节):0x0b4360

从硬件读取寄存器 'r8'(4 字节):0xffffffff 从硬件读取寄存器 'r9'(4 字节):0xfffffffff 从硬件
读取寄存器 'r10'(4 字节):0xffffffff 从硬件读取寄存器 'r11'(4 字节):0xffffffFF 从硬件
读取寄存器 'r11'(4 字节):0
xffffffff

从硬件读取寄存器 “r12”(4 字节):0x00010000 从硬件
读取寄存器 “sp”(4 字节):0x781f0200 从硬件
读取寄存器 “lr”(4 字节):0x7d0a0100

从硬件读取寄存器 “pc”(4 字节):0x68090100 从硬件
读取寄存器 “xpsr”(4 字节):0x03000001

正在执行单步...

... 目标已停止(DBGRQ,PC = 0x0001096A)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x00000000

从硬件读取寄存器 'r1'(4 字节):0x14150100 从硬件
读取寄存器 'r2'(4 字节):0x6c000000

从硬件读取寄存器 'r3'(4 字节):0x78010000 从硬件
读取寄存器 'r4'(4 字节):0x08000000 从硬件
读取寄存器 'r5'(4 字节):0x00060200

从硬件读取寄存器 “r6”(4 字节):0x80808000 从硬件
读取寄存器 “r7”(4 字节):0x0b431360 从硬件读取寄存器 “r8”(4 字节):0xffffffff
f

从硬件读取寄存器 'r9'(4 字节):0xffffFFFFFFFF 从硬件
读取寄存器 'r10'(4 字节):0xfffffffff 从硬件读取寄存器 'r11'(4 字节):0xffffffff 从硬件
读取寄存器 'r12'(4 字节):0
x00010000

从硬件读取寄存器 “sp”(4 字节):0x781F0200 从硬件
读取寄存器 “lr”(4 字节):0x7d0a0100 从硬件读取寄存器 “pc”(4 字节):0x6a090100 从硬件
读取寄存器 “xpsr”(4 字节):0x0
3000001

正在执行单步...

... 目标已停止(DBGRQ,PC = 0x0001096C)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x08000000

从硬件读取寄存器 'r1'(4 字节):0x14150100 从硬件
读取寄存器 'r2'(4 字节):0x6c000000

从硬件读取寄存器 'r3'(4 字节):0x78010000 从硬件读取寄存器 'r4'(4 字节):0x08000000 从硬件
读取寄存器 'r5'(4 字节):0x00060200 从硬件
读取寄存器 'r6'(4 字节):0x80808000 从硬件读取寄存器 'r7'(4 字节):0x0b4360
读取寄存器 'r7'(4 字节)从硬件注册 'r8'(4 字节):0xffffffff
f

从硬件读取寄存器 “r9”(4 字节):0xfffffffFF 从硬件
读取寄存器 “r10”(4 字节):0xfffffffFF 从硬件读取寄存器 “r11”(4 字节):0x781FFFFFFF 从硬件
读取寄存器 'r12'(4 字节):0x00010000 从硬件读取寄存器 'sp'(4 字节):0x781F0200
读取寄存器 'sp'(4 字节)从硬件注册 “lr”(4 字节):0x7d0a0100 从硬件
读取寄存器 “pc”(4 字节):0x6c0
90100

从硬件读取寄存器 “xpsr”(4 字节):0x0
3000001 正在执行单步...
... 目标已停止(DBGRQ,PC = 0x0001096E)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x08000000 从硬件
读取寄存器 'r1'(4 字节):0x14150100

从硬件读取寄存器 “r2”(4 字节):0x030000 从硬件
读取寄存器 “r3”(4 字节):0x78010000 从硬件
读取寄存器 “r4”(4 字节):0x080000

从硬件读取寄存器 'r5'(4 字节):0x00060200 从硬件
读取寄存器 'r6'(4 字节):0x80808000 从硬件读取寄存器 'r7'(4 字节):0x0b431360 从硬件
读取寄存器 'r8'(4 字节):0xfffffFF
F

从硬件读取寄存器 “r9”(4 字节):0xfffffffFF 从硬件
读取寄存器 “r10”(4 字节):0xffffffff 从硬件读取寄存器 “r11”(4 字节):0x781FFFFFFF 从硬件
读取寄存器 “r12”(4 字节):0x00010000 从硬件
读取寄存器 “sp”(4 字节):0x781F0200

从硬件读取寄存器 “lr”(4 字节):0x7d0a0100 从硬件
读取寄存器 “pc”(4 字节):0x6e090100 从硬件读取寄存器 “xpsr”(4 字节):0x03000001

正在执行单步...
... 目标已停止(DBGRQ,PC = 0x00010970)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x08000000 从硬件
读取寄存器 'r1'(4 字节):0x00000000

从硬件读取寄存器 “r2”(4 字节):0x030000 从硬件
读取寄存器 “r3”(4 字节):0x78010000

从硬件读取寄存器 'r4'(4 字节):0x08000000 从硬件
读取寄存器 'r5'(4 字节):0x00060200

从硬件读取寄存器 “r6”(4 字节):0x80808000 从硬件
读取寄存器 “r7”(4 字节):0x0b431360 从硬件读取寄存器 “r8”(4 字节):0xffffffff
f

从硬件读取寄存器 “r9”(4 字节):0xfffffffff 从硬件
读取寄存器 “r10”(4 字节):0xfffffffff 从硬件
读取寄存器 “r11”(4 字节):0xffffffff

从硬件读取寄存器 “r12”(4 字节):0x00010000 从硬件
读取寄存器 “sp”(4 字节):0x781F0200

从硬件读取寄存器 “lr”(4 字节):0x7d0a0100 从硬件
读取寄存器 “pc”(4 字节):0x70090100

从硬件读取寄存器 “xpsr”(4 字节):0x03000041

正在执行单步...
... 目标已停止(DBGRQ,PC = 0x6013430A)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x08000000

从硬件读取寄存器 'r1'(4 字节):0x00000000

从硬件读取寄存器 “r2”(4 字节):0x030000 从硬件
读取寄存器 “r3”(4 字节):0x78010000

从硬件读取寄存器 'r4'(4 字节):0x08000000 从硬件
读取寄存器 'r5'(4 字节):0x00060200

从硬件读取寄存器 'r6'(4 字节):0x80808000 从硬件
读取寄存器 'r7'(4 字节):0x0b431360

从硬件读取寄存器 'r8'(4 字节):0xfffffffff 从硬件
读取寄存器 'r9'(4 字节):0xfffffffff

从硬件读取寄存器 'r10'(4 字节):0xffffffff 从硬件
读取寄存器 'r11'(4 字节):0xfffffffff

从硬件读取寄存器 “r12”(4 字节):0x00010000 从硬件
读取寄存器 “sp”(4 字节):0x781f0200 从硬件读
取寄存器 “lr”(4 字节):0x73090100

从硬件读取寄存器 “pc”(4 字节):0x0a431360 从硬件
读取寄存器 “xpsr”(4 字节):0x03000041

警告:无法读取内存 @ 地址 0x6013430A

读取 4 个字节 @ 地址 0x00010972(数据 = 0x22012500)

正在读取 64 字节 @ 地址 0x00021F80

警告:无法读取内存 @ 地址 0x6013430A

警告:无法读取内存 @ 地址 0x6013430A

警告:无法读取内存 @ 地址 0x6013430A

读取 2 个字节 @ 地址 0x00010972(数据 = 0x2500)

设置断点 @ 地址0x00010972,种类 = 2,类型 = THUMB,BPHandle = 0x0009

正在启动目标 CPU...

错误:无法读取当前指令。

... 目标已停止(DBGRQ,PC = 0x6013430A)

读取常用寄存器:从硬件读取寄存器 'r0'(4 字节):0x08000000

从硬件读取寄存器 'r1'(4 字节):0x00000000

从硬件读取寄存器 “r2”(4 字节):0x030000 从硬件
读取寄存器 “r3”(4 字节):0x78010000

从硬件读取寄存器 'r4'(4 字节):0x08000000 从硬件
读取寄存器 'r5'(4 字节):0x00060200

从硬件读取寄存器 'r6'(4 字节):0x80808000 从硬件
读取寄存器 'r7'(4 字节):0x0b431360

从硬件读取寄存器 'r8'(4 字节):0xfffffffff 从硬件
读取寄存器 'r9'(4 字节):0xfffffffff

从硬件读取寄存器 'r10'(4 字节):0xffffffff 从硬件
读取寄存器 'r11'(4 字节):0xfffffffff

从硬件读取寄存器 “r12”(4 字节):0x00010000 从硬件
读取寄存器 “sp”(4 字节):0x781f0200 从硬件读
取寄存器 “lr”(4 字节):0x73090100

从硬件读取寄存器 “pc”(4 字节):0x0a431360 从硬件
读取寄存器 “xpsr”(4 字节):0x03000041

正在移除断点 @ 地址 0x00010972,大小 = 2

~"\ n 程序 "

程序
~ " 接收到信号 SIGTRAP,跟踪/断点陷阱。\ n "
收到了信号 SIGTRAP,跟踪/断点陷阱。
正在移除断点 @ 地址 0x00010960,大小 = 2

正在移除断点 @ 地址 0x0001098C,大小 = 2

正在移除断点 @ 地址 0x00010a78,大小 = 2

警告:无法读取内存 @ 地址 0x6013430A

~ " 0x6013430a 在??()\ n "
0x6013430a 在??()
*已停止,reason= 已"接收信号,"signal-name= SIGTRAP,signal-meantion= t " race/BreakPoint 陷阱,frame=,thread-id = 1",stopped-thre " ads= " {addr="0x6013430a",func="??",args=[],arch="armv6s-m"} " ""所有 "
threadsRequest 30-thread-
list-id
30^done,thread-ids=,current-threads= 1,线程数 = {thread-id="1"} 1 (gdb) stackTraceRequest 31-stack-list-frames--" thread " 1 " 0 20 读取 4 字节 @ 地址 0x00010972(数据 = 0x22012500)"



正在读取 64 字节 @ 地址 0x00021F80

读取 4 字节 @ 地址 0x00010a7C(数据 = 0x0091681C)

31^done,stack= [frame=,frame=,frame={level="0",addr="0x6013430a",func="??",arch="armv6s-m"},frame={level="3",addr="0x00010a7c",func="NVM_Reset_Handler",file="E:/core/NAC1080SDK/smack_sl/src/startup_smack.c",fullname="E:\\core\\NAC1080SDK\\smack_sl\\src\\startup_smack.c",line="172",arch="armv6s-m"}]
(gdb)
nextRequest 32-ex
ec-next--thread 1
32^error{level="2",addr="0x00010a7c",func="__nvm_cmsis_start",file="E:/core/NAC1080SDK/smack_rom/libs/CMSIS/inc/cmsis_gcc.h",fullname="E:\\core\\NAC1080SDK\\smack_rom\\libs\\CMSIS\\inc\\cmsis_gcc.h",line="218",arch="armv6s-m"},msg= 找不到当前函数的边界 (gdb) evaluateRequest 33-data-expression 错误:找不到当前函数的边界 (gdb) expression expres " s {level="1",addr="0x00010972",func="_nvm_start",file="E:/core/NAC1080SDK/smack_sl/src/smack_sl.c",fullname="E:\\core\\NAC1080SDK\\smack_sl\\src\\smack_sl.c",line="140",arch="armv6s-m"} "



"data "
33^error,msg= 当前上下文中"没有符号\ d " ata\ "。"
错误:当前上下文中没有符号“数据”。nac1080nac1080NAC1080

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,

正如我之前提到的,错误"错误:找不到当前函数"的界限是因为函数定义不可用。

因此,请使用断点并运行,而不是单个步骤。 例如,在第 141 行放置一个断点,然后单击 “运行”。

问候,
Ajeeth

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

我使用断点然后运行

正在启动目标 CPU...

错误:CPU 未停机

错误:CPU 运行时无法读取寄存器 15 (R15)

读取常用寄存器:错误:CPU 运行时无法读取寄存器 0 (R0)

从硬件读取寄存器 'r0'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 1 (R1)

从硬件读取寄存器 'r1'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 2 (R2) 从硬件读取寄存器 'r2'(4 字节):0xefBeadDE
错误:CPU 运行时无法
读取寄存器 3 (R3) 从硬件读取寄存器 'r3'(4 字节):0xefBeadDE

错误:CPU 运行时无法读取寄存器 4 (R4) 从硬件
读取寄存器 'r4'(4 字节):0xefBeadDE 错误:CPU 运行时无法读取寄存器 5 (R5) 从硬件读取寄存器 'r5'(4 字节):0xefBeadde
错误:CPU 运行时无法
读取寄存器 6 (R6):0xefBead
de 错误:CPU 运行时无法读取寄存器 6 (R6)

从硬件读取寄存器 'r6'(4 字节):0xefBeadDE
错误:CPU 运行
时无法读取寄存器 7 (R7) 从硬件读取寄存器 'r7'(4 字节):0xefBeadDE

错误:CPU 运行时无法读取寄存器 8 (R8) 从硬件
读取寄存器 'r8'(4 字节):0xefBeadDE

错误:CPU 运行时无法读取寄存器 9 (R9) 从硬件
读取寄存器 'r9'(4 字节):0xefBeadDE

错误:CPU 运行时无法读取寄存器 10 (R10) 从硬件
读取寄存器 'r10'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 11 (R11)

从硬件读取寄存器 'r11'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 12 (R12)

从硬件读取寄存器 'r12'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 13 (R13)

从硬件读取寄存器 'sp'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 14 (R14)

从硬件读取寄存器 'lr'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 15 (R15)

从硬件读取寄存器 “pc”(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 16 (XPSR)

从硬件读取寄存器 'xpsr'(4 字节):0xefBeadDE

正在启动目标 CPU...

错误:CPU 未停机

错误:CPU 运行时无法读取寄存器 15 (R15)

读取常用寄存器:错误:CPU 运行时无法读取寄存器 0 (R0)

从硬件读取寄存器 'r0'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 1 (R1)

从硬件读取寄存器 'r1'(4 字节):0xefBeadDE
错误:CPU 运行
时无法读取寄存器 2 (R2) 从硬件读取寄存器 'r2'(4 字节):0xefBeadDE

错误:CPU 运行时无法读取寄存器 3 (R3) 从硬件
读取寄存器 'r3'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 4 (R4)

从硬件读取寄存器 'r4'(4 字节):0xefBeadDE

错误:CPU 运行时无法读取寄存器 5 (R5)

从硬件读取寄存器 'r5'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 6 (R6)

从硬件读取寄存器 'r6'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 7 (R7)

从硬件读取寄存器 'r7'(4 字节):0xefBeadDE
错误:CPU 运行
时无法读取寄存器 8 (R8) 从硬件读取寄存器 'r8'(4 字节):0xefBeadDE

错误:CPU 运行时无法读取寄存器 9 (R9) 从硬件
读取寄存器 'r9'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 10 (R10)

从硬件读取寄存器 'r10'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 11 (R11)

从硬件读取寄存器 'r11'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 12 (R12)

从硬件读取寄存器 'r12'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 13 (R13)

从硬件读取寄存器 'sp'(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 14 (R14) 从硬件
读取寄存器 'lr'(4 字节):0xefBeadDE

错误:CPU 运行时无法读取寄存器 15 (R15) 从硬件
读取寄存器 “pc”(4 字节):0xefBeadDE
错误:CPU 运行时无法读取寄存器 16 (XPSR)

从硬件读取寄存器 'xpsr'(4 字节):0xefBeadDE

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好,

由于NAC1080断点数量有限,因此 CPU 不会在您的情况下停止。 有关断点的更多详细信息,请参阅 NAC1080软件开发指南 中的第 4.3 节 Flash 断点和硬错误处理程序

您可以尝试使用Eclipse IDE和 本文 中提到的方法来调试NAC1080吗?

问候,
Ajeeth

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

亲爱的 Ajeeth

1。我已经升级了固件 smackfw_dand_v0-1-5-2_HW3-0.HEX 它可以正常运行。你能提供源代码吗?
2。
你能提供 Eclipse 配置文件吗?

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好,

1. 请通过 email(NAC1080_Support@infineon.com)联系NAC1080团队以获取Lock演示应用程序的源代码。

2. 您可以参考NAC1080软件开发指南的第 3.1 节

问候,
Ajeeth

0 点赞