深入研究ARM Cortex M33内核 – 双核调试的方法
众所周知,恩智浦的LPC55S69微控制器带有两个Cortex M33内核,分别称为core0和core1。在本篇文章中,我们将向您展示如何使用MCUXpresso IDE调试这2个内核。
MCUXpresso IDE中的多核调试界面显示了两个不同的项目
我使用了用于lpcxpresso55s69的MCUXpresso SDK中的简单多核示例。这些项目是成对链接的,意味着导入一个项目会自动导入第二个项目。示例项目为lpcxpresso55s69_hello_world_cm33_core0和lpcxpresso55s69_hello_world_cm33_core1。
我对项目进行了少量编辑,以便core0项目在启动时将启动数据2000000L传递给core1。然后,我在core1添加了PRINTF()功能(#define“ fsl_debug_console.h” / BOARD_InitDebugConsole();),并使用uint32_t参数计数修改了函数delay()。这样,在core1上运行的代码可以从core0接收启动参数startupData,然后将其传递给delay()函数。但是请放心,如果您无法进行更改,则这些项目无需修改即可正常运行。
这些是多核项目:当我们第一次运行调试器时(在执行调试器发现之后),MCUXpresso将提示我们确定在调用调试器时应该连接哪个内核。我们很熟悉这个对话框,但是选择正确的内核很重要:
MCUXpresso IDE的调试器在SWD连接上标识了两个内核core0和core1。
作者:阿哲 文章出处:点击
|