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

 
 
> IAP LPC2368, Проблемы со сменой ПО
bus16
сообщение Feb 10 2011, 11:45
Сообщение #1


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

Группа: Свой
Сообщений: 78
Регистрация: 10-01-07
Пользователь №: 24 270



Есть устройство со встроенным вторичным загрузчиком. Обновление вторичного загрузчика производиться путём загрузки в ОЗУ программы, которая и обновляет этот загрузчик. Вопрос: возможно - ли в процессе выполнения функции IAP приём (на линии возможен обмен данными) по UART0 какого-либо произвольного символа или последовательности, которая прервёт или нарушит выполнения процедуры записи во FLASH. Что-то типа приёма "ISP command sbort"?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
zltigo
сообщение Feb 10 2011, 13:10
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Спрашивайте у того, кто этот загрузчик писал.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 10 2011, 13:33
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Периферия, во время выполнения записи в IAP, продолжает работать как обычно. Поэтому UART (особенно при включённом FIFO) способен принимать байты. Если загрузчик навороченный, то и прерывания от Уарта могут обрабатываться. IAP же невозможно подобными действиями прервать или нарушить работу. Только если улететь в аборт или там стек запороть. Н это уже фатально для всей проги вцелом.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
bus16
сообщение Feb 10 2011, 13:42
Сообщение #4


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

Группа: Свой
Сообщений: 78
Регистрация: 10-01-07
Пользователь №: 24 270



При вызове IAP прерывания глобально и в VIC вектор UART0 запрещены, естественно. Вопрос в том, что фирменный загрузчик может сам инициализировать периферию под себя, а это чревато... Ведь есть-же метод перевода контроллера в режим ISP без подтяжки соответствующей ножки путём посыла "секретных" команд в момент его старта. Условно-же может быть какая-то произвольная последовательность байт на линии, способная помешать процедуре записи во FLASH данных. Вероятно не надо использовать UART0 при смене ПО, либо аппаратно запрещать приём данных в момент записи во FLASH.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 10 2011, 13:58
Сообщение #5


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Не надо путать IAP и ISP (встроенный бутлодер). это совершенно независимые вещи. Во время вызова IAP можно делать что угодно на UART0.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
bus16
сообщение Feb 10 2011, 16:10
Сообщение #6


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

Группа: Свой
Сообщений: 78
Регистрация: 10-01-07
Пользователь №: 24 270



Вот в этом сильно сомневаюсь. Если есть возможность перевести LPC2xxx принудительно в режим ISP - то может быть дыра и в IAP, с тем-же самым переходом в ISP и приём за команду управления "мусор" на линии...
Go to the top of the page
 
+Quote Post

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

 


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


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