我有一个在 MPC5748G 处理器上运行但只使用三个内核之一的项目。我试图让它使用所有内核运行。我遇到的问题是代码在从调试器运行时尝试安装 SD 卡时崩溃,我认为它在从闪存运行时尝试初始化调试控制台时崩溃。你知道什么会导致 Z4_0 核心崩溃吗?
Z4_0
int 主要(无效)
{
/* 在这里写下你的局部变量定义 */
/*** Processor Expert 内部初始化。不要删除此代码!!!***/
#ifdef PEX_RTOS_INIT
PEX_RTOS_INIT(); /* 所选 RTOS 的初始化。宏由 RTOS 组件定义。*/
#万一
/*** 处理器专家内部初始化结束。***/
// *isCfgLoaded = CFG_NOT_LOADED;
/* 在这里写你的代码 */
CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT, g_clockManCallbacksArr, CLOCK_MANAGER_CALLBACK_CNT);
CLOCK_SYS_UpdateConfigura
tion(0U,CLOCK_MANAGER_POLICY_AGREEMENT);
/* 初始化引脚 */
PINS_DRV_Init(NUM_OF_CONFIGURED_PINS,g_pin_mux_InitConfigArr);
// 初始化通道 0
//PIT_DRV_InitChannel(INST_PIT1, &pit1_ChnConfig0);
// 开始通道 0 计数
//PIT_DRV_StartChannel(INST_PIT1, pit1_ChnConfig0.hwChannel);
#if (SDK_DEBUGCONSOLE)
/* 初始化调试控制台以在终端上显示输出 */
DbgConsole_Init(DEBUG_CONSOLE_SPEED, DEBUG_CONSOLE_DEVICE_TYPE_UART);
#endif /* (SDK_DEBUGCONSOLE) */
// 为 uSDHC 初始化 FATFS
uSDHC_fatfs_initialize();
// 开始主任务。该任务负责启动核心Buoy任务和其他基于类型的任务
// 浮标单位设置为。
xTaskCreate(OPT_Main,
(const char *const)MAINTASK_TASK_NAME,
MAINTASK_TASK_STACK_SIZE,
无效的,
MAINTASK_TASK_PRIORITY,
无效的);
xTaskCreate( vLEDTask, ( const char * const ) “LedTask”, configMINIMAL_STACK_SIZE, (void*)0, mainLED_TASK_PRIORITY, NULL );
// 启动调度器。
vTaskStartScheduler();
/*** 不要写任何经过这一行的代码,否则它会在代码生成时被删除。***/
/*** 实时操作系统启动代码。宏 PEX_RTOS_START 由 RTOS 组件定义。不要修改此代码!!!***/
#ifdef PEX_RTOS_START
PEX_RTOS_START(); /* 启动选定的 RTOS。宏由 RTOS 组件定义。*/
#万一
/*** RTOS 启动代码结束。***/
/*** Processor Expert 主例程结束。不要修改此代码!!!***/
为了(;;) {
如果(退出代码!= 0){
休息;
}
}
返回退出代码;
/*** Processor Expert 主例程结束。不要在下面写代码!!!***/
} /*** 主例程结束。不要修改此文本!!!***/
Z4_1
int 主要(无效)
{
/* 在这里写下你的局部变量定义 */
/*** Processor Expert 内部初始化。不要删除此代码!!!***/
#ifdef PEX_RTOS_INIT
PEX_RTOS_INIT(); /* 所选 RTOS 的初始化。宏由 RTOS 组件定义。*/
#万一
/*** 处理器专家内部初始化结束。***/
/* 在这里写你的代码 */
CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT, g_clockManCallbacksArr, CLOCK_MANAGER_CALLBACK_CNT);
CLOCK_SYS_UpdateConfiguration(0U,CLOCK_MANAGER_POLICY_AGREEMENT);
/* 初始化引脚 */
PINS_DRV_Init(NUM_OF_CONFIGURED_PINS,g_pin_mux_InitConfigArr);
xTaskCreate( vLEDTask, ( const char * const ) “LedTask”, configMINIMAL_STACK_SIZE, (void*)1, mainLED_TASK_PRIORITY+1, NULL );
// 启动调度器。
vTaskStartScheduler();
/*** 不要写任何经过这一行的代码,否则它会在代码生成时被删除。***/
/*** 实时操作系统启动代码。宏 PEX_RTOS_START 由 RTOS 组件定义。不要修改此代码!!!***/
#ifdef PEX_RTOS_START
PEX_RTOS_START(); /* 启动选定的 RTOS。宏由 RTOS 组件定义。*/
#万一
/*** RTOS 启动代码结束。***/
/*** Processor Expert 主例程结束。不要修改此代码!!!***/
为了(;;) {
如果(退出代码!= 0){
休息;
}
}
返回退出代码;
/*** Processor Expert 主例程结束。不要在下面写代码!!!***/
} /*** 主例程结束。不要修改此文本!!!***/
Z2_2
int 主要(无效)
{
/* 在这里写下你的局部变量定义 */
/*** Processor Expert 内部初始化。不要删除此代码!!!***/
#ifdef PEX_RTOS_INIT
PEX_RTOS_INIT(); /* 所选 RTOS 的初始化。宏由 RTOS 组件定义。*/
#万一
/*** 处理器专家内部初始化结束。***/
/* 在这里写你的代码 */
CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT, g_clockManCallbacksArr, CLOCK_MANAGER_CALLBACK_CNT);
CLOCK_SYS_UpdateConfiguration(0U,CLOCK_MANAGER_POLICY_AGREEMENT);
/* 初始化引脚 */
PINS_DRV_Init(NUM_OF_CONFIGURED_PINS,g_pin_mux_InitConfigArr);
xTaskCreate( vLEDTask, ( const char * const ) “LedTask”, configMINIMAL_STACK_SIZE, (void*)2, mainLED_TASK_PRIORITY+2, NULL );
// 启动调度器。
vTaskStartScheduler();
/*** 不要写任何经过这一行的代码,否则它会在代码生成时被删除。***/
/*** 实时操作系统启动代码。宏 PEX_RTOS_START 由 RTOS 组件定义。不要修改此代码!!!***/
#ifdef PEX_RTOS_START
PEX_RTOS_START(); /* 启动选定的 RTOS。宏由 RTOS 组件定义。*/
#万一
/*** RTOS 启动代码结束。***/
/*** Processor Expert 主例程结束。不要修改此代码!!!***/
为了(;;) {
如果(退出代码!= 0){
休息;
}
}
返回退出代码;
/*** Processor Expert 主例程结束。不要在下面写代码!!!***/
} /*** 主例程结束。不要修改此文本!!!***/
0