【Close】使用GCC编译运行无法完成测试用例

博客讲述了使用GCC编译STM32固件时遇到的测试用例无法完成的问题,特别是在TASK TEST阶段切换任务时发生宕机。问题根源在于CORE_ActiveSwitchIRQ函数中写PendSV激活标志位时寄存器写错,错误地将[R5]写成了[R4]。修复此问题后,所有测试用例得以顺利通过。
摘要由CSDN通过智能技术生成

【问题】

使用GCC编译后不能正常完成所有测试用例,在TASK TEST阶段切换任务时宕机。

[0000000000000000][0045][INFOR][ShowSystemInformation] Starting Fans-RT 0.11.1298 for board stm32-mini ...
[0000000000000000][0047][INFOR][ShowSystemInformation] Build for GCC 04.08.0003, data: Jul 19 2015, time: 14:20:05.
[0000000000000000][0049][INFOR][ShowSystemInformation] Show the size of core type for debug:
[0000000000000000][0051][INFOR][ShowSystemInformation] CHAR: 1  SHORT: 2  INT: 4  LONG: 4  LONG LONG: 8  E_STATUS: 1
[0000000000000000][0053][INFOR][ShowSystemInformation] BYTE: 1  WORD: 2  DWORD: 4  QWORD: 8  SIZE_T: 4,  LPVOID: 4
[0000000000000000][0054][INFOR][ShowSystemInformation] BOOL: 1  FLOAT:4  DOUBLE:8
[0000000000000000][0055][INFOR][ShowSystemInformation] Hardware tick max value is 71999.
[0000000000000000][0057][INFOR][ShowSystemInformation] The integer printf test: 12345678, 00000123, 20150630011218, 2013
[0000000000000000][0058][INFOR][ShowSystemInformation] The float printf test: 3.141592, 3.14, 3.142
[0000000000000000][0081][INFOR][CORE_InstallLPC] Install service 'LPC' to 6 successfully.
[0000000000000000][0175][INFOR][initCoreLocalProcedureCallManager] System call(LPC) service starting ... [OK]
[0000000000000000][0081][INFOR][CORE_InstallLPC] Install service 'SDM' to 3 successfully.
[0000000000000000][0161][INFOR][initCoreSystemDebugManager] System debug manager(SDM) starting ... [OK]
[0000000000000000][0081][INFOR][CORE_InstallLPC] Install service 'SCM' to 2 successfully.
[0000000000000000][0058][INFOR][initCoreSystemTimerManager] System clock manager(SCM) starting ... [OK]
[0000000000000000][0081][INFOR][CORE_InstallLPC] Install service 'IRQ' to 8 successfully.
[0000000000000000][0146][INFOR][initCoreInterruptServiceRoutinesManager] Interrupt request(IRQ) manager starting ... [OK]
[0000000000000000][1794][INFOR][initCoreSystemGlobalMemoryManager] system global memory manager(SMM) not install.
[0000000000000000][1189][INFOR][initCoreSystemObjectPoolManager] OBJECT0_CONTAINER: 24      OBJECT1_CONTAINER: 24.
[0000000000000000][1191][INFOR][initCoreSystemObjectPoolManager] OBJECT2_CONTAINER: 24      OBJECT3_CONTAINER: 24.
[0000000000000000][1193][INFOR][initCoreSystemObjectPoolManager] OBJECT4_CONTAINER: 24      OBJECT5_CONTAINER: 24.
[0000000000000000][1195][INFOR][initCoreSystemObjectPoolManager] OBJECT6_CONTAINER: 24      OBJECT7_CONTAINER: 24.
[0000000000000000][0103][INFOR][CORE_CreatePoolContainer] Create pool 0(0x2000097C) for 'Object0'(0x20000974), have blocks 2.
[0000000000000000][0103][INFOR][CORE_CreatePoolContainer] Create pool 0(0x200009D8) for 'Object2'(0x200009D0), have blocks 3.
[0000000000000000][0103][INFOR][CORE_CreatePoolContainer] Create pool 0(0x20000B70) for 'Object5'(0x20000B68), have blocks 1.
[0000000000000000][0081][INFOR][CORE_InstallLPC] Install service 'SOM' to 5 successfully.
[0000000000000000][1275][INFOR][initCoreSystemObjectPoolManager] System object management(SOM) service starting ... [OK]
[0000000000000000][0602][INFOR][initCoreInterProcessCommunicationManager] IPC_BASE_OBJECT:   28,   IPC_EVENT_OBJECT:     32
[0000000000000000][0604][INFOR][initCoreInterProcessCommunicationManager] IPC_MUTEX_OBJECT:  32,   IPC_SEMAPHORE_OBJECT: 32
[0000000000000000][0531][INFOR][CORE_RegisterClass] Class(EventClass-691) register to 5 ...
[0000000000000000][0562][INFOR][CORE_RegisterClass] Register class 'EventClass' to 5 successfully.
[0000000000000000][0531][INFOR][CORE_RegisterClass] Class(MutexClass-631) register to 1 ...
[0000000000000000][0562][INFOR][CORE_RegisterClass] Register class 'MutexClass' to 1 successfully.
[0000000000000000][0531][INFOR][CORE_RegisterClass] Class(SemaphoreClass-140) register to 0 ...
[0000000000000000][0562][INFOR][CORE_RegisterClass] Register class 'SemaphoreClass' to 0 successfully.
[0000000000000000][0531][INFOR][CO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值