NFLic

STM8uLoader компактный STM8 UART загрузчик

 

Компактный (20 байт в памяти FLASH для версии $14 и 18 байт в памяти FLASH для версии $25, 53 байта в резервной области блока памяти OPTION bytes для версии $14 и $25) UART загрузчик микроконтроллеров STM8, не имеющих встроенного загрузчика (тестируется на STM8S103F3). Предназначен для чтения / записи / стирания / копирования / передачи управления адресного пространства микроконтроллера STM8 через UART без использования программатора. Загрузчик не перемещает таблицу векторов прерываний, занимает FLASH память в адресах $8000...$8003 (для версии $14 и $25), $9FF0...$9FFF (для версии $14), $9FF2...$9FFF (для версии $25). Загрузчику доступен полный диапазон адресов $0000...$9FFF (при желании можно расширить) на чтение. Загрузчик способен писать код в память RAM, EEPROM, HW registers, FLASH, OPTION Bytes; переносить код из EEPROM в RAM; передавать управление прикладной программе в RAM или FLASH. Планируется снабдить загрузчик функцией терминала для двустороннего общения по UART с прикладной программой.

 

[Где взять, как подключить, как пользоваться] Описано требуемое оборудование, как сформировать необходимый начальный код в памяти STM8, схемы подключения. Требования к исходному коду STM8 при работе с загрузчиком. Предоставлены ссылки на исполняемый файл, файлы прошивки загрузчика.

 

[Требования к загрузчику. (Статья 1)] Описаны требования к проектируемому загрузчику. Предоставлены ссылки на файл прошивки, формирующий необходимый код в памяти микроконтроллера при первом запуске.

 

[Функционал копировщика boot_FLASH. (Статья 2)] Описан функционал начального копировщика boot_FLASH расположенного в адресах $8000...$8003, $9FF0...$9FFF FLASH памяти программ. Приведен исходный код копировщика.

 

[Функционал начального загрузчика boot_OPTION. (Статья 3)] Описан функционал начального загрузчика boot_OPTION образ которого расположен в адресах $480B...$483F блока OPTION bytes. Исполняемый код начального загрузчика расположен в адресах $0000...$0034 RAM памяти. Приведен исходный код загрузчика.

 

[Функционал хост-программы boot_PC. (Статья 4)] Описан функционал хост-программы boot_PC компьютера, необходимой для общения с загрузчиком.

 

[COM-порт и чтение адресного пространства STM8 в консоль.] Описана инициализация COM-порта, общение с загрузчиком, вывод в консоль адресного постранства микроконтроллера STM8. Приведены исходные коды C#, asm и исполняемые файлы.

 

[Создатель дампов. (Статья 6)] Описана программа создатель дампов(модулей) из файлов прошивки. Модули включаются в исходный код программы boot_PC и подгружаются в верхнюю область памяти RAM микроконтроллера STM8 для выполнения текущего функционала. Приведены исходные коды C#, asm и исполняемые файлы.

 

[Класс Dumps. Модули чтения памяти (Статья 7)] Описаны модули/дампы для чтения адресного пространства микроконтроллера STM8. Приведены исходные коды C#, asm и исполняемые файлы.

 

[Класс Dumps. Модули записи и копирования в память RAM. (Статья 8)] Описаны модули/дампы для записи/копирования в память RAM микроконтроллера STM8. Приведены исходные коды C#, asm и исполняемые файлы.

 

[Класс Dumps. Модули записи в память EEPROM. (Статья 9)] Описаны модули/дампы для записи в память EEPROM программ микроконтроллера STM8. Приведены исходные коды C#, asm и исполняемые файлы.

 

[Класс Dumps. Модули записи в память FLASH. (Статья 10)] Описаны модули/дампы для записи в память FLASH данных микроконтроллера STM8. Приведены исходные коды C#, asm и исполняемые файлы.

 

[Методы сортировки содержимого по блокам / словам / байтам (Статья 11)] Описаны методы сортировки областей EEPROM и FLASH файла прошивки для возможности записи блоками. Приведены исходные коды C#, asm.

 

[Изучаем область HW registers (Статья 12))] Анализ области HW Registers на предмет использования ячеек для хранения переменных.