Я очень новичок во встроенном мире. Я до сих пор работал только на S / W
Может кто-нибудь объяснить, пожалуйста, использование Arduino Bootloader? Я хочу, чтобы Arduino выполнил простую математику, используя некоторые дополнительные компоненты, которые должны быть вставлены в чип.
Нужен ли обязательно загрузчик?
источник
Arduino необходим загрузчик для программирования ваших эскизов через последовательный порт / USB. Без него вам потребуется встроенный программатор AVR (ISP) для непосредственного программирования флэш-памяти в микросхеме AVR.
Если вы купите Arduino, он выйдет с уже загруженным загрузчиком в чип AVR. Вам нужно беспокоиться об этом, только если вы строите свою собственную доску.
Это должно помочь: я не понимаю концепцию Arduino
источник
Я дам немного более теоретический ответ; другие ответы довольно хороши с практической точки зрения. Загрузчик - это код, который находится в специальном сегменте флэш-памяти. Коду, находящемуся в этом сегменте, разрешено выполнять инструкции самопрограммирования, что позволяет изменять флэш-память (т. Е. Там, где находится код пользователя) без использования обычного программатора (например, ISP для системного программирования или HVP для программирования высокого напряжения), такого как STK500 или AVRISP mkII.
В принципе, подпрограмма обслуживания прерывания получения данных UART (ISR) выполняет функциональный вызов кода загрузчика, который копирует образ программы, отправляемый последовательно в пространство пользовательских программ во флэш-памяти. При запуске, какая бы ни была программа на чипе, начинает работать, но, если правильно сформированные последовательные данные получены рано, AVR переходит в своего рода режим самопрограммирования. В UART ISR есть некоторая логика, которая во время запуска откладывает код загрузчика только на короткий промежуток времени. Детали немного сложнее, но это основная идея.
Прелесть этого в том, что вы можете купить Arduino и ничего более, загрузить бесплатную интегрированную среду разработки (IDE) и начать писать наброски (программы) Arduino и загружать их на AVR просто так, через USB не меньше, спасибо к причудливой маленькой микросхеме FTDI, встроенной в плату Arduino.
источник