任务十:Page 55-Page 60(Dual core HOT with MCUXPresso-Part2) 
(第55页) 双核调试 - 进入调试会话 ● 首先选择M4工程,然后进入调试会话 - 请勿尝试先调试M0+工程。 ● 在M4工程的调试会话中,用户可以按原样调试M4工程。 ● 如果用户还需要调试M0+工程,那么请勿退出M4工程的调试会话,而是选择M0 +项目,然后进行调试。 - MCUXPresso自动检测M0+项目是“从”,并将其合并到M4调试会话。 ● 从现在起,两个项目都可以同时进行调试。
只有M4调试时的调试视图
调试M0+后的调试视图

(第56页) 双核调试:尝试一下 ● 只有M4调试时的调试视图 ● 在本文中,当按下“SW1”按钮时,M4复位并且重启M0 +。 按下“SW1”按钮,然后释放,你会发现当你松开“SW1”时,M0 +工程会自动停止在“main()”。 ● 调试H/W互斥量 - 1. 在M4代码的“mutexGive();”处设置断点,然后在M0+代码的“mutexTake()” 后设置断点。 - 2. 单击“ ” 使得两个内核同时运行,当M4工程停在断点时,按下“F6”按键,使得M4发出MUTEX,你会发现M0+工程也会停在“mutexTake();”之后 。 - 注意:一旦你运行其中的一个内核,另一个内核也将运行,即使它停止在断点处。
当按下“SW1”按钮时,M0+停在main
在M4工程中,按下“F6”按钮单步调试
然后M0+工程停在断点处

(第57页) 工作流程

(第58页) 特殊控制按钮 ● 按住SW1按钮,将M0保持在复位状态,松开SW1按钮就会释放M0。 您只会看到绿色灯闪烁,显示主循环的迭代。 - 注意:当M0+工程处于调试会话时,松开“SW1”按钮后,M0+会重新启动,MCUXPresso IDE会自动停止M0+在“main()”中,所以即使松开“SW1”按钮,也需要手动按下“F8”使M0+内核运行。 ● 按住SW2按钮,阻止M4释放硬件互斥信号,并保持主循环的迭代,从而暂停闪烁。

(第59页) 重要函数(SDK) ● (M4, M0+) void MAILBOX_SetValue(MAILBOX_Type *base, mailbox_cpu_id_t cpu_id, uint32_t mboxData); - 将 “mboxData”值(非零)设置为CPU“cpu_id”,并触发其MAILBOX。 ● (M4, M0+) uint32_t MAILBOX_GetValue(MAILBOX_Type *base, mailbox_cpu_id_t cpu_id); - 获取CPU“cpu_id”的邮箱值。 ● (M4, M0+) void MAILBOX_ClearValueBits(MAILBOX_Type *base, mailbox_cpu_id_t cpu_id, uint32_t mboxClrBits); - 清除“mboxClrBits”屏蔽的CPU“cpu_id”的邮箱值位,使用0xFFFFFFFF清除所有位。 ● (M4, M0+) uint32_t MAILBOX_GetMutex(MAILBOX_Type *base); - 获取H / W MUTEX值,同时MUTEX被硬件清零,在一段时间循环中尝试锁定MUTEX时使用该函数。 ● (M4, M0+) void MAILBOX_SetMutex(MAILBOX_Type *base); - 解锁/产生互斥信号。在代码成功锁定H/W MUTEX后必须调用该函数。

(第60页) 重要函数(用户) ● (M4) void CPU_CM0pHoldReset(void); - 保持M0+处于复位状态。 ● (M4) void CPU_CM0pRelease(void); - 从复位状态释放M0+。. ● (M4) void CPU_CM0pBoot(const uint32_t imgVecTab[2]); - 填充M0 +引导条件(MSP、复位向量)并复位M0 +,M0 +引导代码将检测引导条件,然后应用。 ● (M4, M0+) void MAILBOX_IRQHandler(void); - Mailbox IRQ处理程序,由其他内核写入非零值到邮箱寄存器从而触发。 ● (M4, M0+) #define mutexTake() while (MAILBOX_GetMutex(MAILBOX) == 0)\ - 尝试锁定H/W MUTEX ● (M4, M0+) #define mutexGive() MAILBOX_SetMutex(MAILBOX) - 解锁MUTEX

翻译的文件:
Page 55-Page 60(Dual core HOT with MCUXPresso-Part2).rar
(228.23 KB, 下载次数: 10)
|