Переглянути джерело

Merge pull request #385 from Defragster/patch-6

Teensy4: Startup Hooks
main
Paul Stoffregen 5 роки тому
джерело
коміт
ab83544af0
Аккаунт користувача з таким Email не знайдено
1 змінених файлів з 6 додано та 0 видалено
  1. +6
    -0
      teensy4/startup.c

+ 6
- 0
teensy4/startup.c Переглянути файл

@@ -35,6 +35,10 @@ uint32_t set_arm_clock(uint32_t frequency); // clockspeed.c
extern void __libc_init_array(void); // C++ standard library


void startup_default_early_hook(void) {}
void startup_early_hook(void) __attribute__ ((weak, alias("startup_default_early_hook")));
void startup_default_late_hook(void) {}
void startup_late_hook(void) __attribute__ ((weak, alias("startup_default_late_hook")));
__attribute__((section(".startup"), optimize("no-tree-loop-distribute-patterns"), naked))
void ResetHandler(void)
{
@@ -115,12 +119,14 @@ void ResetHandler(void)
}
SNVS_HPCR |= SNVS_HPCR_RTC_EN | SNVS_HPCR_HP_TS;

startup_early_hook();
while (millis() < 20) ; // wait at least 20ms before starting USB
usb_init();
analog_init();
pwm_init();
tempmon_init();

startup_late_hook();
while (millis() < 300) ; // wait at least 300ms before calling user code
//printf("before C++ constructors\n");
__libc_init_array();

Завантаження…
Відмінити
Зберегти