Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Bootloader AN1310 в протеусе PIC18 C18 вешается

Пн фев 26, 2018 15:36:18

Подскажите где копать.
Скачал загрузчик от микрочипа AN1310. В скачанном есть прога для компа и исходники для bootloader для PIC18 ( C18 ) с примерами апликейшенов совместимых для для загрузки в PIC через bootloader.

Соорудил простейшую отладку на Proteus. На компе запустил скачанный Serial Bootloder 1.05r от микрочипа.
На компе Serial Bootloder стартует и коннектится с боотлоадером в PIC. Читает память и все прочее. Только пишет что законнектился c PIC18F6722, хотя все готовые исходники сделаны для PIC18F8722.
При попытке загрузить в PIC готовое решение-пример (перемапленное для загрузки через booloader) все вешается и Serial Bootloader на компе теряет связь с PICOM.
Исходники компиляю через MPLAB IDE 8.92 ( C18 ). Все компилится без проблем.

Буду рад любой помощи.

p.s. есть еще непонятки с прогой на компе - описание самомго PIC-чипа. Требует файл *.pic. Такого файла нигде не нашел. Я ему подсовываю device.inc из исходников Bootloader. Может в этом проблема?

Может быть Proteus не позволяет делать запись в память программ из программного кода?

Re: Bootloader AN1310 в протеусе PIC18 C18 вешается

Пн фев 26, 2018 17:41:40

При попытке загрузить в PIC готовое решение-пример (перемапленное для загрузки через booloader) все вешается и Serial Bootloader на компе теряет связь с PICOM.

а если это решение зашить программатором, будет работать? Или с адресацией не то, или прерывания не переопределены
я бы для начала загружал бы код простой мигалки светодиода с запрещенными прерываниями, а потом уже по нарастающей усложнял бы...

Re: Bootloader AN1310 в протеусе PIC18 C18 вешается

Пн фев 26, 2018 19:08:42

Pitekantrop писал(а):Может быть Proteus не позволяет делать запись в память программ из программного кода?
А куда ему писать данные, в hex-файл, который Вы ему подсунули ?

Re: Bootloader AN1310 в протеусе PIC18 C18 вешается

Пн фев 26, 2018 19:54:24

При попытке загрузить в PIC готовое решение-пример (перемапленное для загрузки через booloader) все вешается и Serial Bootloader на компе теряет связь с PICOM.

а если это решение зашить программатором, будет работать? Или с адресацией не то, или прерывания не переопределены
я бы для начала загружал бы код простой мигалки светодиода с запрещенными прерываниями, а потом уже по нарастающей усложнял бы...


Программатор не нужен. Все делаю в Proteus, подсовываю hex-файл. Уже пробовал - упростил код до мигания светодиодиками без всяких прерываний. Если в протеус подставляю как hex-файл, то все работает. А при попытке загрузить через bootloader - все дохнет.

Добавлено after 18 minutes 58 seconds:
Pitekantrop писал(а):Может быть Proteus не позволяет делать запись в память программ из программного кода?
А куда ему писать данные, в hex-файл, который Вы ему подсунули ?

Это действительно интересный момент. Я предположил, что код программы загружается в нейкий буфер в самой модели конкретного PIC-а в Proteus. Если программный код выполняется прямо чтением из hex-файла без предварительной загрузки в какую-либо модель внутренней памяти, то тогда выходит что команды записи в память программ просто не поддерживаются в Proteus. Странновато как-то....хотя....чего только не бывает. Но меня в заблуждение ввел вот такой момент - с помощью загруженного bootloadera я загружаю коротенькое приложение по конкретному адресу в память программ. Загрузка начинается...и потом прерывается ошибкой записи/инициализации(когда как). Но bootloader иногда остается на связи с загрузчиком на компе и можно увидеть память. И в этой памяти начиная с адреса загрузки приложения торчит код загружаемого приложения.....но не весь.....только начальный нейкий ксочек. То есть запись в память программ начинает идти....но криво и все валится. Вот мне и показалось, самомодификация кода возможна..... Но видимо я ошибаюсь. Может ярые протеусники что подскажут....и на самом деле такие фокусы в Proteus не работают.
Ответить