Как получить более быструю загрузку с Adafruit Feather SAMD21?

Adafruit Feather SAMD21 занимает около двух секунд от подачи питания до запуска функции setup (). Как я могу сократить это время, чтобы setup() запустилась раньше? Я измеряю это время с помощью источника питания, а другие, похоже, измеряют то же время своими глазными яблоками.

Я понимаю, что 328 микроконтроллеров можно заставить загружаться быстрее (почти мгновенно с человеческой точки зрения), например, используя различные загрузчики, но я не нашел ни одного для M0 SAMD21, ни другого метода.

Код не имеет отношения к делу, потому что пример blink показывает один и тот же таймфрейм, но вот еще один пример:

//никаких библиотек, глобальных переменных, ничего.
setup(){ 
digitalWrite(LED_BUILTIN, HIGH);
}

loop(){
}

, 👍1

Обсуждение

Я не думаю, что это имеет значение, потому что другие люди наблюдают одно и то же время начала. Во всяком случае, извиняюсь за форматирование setup(){ digitalWrite(LED_BUILDIN,HIGH);} loop(){} Больше ничего нет ни до, ни после. Стандартный пример мигания показывает то же самое., @rfii

Измеряется с помощью источника питания. Другие люди наблюдают примерно в то же время., @rfii


1 ответ


Лучший ответ:

1

Сверившись со спецификацией SAMD21, я убедился, что процессор запускается сразу же, как только внутренние часы становятся стабильными. Это происходит быстро. Вектор сброса направляет выполнение на загрузчик Arduino, который, безусловно, вращается в ожидании подключения программатора Arduino. Если этого не происходит во время этой задержки, загрузчик переходит к резидентному приложению. Задержка без активности-это то, как загрузчик определяет, что вы хотите запустить приложение. Вы можете устранить это, запрограммировав процессор с помощью аппаратного программатора/отладчика и избавившись от загрузчика Arduino.

Аппаратные программаторы также позволяют отлаживать точки останова исходного уровня. Вам просто нужно научиться использовать приличную среду программирования IDE. Хороший prgrammer обойдется вам примерно в 160 долларов.

,

Потрясающая идея и исследование! Спасибо. Есть ли у вас ссылка на тип программатора и IDE или что вы подразумеваете под удалением загрузчика? Может быть, это? https://learn.adafruit.com/how-to-program-samd-bootloaders, @rfii