Я новичок в мире многоядерных процессоров. Я работаю с серией LPC43xx. Я пытаюсь мигать светодиодом на моем вторичном ядре Cortex M0. Я хотел бы знать разницу между этими эталонными часами и тактовыми частотами процессора в корте 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();
}
Спасибо всем.