mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-14 08:47:45 -04:00
* Added explicit cast to allow roll over and avoid integer promotion during cycles counters comparison in recmutex.c. * Fixed type mismatch between declaration and definition of function xAreSemaphoreTasksStillRunning( void ). * Added Atmel Studio demo projects for ATMega4809 and AVR128DA48. * Per https://www.freertos.org/upgrading-to-FreeRTOS-V8.html, I'm updating portBASE_TYPE to BaseType_t. Signed-off-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com> * Update register test for ATmega4809 - to cover r28, r29, r31. - call public API taskYIELD() instead of portYIELD(). * Update ATmega4809 readme.md to include info for serial port setup, and minor wording fix. Co-authored-by: Alexandru Niculae - M17336 <alexandru.niculae@microchip.com>
64 lines
No EOL
2 KiB
C
64 lines
No EOL
2 KiB
C
#ifndef CLK_CONFIG_H_
|
|
#define CLK_CONFIG_H_
|
|
|
|
#include "FreeRTOSConfig.h"
|
|
|
|
#if (configCPU_CLOCK_HZ == 24000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_24M_gc);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 20000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_20M_gc);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 16000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_16M_gc);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 12000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_12M_gc);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 10000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_20M_gc);\
|
|
_PROTECTED_WRITE(CLKCTRL.MCLKCTRLB, CLKCTRL_PDIV_2X_gc | CLKCTRL_PEN_bm);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 8000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_8M_gc);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 6000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_12M_gc);\
|
|
_PROTECTED_WRITE(CLKCTRL.MCLKCTRLB, CLKCTRL_PDIV_2X_gc | CLKCTRL_PEN_bm);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 5000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_20M_gc);\
|
|
_PROTECTED_WRITE(CLKCTRL.MCLKCTRLB, CLKCTRL_PDIV_4X_gc | CLKCTRL_PEN_bm);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 4000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_4M_gc);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 3000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_12M_gc);\
|
|
_PROTECTED_WRITE(CLKCTRL.MCLKCTRLB, CLKCTRL_PDIV_4X_gc | CLKCTRL_PEN_bm);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 2000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_2M_gc);
|
|
|
|
#elif (configCPU_CLOCK_HZ == 1000000)
|
|
|
|
#define CLK_init() _PROTECTED_WRITE(CLKCTRL.OSCHFCTRLA, CLKCTRL_FREQSEL_1M_gc);
|
|
|
|
#else
|
|
|
|
#error The selected clock frequency is not supported. Choose a value from the NOTE in FreeRTOSConfig.h.
|
|
|
|
#endif
|
|
|
|
#endif /* CLK_CONFIG_H_ */ |