Микроконтролер и буутлоудъра

Микроконтролер и буутлоудъра

Така че, с прости думи, буутлоудъра - специална програма, която се намира в паметта на микроконтролера и да го препрограмира себе си. Нека да видим как програмата обикновено се извършва за по-добро разбиране на процеса, пришита в микроконтролера, и къде се намира.

Микроконтролер и буутлоудъра

Изглежда, че е ясно, организиран, но въпросът е - защо е необходимо всички?

Нека да разгледаме един бърз пример за по-добро разбиране. Да предположим, че сме създали буутлоудъра (буутлоудъра - точно по същия стандарт на работа, точно като всяка друга програма за микроконтролер), която изпълнява взаимодействието с външна карта с памет, гледайки картата на файла на програмата, а ако се открие, пише в програмата на желаното място на паметта.

Малко отклонение от основната тема ... Нека обясня какво имам предвид тук под "програма файл".

Всичко това, разбира се, много интересно, но тя все още не е ясно защо се нуждаем от всички тези трудности ....

С това всъщност е проста - тук, например, първата ситуация - има огромен брой устройства на работниците фабричните зашити към всеки контролер (например, с помощта на ST-Link) на всяка дъска буутлоудъра. които при свързване към флаш карта (в предварително определен слот) я търси и файла на фърмуера е програмиране. Основна програма, разбира се, също така може да бъде зашит заедно с bootloader'om през ST-Link. Но финес тук е, че bootloader'a проект винаги остава една и съща и не трябва да го reflash, но основната версия на програмата може да се актуализира един куп пъти в процеса на устройства за тестване. И тук е много по-лесно, след като за свързване на ST-Link и флаш зареждане на ОС, а впоследствие просто да хвърлят нова версия на основната програма във флаш-паметта и го залепете в готовия устройството, което ще мига буутлоудъра. от сто пъти, за да се движат от една карта в друга, се придържаме ST-Link, докато вдигат лаптоп с ST-Link Utility ... Както можете да видите, ползата е очевидна товарач 😉

Втората ситуация е по-добре, отколкото го показва. Устройството вече, произвеждан и продаван куп копия от потребители. Колко е хубаво да не е последната версия на програмата никой не е в безопасност от неочаквана грешка по време на работа. И тук е човекът, който купува на устройството, просто не може да го разглобим и припой за извършване на повторно програмиране чрез програмист. Това означава, че актуализация на програмата е просто нереалистично. Това е съвсем друго нещо, ако производителите са предоставили вграден буутлоудъра. Потребителят може да хвърлят без проблеми на карта с памет или флаш устройство за свързване на изтегления двоичния код и карта / памет стик към устройството. Производителят може да качва само нова версия на фърмуера на вашия сайт =) Това всъщност е покрита много възможности - производител на устройството може лесно да пусне устройство на пазара с основен фърмуер, който реализира всички необходими функции, но не съдържа никакви хубави графични обекти или свързаност PC (в зависимост от това какъв вид устройство). Производителите не трябва да мисля, да се освободи първи път перфектно фърмуер, който ще се продава абсолютно всичко, което може, защото той знае, че вградения буутлоудъра без никакви проблеми в бъдеще ще помогне на потребителя да обновите програмата.

Като цяло, ползите и товарачна приложения могат да говорят много дълго време ...;) В допълнение към тези функции, актуализацията на фърмуера с помощта на флаш устройство или карта с памет, буутлоудъра могат да използват някой от интерфейсите на данни, като SPI, I2C или USART.

В общи линии, като се занимавахме с теоретичната част, посветена на използването на bootloader'a. но нека да обсъдим още една точка в тази статия, а именно - хардуер STM32 микроконтролери товарач.

Ние вече имаме STM32 буутлоудъра. ST инженери, които са били поставени в специално определено за целта място на паметта на микроконтролера (Системна памет). Премахване на това не може да има, и няма причина =) За въвеждане на контролера в режим на буутлоудъра трябва да представят определени сигнали BOOT0 BOOT1 и крака. След това, USART на микроконтролер е готов да поеме новия фърмуер. За да направите това, свържете картата към компютъра ви, изтеглите специален softinkoy от ST - Flash Loader демонстратор и да го качите фърмуера файл.

Аз, честно казано, хардуер товарач предпочитат да не се използва по няколко причини. На първо място, на фърмуера не е криптирана, често е неприемливо за търговски устройства. Ако използвам собствената си буутлоудъра. Мога да направя с бин файл всичко, което искате, например, да се променят някои места байта. Ако файлът попадне в ръцете на конкурентите си, че няма да работи, веднага след като ми буутлоудъра знае как да дешифрирате двоичен. При използване на хардуер botloader'a е невъзможно - Flash Loader демонстратор взема бин файла в оригиналния си вид, тоест, всички байтове не е шифрована. На второ място, потребителят ще трябва да свържете вашата карта на вашия компютър и изтегляне на допълнителен софтуер за флаш устройството, и то не е много добро. Най-лесно е да използвате устройството, толкова по-добре 😉 но има и плюсове bootloader'a хардуер - тя не взема флаш-памет. Когато използвате буутлоудъра да се има предвид, че и двете товарача и основната програма трябва да се вмести в флаш-памет. С хардуер bootloader'om няма такъв проблем - той се намира в специална област от паметта се използва, че програмистът не могат.

Нека на това днес и ще завърши, не пропускайте една статия, посветена на практическото изпълнение на товарача!