Завершаю свой проект, но на последнем этапе требуется помошь, господа коты, подскажите!
Коротко - делаю блок управления более-менее "умной" логикой на объекте.
К центру прицеплено по РС485 куча датчиков, от них собирается телеметрия, обрабатывается, и передается на сервер через IP-сеть. Тут долго рассказывать... тема узкоспецифическая. Кодил это последние 4 месяца, все завершено.
В центральном подуле основа - проц 18F26K22, к нему помимо всего прочего прицеплен ЕНЦ 28J60, и nor-флешка.
На финише осталось теперь сделать, чтобы сие устройство можно было обновить удаленно, т.е написать бутлоадер.
Я могу через сеть напрямую писать во флешь произвольные даныные в произвольную позицию, откуда потом бутлоадер при рестарте может обновить содержимое процессорной памяти.
Все это если рассматривать по отдельности, в принципе проблемы не представляет, по крайней мере после победы над флешью вообще, и чипом ENC в том числе, над чем основательно и успешно вывихнул мозги))).
Подскажите пожалуйста, конкретными советами (ибо морально силы на исходе), требуется слепить это воедино. (т.е БУТ и основную прошивку, на 26К22). Поскольку прерывания в 26К22 расположены в начале процессорной памяти, нет никакой возможности расположить весь бут целиком в начале процессора. Логика подсказывает, что в 0-м оффсете процессора надо разместить что-то типа
asm("goto OFFSET"), и в этом оффсете расположить БУТ, с последующим возвратом в точку расположенную прямо после первой инструкции в начале процессора(ну а там БУТ будет решать, скопировать из NORa чего-то или просто вернуть управление).
В процессе написания описанного монстра нигде не применял дополнительных опций компилятора и линкера, только выставил оптимизацию в normal, ну.. где выставляется offset видел, указывать пробовал, но вопрос как их соединить все равно открыт.
Вот допустим, создаю 2-й проект-BOOT, помимо основного, в котором делаю всю логику БУТа. Как собрать их воедино? Как сделать чтобы в нулевом оффсете PICa располагалось asm(goto...)
Компилятор ХС8 1,45, МПЛАБ Х последней версии, проц повторюсь, PIC18F26K22, хотя кстати собрал этот же проект и под 27К40, там памяти в 2 раза больше, но как оказалось мне и в 26К22 все шикарно влезло, места для БУта достаточно.
И второе. Для начала, я хочу собрать единый ХЕКС для прошивки.
А как получить BIN, который буду записывать в NOR через удаленку? непосредственно пригодный для копирования в процессор?


