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

 
 
 
Reply to this topicStart new topic
> SAM7S256 может сам себе сменить прошивку?
YAN
сообщение Jul 7 2006, 12:34
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 30-12-05
Пользователь №: 12 726



Привет.
Существуют ли функциональные возможности у SAM7S256 поменять свою собственную прошивку?
То есть запрограммили его, запустили и он работает на объекте. И уж очень не хочется выезжать на объект каждый раз для обновления его ПО, если дистанционно можно загрузить новый софт по каналу связи, но как поменять прошивку на эту новую?
Go to the top of the page
 
+Quote Post
goodwin
сообщение Jul 7 2006, 12:58
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267



Название темы вызвало жуткие ассоциации по Азимову - боты взбунтовались smile.gif По теме - очень даже может. Мжно и просто - SAMBA использовать...
Go to the top of the page
 
+Quote Post
YAN
сообщение Jul 7 2006, 13:45
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 30-12-05
Пользователь №: 12 726



Стоп.
Насколько я понял из описания, SAM-BA это возможность программировать ARM снаружи по UART-у:
обеспечиваем на PA0, PA1, TST высокий уровень, включаем ARM и загружем снаружи по UARTу в него команды для смены прошивки.

А если снаружи никого нету и проц сам скачал для себя новую прошивку (не важно как) и положил её куда-нибудь в ОЗУ?
Go to the top of the page
 
+Quote Post
Edmundo
сообщение Jul 7 2006, 14:19
Сообщение #4


Мастер
****

Группа: Свой
Сообщений: 730
Регистрация: 18-02-06
Из: Москва
Пользователь №: 14 474



Цитата(YAN @ Jul 7 2006, 17:45) *
А если снаружи никого нету и проц сам скачал для себя новую прошивку (не важно как) и положил её куда-нибудь в ОЗУ?

Не знаю, как насчет стандартных средств, а собственными силами можно -- сделать отдельно загрузчик, который не перепрошивается и функциональную прошивку, которая пишется в свою секцию flash и на которую прыгает загрузчик. Так часто делаем (не на АРМ, но суть та же). Есть там некоторые моменты, но это реализуемо.


--------------------
شامل
Go to the top of the page
 
+Quote Post
goodwin
сообщение Jul 7 2006, 15:03
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267



Цитата(YAN @ Jul 7 2006, 16:45) *
Стоп.
Насколько я понял из описания, SAM-BA это возможность программировать ARM снаружи по UART-у:
обеспечиваем на PA0, PA1, TST высокий уровень, включаем ARM и загружем снаружи по UARTу в него команды для смены прошивки.

А если снаружи никого нету и проц сам скачал для себя новую прошивку (не важно как) и положил её куда-нибудь в ОЗУ?


Ну я и предложил самое простое, если нет соответствующего опыта...
АРМ только начинаю ковырять, но во всех своих устройствах на MSP и Atmega в последние 3-4 года пользую загрузчики целевого по - и по ethernet, и по последовательному порту, и даже из таблетки DS1996. В SAM7 нет никаких принципиальных ограничений на это дело, мало того, благодаря ремаппингу нет проблем с векторами прерываний (которые например встают в полный рост в MSP).
Надо разместить в первых секторах флэш загрузчик, а целевые программы компилировать для адресов выше него + 0x10xxxx... При сбросе загрузчик или грузит, что требуется, или проверив контрольную сумму целевого ПО, делает ремап и передает управление целевой программе. Точно не разбирался с SAM7, но если в нем нет возможности шить флэш из програмы, выполняющейся во флэш, то можно при перепрограммировании использовать функции, выполняющиеся в RAM.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 7 2006, 15:24
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(goodwin @ Jul 7 2006, 21:03) *
Точно не разбирался с SAM7, но если в нем нет возможности шить флэш из програмы, выполняющейся во флэш, то можно при перепрограммировании использовать функции, выполняющиеся в RAM.

У 7-х ARMов самопрограммирование Flash только из RAM возможно. Штатные средства (IAP) так и делают.
Go to the top of the page
 
+Quote Post
YAN
сообщение Jul 7 2006, 16:10
Сообщение #7





Группа: Новичок
Сообщений: 3
Регистрация: 30-12-05
Пользователь №: 12 726



Цитата(rezident @ Jul 7 2006, 19:24) *
У 7-х ARMов самопрограммирование Flash только из RAM возможно. Штатные средства (IAP) так и делают.


Не понял последнюю фразу. Программа, работающая из FLASH может программировать эту FLASH? Или всё таки придётся скопировать и выполнять её в ОЗУ, чтобы с FLASH выполнялась лишь операция записи?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 7 2006, 17:30
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(YAN @ Jul 7 2006, 22:10) *
Цитата(rezident @ Jul 7 2006, 19:24) *

У 7-х ARMов самопрограммирование Flash только из RAM возможно. Штатные средства (IAP) так и делают.


Не понял последнюю фразу. Программа, работающая из FLASH может программировать эту FLASH? Или всё таки придётся скопировать и выполнять её в ОЗУ, чтобы с FLASH выполнялась лишь операция записи?

Про SAMы достоверно не знаю, а у LPC используется IAP, которая при записи во Flash использует RAM, куда перегружает резидентную часть программы записи во Flash.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 23:10
Рейтинг@Mail.ru


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