This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好!
我正在尝试将我的 RM46与 FreeRTOS (halcogen)和 MPU 结合使用。
当前,当我尝试启动调度程序时, prvMpuDisable 函数会崩溃:我被卡在undefEntry
中。
我的代码结束位置:
使我的代码在 portasm.asm 内崩溃的行
您是否有什么想法会导致这种情况?
其他信息:
这是我的 CCS 配置
这是故障发生后的系统寄存器导出
521177 13 R System_Registers_CP15_ID_CODE 0x0000000B 0x411FC143 R System_Registers_CP15_MAIN_ID 0x0000000B 0x411FC143 R System_Registers_CP15_CACHE_TYPE 0x0000000B 0x8003C003 R System_Registers_CP15_TCM_TYPE 0x0000000B 0x00010001 R System_Registers_CP15_MPU_TYPE 0x0000000B 0x00000C00 R System_Registers_CP15_MULTIPROCESSOR_ID 0x0000000B 0x00000000 R System_Registers_CP15_PROCESSOR_FEATURE_0 0x0000000B 0x00000131 R System_Registers_CP15_PROCESSOR_FEATURE_1 0x0000000B 0x00000001 R System_Registers_CP15_DEBUG_FEATURE_0 0x0000000B 0x00010400 R System_Registers_CP15_AUXILIARY_FEATURE_0 0x0000000B 0x00000000 R System_Registers_CP15_MEMORY_MODEL_FEATURE_0 0x0000000B 0x00210030 R System_Registers_CP15_MEMORY_MODEL_FEATURE_1 0x0000000B 0x00000000 R System_Registers_CP15_MEMORY_MODEL_FEATURE_2 0x0000000B 0x01200000 R System_Registers_CP15_MEMORY_MODEL_FEATURE_3 0x0000000B 0x00000011 R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_0 0x0000000B 0x01101111 R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_1 0x0000000B 0x13112111 R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_2 0x0000000B 0x21232131 R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_3 0x0000000B 0x01112131 R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_4 0x0000000B 0x00010142 R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_5 0x0000000B 0x00000000 R System_Registers_CP15_CURRENT_CACHE_SIZE_ID 0x0000000B 0xF003E019 R System_Registers_CP15_CURRENT_CACHE_LEVEL_ID 0x0000000B 0x09000000 R System_Registers_CP15_CACHE_SIZE_SELECTION 0x0000000B 0x00000000 R System_Registers_CP15_SYSTEM_CONTROL 0x0000000B 0x09E50878 R System_Registers_CP15_AUXILIARY_CONTROL 0x0000000B 0x0C0000A7 R System_Registers_CP15_COPROCESSOR_ACCESS 0x0000000B 0x00F00000 R System_Registers_CP15_DATA_FAULT_STATUS 0x0000000B 0x00000409 R System_Registers_CP15_INSTRUCTION_FAULT_STATUS 0x0000000B 0x00000000 R System_Registers_CP15_AUX_DATA_FAULT_STATUS 0x0000000B 0x00800000 R System_Registers_CP15_AUX_INSTRUCTION_FAULT_STATUS 0x0000000B 0x00000000 R System_Registers_CP15_DATA_FAULT_ADDRESS 0x0000000B 0x08000018 R System_Registers_CP15_INSTRUCTION_FAULT_ADDRESS 0x0000000B 0x00000000 R System_Registers_CP15_MPU_REGION_BASE_ADDRESS 0x0000000B 0x00000000 R System_Registers_CP15_MPU_REGION_SIZE_ENABLE 0x0000000B 0x00000000 R System_Registers_CP15_MPU_REGION_ACCESS 0x0000000B 0x00000000 R System_Registers_CP15_MPU_REGION_NUMBER 0x0000000B 0x00000000 R System_Registers_CP15_TCM_BTCM_REGION 0x0000000B 0x08000039 R System_Registers_CP15_TCM_ATCM_REGION 0x0000000B 0x00000039 R System_Registers_CP15_TCM_TCM_SELECTION 0x0000000B 0x00000000 R System_Registers_CP15_PERFORMANCE_MONITOR_CONTROL 0x0000000B 0x41141810 R System_Registers_CP15_COUNT_ENABLE_SET 0x0000000B 0x00000000 R System_Registers_CP15_COUNT_ENABLE_CLEAR 0x0000000B 0x00000000 R System_Registers_CP15_OVERFLOW_FLAG_STATUS 0x0000000B 0x00000000 R System_Registers_CP15_COUNTER_SELECTION 0x0000000B 0x00000000 R System_Registers_CP15_CYCLE_COUNT 0x0000000B 0x00000859 R System_Registers_CP15_EVENT_SELECTION 0x0000000B 0x00000000 R System_Registers_CP15_PERFORMANCE_MONITOR_COUNT 0x0000000B 0x00000000 R System_Registers_CP15_USER_ENABLE 0x0000000B 0x00000000 R System_Registers_CP15_INTERRUPT_ENABLE_SET 0x0000000B 0x00000000 R System_Registers_CP15_INTERRUPT_ENABLE_CLEAR 0x0000000B 0x00000000 R System_Registers_CP15_SLAVE_PORT_CONTROL 0x0000000B 0x00000000 R System_Registers_CP15_FCSE_PID 0x0000000B 0x00000000 R System_Registers_CP15_CONTEXT_ID 0x0000000B 0x00000000 R System_Registers_CP15_USER_READ_WRITE_THREAD_PROCESS_ID 0x0000000B 0x00000000 R System_Registers_CP15_USER_READ_ONLY_THREAD_PROCESS_ID 0x0000000B 0x00000000 R System_Registers_CP15_PRIVILEDGED_ONLY_THREAD_PROCESS_ID 0x0000000B 0x00000000 R System_Registers_CP15_SECONDARY_AUXILIARY_CONTROL 0x0000000B 0x00010002 R System_Registers_CP15_NVAL_IRQ_ENABLE_SET 0x0000000B 0x00000000 R System_Registers_CP15_NVAL_FIQ_ENABLE_SET 0x0000000B 0x00000000 R System_Registers_CP15_NVAL_RESET_ENABLE_SET 0x0000000B 0x00000000 R System_Registers_CP15_NVAL_DEBUG_REQUEST_ENABLE_SET 0x0000000B 0x00000000 R System_Registers_CP15_NVAL_IRQ_ENABLE_CLEAR 0x0000000B 0x00000000 R System_Registers_CP15_NVAL_FIQ_ENABLE_CLEAR 0x0000000B 0x00000000 R System_Registers_CP15_NVAL_RESET_ENABLE_CLEAR 0x0000000B 0x00000000 R System_Registers_CP15_NVAL_DEBUG_REQUEST_ENABLE_CLEAR 0x0000000B 0x00000000 R System_Registers_CP15_BUILD_OPTIONS_1 0x0000000B 0x08000000 R System_Registers_CP15_BUILD_OPTIONS_2 0x0000000B 0xBF1A4400 R System_Registers_CP15_CORRECTABLE_FAULT_LOCATION 0x0000000B 0x02000009
谢谢
您好 Gabriel、
我们现在正在处理您的问题、我们将很快提供更新。
--
谢谢、此致、
Jagadish。
您好 Gabriel、
您能否提供代码以方便调试?
--
谢谢、此致、
Jagadish。
你好,Jagadish
我刚才通过提高 xPortStartScheduler()函数中的权限来解决了我的问题。
我认为访问 内核代码时需要它。 话虽如此、我不确定具体原因。
你有什么想法吗?
您好 Gabriel、
让我检查一下。
您好 Gabriel、
由 RTOS 内核维护的数据 位于 RAM 区域中、只有在微控制器处于特权模式时才能访问该区域。
有关更多详细信息、请浏览以下主题。
(+) TMS570LS3137ZWT FreeRTOS MPU -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
--
谢谢、此致、
Jagadish。
感谢 Jagadish 的帮助。