реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Программирование устройства программой из внешней памяти
ZEbr
сообщение Apr 9 2015, 17:06
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 145
Регистрация: 2-12-10
Из: Воронеж
Пользователь №: 61 356



Скажите пожалуйста! Можно ли записывать программу написанную на PIC32 не на внутреннюю Flash, а на внешнюю EEPROM подключенную по SPI.
В дальнейшем прошивка записанная на EEPROM может изменятся, с помощью внешней программы по какому нибудь интерфейсу.

Заранее спасибо!
Go to the top of the page
 
+Quote Post
Redguy
сообщение Apr 10 2015, 04:11
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 14-01-10
Из: Россия, Самара
Пользователь №: 54 801



И теоретически и практически такое возможно. Причем это выполнимо не только для PIC32, а для микроконтроллеров в целом. Но эта задача не настолько проста, и сколько тут всплывет подводных камней даже предположить сложно.
Я бы пошел следующим путем. Накатал какую-то минимальную программу, которая будет по SPI читать основной код, подгружать его в оперативку или во внутреннюю flash и запускать его на выполнение, при этом возможно использовал бы DMA. Тут возникает много моментов: насколько большой должен быть выполняемый код, будут ли в нем пересечения с обслуживающей программой по ресурсам, как регулярно надо запускать обслуживающую программу, нужно ли на неё постоянно переключаться для какого-либо монитора ситуации (по принципу работы операционки) и т.д.
По сути bootloader на этот вариант похож - по определенным командам/условиям запускается, загружает что надо, запускает загруженное и самоустраняется. Реально у меня до такой ситуации и доходило: максимум - загрузка нового образа рабочей программы на внешнюю Flash, ее контроль на целостность и замена текущей программы на новый образ с последующим запуском и инициирование загрузки новой прошивки по команде полученной через USART.
Go to the top of the page
 
+Quote Post
Василий Иванов
сообщение Jun 2 2015, 08:02
Сообщение #3





Группа: Участник
Сообщений: 10
Регистрация: 9-04-09
Пользователь №: 47 414



В PIC32 внутри есть Program Flash и Boot Flash. Если поизвращаться с линкером, то в Boot Flash можно освободить достаточно много места для бутлоадера, который будет перекидывать образ прошивки с внешней ЕЕпром во внутреннюю память Program Flash. Это удобно тем, что вся Program Flash только под прошивку и не приходится бояться что кто-то попортит загрузчик. А загрузочную область можно защитить фьюзами от записи резактирования и даже вызовов из прошивки.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 12:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016