You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
565 B
C
43 lines
565 B
C
#include "core.h"
|
|
#include "clocks.h"
|
|
#include "memory.h"
|
|
|
|
void mcu_init(void)
|
|
{
|
|
// nvm init
|
|
mem_nvm_init();
|
|
// osc32k init
|
|
clock_osc32k_init();
|
|
|
|
// osc init
|
|
clock_osc_init();
|
|
|
|
// master clock init
|
|
clock_mclk_init();
|
|
|
|
// generators init
|
|
clock_gclk_init();
|
|
|
|
// dma init
|
|
mem_dma_init();
|
|
|
|
// port event init
|
|
|
|
|
|
// cache init
|
|
mem_cache_init();
|
|
}
|
|
|
|
void atomic_enter_critical(uint32_t volatile* atomic)
|
|
{
|
|
*atomic = __get_PRIMASK();
|
|
__disable_irq();
|
|
__DMB();
|
|
}
|
|
|
|
void atomic_leave_critical(uint32_t volatile* atomic)
|
|
{
|
|
__DMB();
|
|
__set_PRIMASK(*atomic);
|
|
}
|