В процессе поиска загрузчика для микроконтроллера STM8S103F3 было обнаружено, что имеющиеся загрузчики в основном написаны на ”C”, «крадут» значительный объем у FLASH памяти, переносят таблицу векторов прерываний.
Загрузчик был необходим для некоего устройства, к которому невозможно подключить программатор.
Было решено попробовать самостоятельно написать загрузчик со следующими требованиями:
— загрузчик должен был называться STM8uLoader;
— код должен быть написан на ассемблере (благо ассемблер законодательно пока не запрещен);
— загрузчик должен занимать минимально возможный объем во FLASH памяти, объем занимаемый в компьютере будем считать не ограниченным;
— загрузчик не должен перемещать таблицу векторов прерываний;
— загрузчик должен иметь минимальный функционал, весь основной функционал должен взять на себя компьютер;
— загрузчик должен передавать управление прикладной программе за разумное время после сброса/включения при отсутствии соединения с компьютером.
Первое условие было моментально выполнено, а вот над последующими требованиями пришлось потрудиться.
Читать полностью »