При попытке загрузить в PIC готовое решение-пример (перемапленное для загрузки через booloader) все вешается и Serial Bootloader на компе теряет связь с PICOM.
а если это решение зашить программатором, будет работать? Или с адресацией не то, или прерывания не переопределены
я бы для начала загружал бы код простой мигалки светодиода с запрещенными прерываниями, а потом уже по нарастающей усложнял бы...
Программатор не нужен. Все делаю в Proteus, подсовываю hex-файл. Уже пробовал - упростил код до мигания светодиодиками без всяких прерываний. Если в протеус подставляю как hex-файл, то все работает. А при попытке загрузить через bootloader - все дохнет.
Добавлено after 18 minutes 58 seconds:Pitekantrop писал(а):Может быть Proteus не позволяет делать запись в память программ из программного кода?
А куда ему писать данные, в hex-файл, который Вы ему подсунули ?
Это действительно интересный момент. Я предположил, что код программы загружается в нейкий буфер в самой модели конкретного PIC-а в Proteus. Если программный код выполняется прямо чтением из hex-файла без предварительной загрузки в какую-либо модель внутренней памяти, то тогда выходит что команды записи в память программ просто не поддерживаются в Proteus. Странновато как-то....хотя....чего только не бывает. Но меня в заблуждение ввел вот такой момент - с помощью загруженного bootloadera я загружаю коротенькое приложение по конкретному адресу в память программ. Загрузка начинается...и потом прерывается ошибкой записи/инициализации(когда как). Но bootloader иногда остается на связи с загрузчиком на компе и можно увидеть память. И в этой памяти начиная с адреса загрузки приложения торчит код загружаемого приложения.....но не весь.....только начальный нейкий ксочек. То есть запись в память программ начинает идти....но криво и все валится. Вот мне и показалось, самомодификация кода возможна..... Но видимо я ошибаюсь. Может ярые протеусники что подскажут....и на самом деле такие фокусы в Proteus не работают.