mirror of
https://gitee.com/seekfree/TC264_Library.git
synced 2026-06-04 03:32:56 +00:00
新增数据访问溢出断言接管,修复部分错误
This commit is contained in:
@@ -132,6 +132,7 @@ void IfxCpu_Trap_memoryManagementError(uint32 tin)
|
||||
volatile IfxCpu_Trap trapWatch;
|
||||
trapWatch = IfxCpu_Trap_extractTrapInfo(IfxCpu_Trap_Class_memoryManagement, tin);
|
||||
IFX_CFG_CPU_TRAP_MME_HOOK(trapWatch);
|
||||
|
||||
IFX_CFG_CPU_TRAP_DEBUG;
|
||||
__asm("rslcx"); /* Restore lower context before returning. lower context was stored in the trap vector */
|
||||
__asm("rfe");
|
||||
@@ -143,6 +144,9 @@ void IfxCpu_Trap_internalProtectionError(uint32 tin)
|
||||
volatile IfxCpu_Trap trapWatch;
|
||||
trapWatch = IfxCpu_Trap_extractTrapInfo(IfxCpu_Trap_Class_internalProtection, tin);
|
||||
IFX_CFG_CPU_TRAP_IPE_HOOK(trapWatch);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFA3AC>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>˿յ<CBBF><D5B5>ڴ<EFBFBD>λ<EFBFBD>ã<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>dz<EFBFBD>˵<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>Խ<EFBFBD><D4BD>
|
||||
|
||||
IFX_CFG_CPU_TRAP_DEBUG;
|
||||
__asm("rslcx"); /* Restore lower context before returning. lower context was stored in the trap vector */
|
||||
__asm("rfe");
|
||||
@@ -177,8 +181,9 @@ void IfxCpu_Trap_busError(uint32 tin)
|
||||
trapWatch = IfxCpu_Trap_extractTrapInfo(IfxCpu_Trap_Class_bus, tin);
|
||||
IFX_CFG_CPU_TRAP_BE_HOOK(trapWatch);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դû<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
||||
// <20>ٸ<EFBFBD><D9B8><EFBFBD><EFBFBD>ӣ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>pwm_init<69><74>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>ֱ<EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>pwm_set_duty<74><79><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
||||
// Ҳ<><D2B2><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڴ<EFBFBD>ʧ<EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĵط<C4B5>
|
||||
|
||||
IFX_CFG_CPU_TRAP_DEBUG;
|
||||
__asm("rslcx"); /* Restore lower context before returning. lower context was stored in the trap vector */
|
||||
|
||||
@@ -68,11 +68,13 @@
|
||||
#define zf_log(x, str) (debug_log_handler((x), (str), __FILE__, __LINE__)) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߾<EFBFBD><DFBE><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD>߱<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CPU<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD>
|
||||
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> void
|
||||
// <20><>ע<EFBFBD><D7A2>Ϣ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߱<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>log<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||||
// <20><>ע<EFBFBD><D7A2>Ϣ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CPU<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>log<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||||
//-------------------------------------------------------------------------------------------------------------------
|
||||
#define IFX_CFG_CPU_TRAP_BE_HOOK(x) zf_log(0, "Some peripherals are not initialized"); while(1);
|
||||
#define IFX_CFG_CPU_TRAP_BE_HOOK(x) zf_log(0, "Memory access failure or Use an uninitialized peripheral, please check"); while(1);
|
||||
#define IFX_CFG_CPU_TRAP_IPE_HOOK(x) zf_log(0, "Accessing an null address, array access may be out of bounds, please check"); while(1);
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
||||
@@ -62,7 +62,7 @@ void pit_init (pit_index_enum pit_index, uint32 time);
|
||||
//-------------------------------------------------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pit_ms<6D><73>ʼ<EFBFBD><CABC>
|
||||
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> pit_index ѡ<><D1A1>CCU6ģ<36><C4A3>
|
||||
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> time <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>(<28><>λ<EFBFBD><CEBB>ms)
|
||||
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> time <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>(<28><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> void
|
||||
// ʹ<><CAB9>ʾ<EFBFBD><CABE> pit_ms_init(CCU60_CH0, 5); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>5ms
|
||||
//-------------------------------------------------------------------------------------------------------------------
|
||||
@@ -70,7 +70,7 @@ void pit_init (pit_index_enum pit_index, uint32 time);
|
||||
//-------------------------------------------------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pit_us<75><73>ʼ<EFBFBD><CABC>
|
||||
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> pit_index ѡ<><D1A1>CCU6ģ<36><C4A3>
|
||||
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> time <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>(<28><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> time <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>(<28><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
||||
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> void
|
||||
// ʹ<><CAB9>ʾ<EFBFBD><CABE> pit_us_init(CCU60_CH0, 5); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>5us
|
||||
//-------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user