178***711
环境
1.GR5515I0NDA芯片,普冉8M外部flash,qspi通讯
2.固件版本GR551x_SDK_V2.0.2
3.boot使用原厂工程,关闭所有东西,只保留跳转
4.app1采用free的示例工程
现象
1.app1注释ble_stack_init(ble_evt_handler, &heaps_table);时,boot跳转成功,最起码工程线程运行正常
2.app1打开ble_stack_init(ble_evt_handler, &heaps_table);,boot跳转后,app1没有任何log输出
3.之前用过5331的芯片并不会这个样子,当然5331有宏定义可以关闭蓝牙功能,5515并不行,怀疑boot中初始化或者在什么地方调用了协议栈的相关东西
zhongchengzhi

您好,关于“pp1打开ble_stack_init(ble_evt_handler, &heaps_table);,boot跳转后,app1没有任何log输出”,您用jlink连接调试,看卡在哪里呢?
178***711
我提取了部分信息,帮忙观察一下
向量表
Free示例工程
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY
EXPORT __Vectors
EXPORT __Vectors_End
EXPORT __Vectors_Size
IMPORT NMI_Handler
IMPORT HardFault_Handler
IMPORT MemManage_Handler
IMPORT BusFault_Handler
IMPORT UsageFault_Handler
IMPORT SVC_Handler
IMPORT DebugMon_Handler
IMPORT PendSV_Handler
IMPORT SysTick_Handler
IF :DEF:NO_SCATTER
__Vectors DCD __initial_sp ; Top of Stack
ELSE
IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit|
__Vectors DCD |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack
ENDIF
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler
__Vectors_End
boot示例工程
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY
EXPORT __Vectors
EXPORT __Vectors_End
EXPORT __Vectors_Size
IMPORT NMI_Handler
IMPORT HardFault_Handler
IMPORT MemManage_Handler
IMPORT BusFault_Handler
IMPORT UsageFault_Handler
IMPORT SVC_Handler
IMPORT DebugMon_Handler
IMPORT PendSV_Handler
IMPORT SysTick_Handler
IF :DEF:NO_SCATTER
__Vectors DCD __initial_sp ; Top of Stack
ELSE
IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit|
__Vectors DCD |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack
ENDIF
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler
__Vectors_End
异常观察:
SEGGER J-Link Commander V7.98a (Compiled Jul 19 2024 15:01:50)
DLL version V7.98a, compiled Jul 19 2024 15:01:03
Connecting to J-Link via USB...O.K.
Firmware: J-Link Pro V4 V12 PLUS Oct compiled 1 2024 13:26:37
Hardware version: V12.00
J-Link uptime (since boot): 0d 02h 15m 25s
S/N: 601022668
License(s): FlashBP, GDB, JFlash, FlashDL, RDI
USB speed mode: Full speed (12 MBit/s)
IP-Addr: 255.255.255.255 (DHCP)
VTref=1.889V
Type "connect" to establish a target connection, '?' for help
J-Link>connect
Please specify device / core. <Default>: CORTEX-M4
Type '?' for selection dialog
Device>
Please specify target interface:
J) JTAG (Default)
S) SWD
T) cJTAG
TIF>S
Specify target interface speed [kHz]. <Default>: 4000 kHz
Speed>
Device "CORTEX-M4" selected.
Connecting to target via SWD
Found SW-DP with ID 0x2BA01477
DPIDR: 0x2BA01477
CoreSight SoC-400 or earlier
Scanning AP map to find all available APs
AP[1]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x24770011)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
Found Cortex-M4 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
[0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7
[0][1]: E0001000 CID B105E00D PID 003BB002 DWT
[0][2]: E0002000 CID B105E00D PID 002BB003 FPB
[0][3]: E0000000 CID B105E00D PID 003BB001 ITM
[0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU
Memory zones:
Zone: "Default" Description: Default access mode
Cortex-M4 identified.
J-Link>mem32 0x0100F000 2
0100F000 = 30040000 0100F1F1
J-Link>r
Reset delay: 0 ms
Reset type NORMAL: Resets core & peripherals via SYSRESETREQ & VECTRESET bit.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
J-Link>g
Memory map 'after startup completion point' is active
J-Link>h
PC = 47BB70EE, CycleCnt = 2A87FFBC
R0 = 3003FE00, R1 = 00000001, R2 = 47BB70EF, R3 = 01014DE5
R4 = 3003FE38, R5 = 30007FEC, R6 = 1A87A484, R7 = 030FF010
R8 = 00000000, R9 = 3003FE94, R10= 00000000, R11= 01022260
R12= 0000C007
SP(R13)= 3003FE00, MSP= 3003FE00, PSP= 58FEFA60, R14(LR) = 01014DEF
XPSR = 21000003: APSR = nzCvq, EPSR = 01000000, IPSR = 003 (HardFault)
CFBP = 00000000, CONTROL = 00, FAULTMASK = 00, BASEPRI = 00, PRIMASK = 00
FPS0 = 1F16FC61, FPS1 = 400A5365, FPS2 = 00000000, FPS3 = 40590000
FPS4 = E176BA40, FPS5 = 74C3F81D, FPS6 = C4403CC8, FPS7 = CFD0A285
FPS8 = F4C7E3E4, FPS9 = C7CBC875, FPS10= 651D0DD1, FPS11= 5023A3A5
FPS12= D6CCEAFD, FPS13= F658DA30, FPS14= FC4924CE, FPS15= E0FFF8E2
FPS16= F1D7EDAD, FPS17= 7A082E81, FPS18= 48189C04, FPS19= F5413674
FPS20= EDC00D81, FPS21= F8B00C44, FPS22= F3374F09, FPS23= 25558985
FPS24= BD540F3B, FPS25= BE94A830, FPS26= C409703E, FPS27= F26C4E86
FPS28= F62E06A2, FPS29= AEE503B5, FPS30= 838E0443, FPS31= 5CAD1884
FPSCR= 03000000
J-Link>regs
PC = 47BB70EE, CycleCnt = 2A87FFBC
R0 = 3003FE00, R1 = 00000001, R2 = 47BB70EF, R3 = 01014DE5
R4 = 3003FE38, R5 = 30007FEC, R6 = 1A87A484, R7 = 030FF010
R8 = 00000000, R9 = 3003FE94, R10= 00000000, R11= 01022260
R12= 0000C007
SP(R13)= 3003FE00, MSP= 3003FE00, PSP= 58FEFA60, R14(LR) = 01014DEF
XPSR = 21000003: APSR = nzCvq, EPSR = 01000000, IPSR = 003 (HardFault)
CFBP = 00000000, CONTROL = 00, FAULTMASK = 00, BASEPRI = 00, PRIMASK = 00
FPS0 = 1F16FC61, FPS1 = 400A5365, FPS2 = 00000000, FPS3 = 40590000
FPS4 = E176BA40, FPS5 = 74C3F81D, FPS6 = C4403CC8, FPS7 = CFD0A285
FPS8 = F4C7E3E4, FPS9 = C7CBC875, FPS10= 651D0DD1, FPS11= 5023A3A5
FPS12= D6CCEAFD, FPS13= F658DA30, FPS14= FC4924CE, FPS15= E0FFF8E2
FPS16= F1D7EDAD, FPS17= 7A082E81, FPS18= 48189C04, FPS19= F5413674
FPS20= EDC00D81, FPS21= F8B00C44, FPS22= F3374F09, FPS23= 25558985
FPS24= BD540F3B, FPS25= BE94A830, FPS26= C409703E, FPS27= F26C4E86
FPS28= F62E06A2, FPS29= AEE503B5, FPS30= 838E0443, FPS31= 5CAD1884
FPSCR= 03000000
J-Link>mem32 0xE000ED28 1
E000ED28 = 00008201
J-Link>mem32 0xE000ED2C 1
E000ED2C = 40000000
J-Link>mem32 0xE000ED34 1
E000ED34 = 1A87A484
J-Link>mem32 0xE000ED38 1
E000ED38 = 1A87A484
J-Link>mem32 0xE000ED08 1
E000ED08 = 30007F00
J-Link>mem32 0x0100F000 16
0100F000 = 30040000 0100F1F1 01010FBB 00804101
0100F010 = 01010FB9 01010FB5 010110F1 00000000
0100F020 = 00000000 00000000 00000000 00804115
0100F030 = 01010FB7 00000000 0100F29D 01010FF5
0100F040 = F802F000 F8C4F000 E890A00A 44820C00
0100F050 = F1AA4483 45DA0701
J-Link>mem32 0x30007F00 16
30007F00 = 30040000 0100F1F1 01010FBB 00804101
30007F10 = 01010FB9 01010FB5 010110F1 00000000
30007F20 = 00000000 00000000 00000000 00804115
30007F30 = 01010FB7 00000000 0100F29D 01010FF5
30007F40 = 00000000 00000000 00000000 00000000
30007F50 = 00000000 00000000
J-Link>mem32 0x01004000 2
01004000 = 30040000 0100405D
J-Link>mem32 0x01014DD0 16
01014DD0 = BF00FB4F BD704620 300082C0 E0002000
01014DE0 = 30013B20 2101B513 F7FC4668 2001FF9B
01014DF0 = 0000BD1C 41FCE92D 4A47460C 78A07861
01014E00 = 1021F852 1000E9CD A2447823 20002110
01014E10 = DEFAF7F2 26017860 25054F4F 2801B130
01014E20 = 2802D037 2803D049
J-Link>mem32 0x30007F00 64
30007F00 = 30040000 0100F1F1 01010FBB 00804101
30007F10 = 01010FB9 01010FB5 010110F1 00000000
30007F20 = 00000000 00000000 00000000 00804115
30007F30 = 01010FB7 00000000 0100F29D 01010FF5
30007F40 = 00000000 00000000 00000000 00000000
30007F50 = 00000000 00000000 00000000 00000000
30007F60 = 00000000 00000000 00000000 00000000
30007F70 = 00000000 00000000 00000000 00000000
30007F80 = 00000000 00000000 00000000 00000000
30007F90 = 00000000 00000000 00000000 00000000
30007FA0 = 00000000 00000000 00000000 00000000
30007FB0 = 00000000 00000000 00000000 00000000
30007FC0 = 00000000 00000000 00000000 00000000
30007FD0 = 00000000 00000000 00000000 01022340
30007FE0 = 01022350 01022348 01022338 00000000
30007FF0 = 01011749 010118AD 0101190D 00000000
30008000 = 23DACB0C 11E0FEC9 DB083E41 8070AEAB
30008010 = F5D1C495 FEF00A4A A23E1C2C 6B8BC53A
30008020 = 38905817 71BA8B1B 0575A8A4 BF4521CD
30008030 = 911AF238 6A5E9CC1 A6F08F34 05AD5C1F
30008040 = A31E5F35 1897D773 539C510F 7447F8F6
30008050 = 6B60358D 33DEAA5A 10C65BF4 5B4140C3
30008060 = 0001A1DE FFB3842E A20C81A0 39F79EF6
30008070 = EABBD534 BC1668CC 982E4A51 0CC48DF1
30008080 = 9BE9756E D5503A58 C0246C83 A019572A
J-Link>mem32 0x0100F000 64
0100F000 = 30040000 0100F1F1 01010FBB 00804101
0100F010 = 01010FB9 01010FB5 010110F1 00000000
0100F020 = 00000000 00000000 00000000 00804115
0100F030 = 01010FB7 00000000 0100F29D 01010FF5
0100F040 = F802F000 F8C4F000 E890A00A 44820C00
0100F050 = F1AA4483 45DA0701 F000D101 F2AFF8B9
0100F060 = E8BA0E09 F013000F BF180F01 F0431AFB
0100F070 = 47180301 00013F38 00013F88 F04F440A
0100F080 = F8100C00 F0133B01 BF080407 4B01F810
0100F090 = BF08111D 5B01F810 D0051E64 6B01F810
0100F0A0 = F8011E64 D1F96B01 0F08F013 F810BF1E
0100F0B0 = 1CAD4B01 D1091B0C BF581E6D CB01F801
0100F0C0 = E005D5FA 6B01F814 6B01F801 D5F91E6D
0100F0D0 = D3D64291 00004770 BF243A10 C178C878
0100F0E0 = 0752D8FA C830BF24 BF44C130 600C6804
0100F0F0 = 00004770 24002300 26002500 BF283A10
0100F100 = D8FBC178 BF280752 BF48C130 4770600B
0100F110 = F000296E 297084B0 822FF000 F0122966
0100F120 = 296582F3 82F0F012 F0122967 296182ED
0100F130 = 82ECF012 0A1B6803 F041BF28 29690180
0100F140 = 81A0F000 F0002964 2975819D 819AF000
0100F150 = F000296F 297885B0 81FBF000 F00029E9
0100F160 = 29E4854B 8548F000 F00029F5 29EF8545
0100F170 = 85ADF000 F00029F8 680381FA BF2809DB
0100F180 = 0180F041 F0002963 297384BA 84BFF000
zhongchengzhi

您好,根据现象看是出现了Hardfault,您可以参考: https://developers.goodix.com/zh/bbs/blog_detail/b0f9329799b04397b384214a8953efa3
打开微信,使用“扫一扫”即可关注