我是多核世界的新手。我正在使用LPC43xx系列。我试图用我的辅助核心Cortex M0使LED闪烁。我想知道这些参考时钟和皮质M0中的处理器时钟之间的区别。参考时钟是指主核CM4的时钟吗?处理器时钟是指CM4的时钟吗?我有点不清楚CM4中有很多时钟,而CM0中没有任何时钟?我应该为闪烁(延迟)初始化哪个时钟?我的代码如下:
#include "lpc43xx_gpio.h"
#include "lpc43xx_scu.h"
#include "lpc43xx_cgu.h"
#include "LPC43xx.h"
#include "ipc_int.h"
#include "lpc43xx_libcfg_default.h"
#define LED1_BIT 7 //LEDUSB
#define LED1_PORT 7
/************************** PRIVATE VARIABLES *************************/
static uint32_t msec;
/************************** PRIVATE FUNCTIONS *************************/
void SysTick_Handler (void) ;
void SysTick_Handler (void) // SysTick Interrupt Handler @ 1000Hz
{
if(msec)msec--;
}
int c_entry (void) {
CGU_Init();
scu_pinmux(0xE ,7 , MD_PDN, FUNC4); // P8.1 : USB0_IND1 LED
GPIO_SetDir(LED1_PORT,(1<<LED1_BIT), 1);
SysTick_Config(CGU_GetPCLKFrequency(CGU_PERIPHERAL_M4CORE)/1000);
GPIO_ClearValue(LED1_PORT,(1<<LED1_BIT));
while (1)
{ // Loop forever
msec = 1000;
while(msec);
GPIO_ClearValue(LED1_PORT,(1<<LED1_BIT));
msec = 1000;
while(msec);
GPIO_SetValue(LED1_PORT,(1<<LED1_BIT));
}
}
int main(void)
{
return c_entry();
}
谢谢大家。
答案 0 :(得分:0)
根据LPC43xx User Manual的第170页,Cortex-M0内核时钟由BASE_PERIPH_CLK提供,而Cortex-M4由BASE_M4_CLK提供时钟。您可以将这些时钟的来源设置为同一章中所述的(许多,许多)允许来源中的任何一个。
您所指的“参考时钟”可能是以太网的参考时钟。