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

 
 
> AVR+ARM бутлоадер
piz2383
сообщение Jun 26 2009, 20:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 26-06-09
Пользователь №: 50 675



Суть проблемы такова. Есть палта: АРМ7, а именно SAM7X от атмела и атмега16, соединены они по SPI. SAM7 через порт юарт DBG соединен с кампом. В общем нужно сделать следующее. По юарту передаются две прошивки, для арма и для авр. Обе они попадают на АРМ. Нужно что бы он перепрошил авр-ку и перепрошился сам. Подскажите как это нужно реализовать? Поделитесь любыми мыслями, возможно ссылками которые мне помогут разобраться. Если есть примеры готовые, поделитесь, буду благодарен. В общем любые советы и толчки в нужную сторону. Заранее благодарен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Terminator
сообщение Jul 23 2009, 01:45
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



Чтобы не возится с __ramfunc я тупо заливаю весь загрузчик в ОЗУ, благо памяти в контроллере много.

А как вы собираетесь защитится от аварий при перепрошивке?
Например заливаем новую прошивку и тут пропадает питание. Что будет делать загрузчик? Запустит недописанную программу?
Go to the top of the page
 
+Quote Post
piz2383
сообщение Jul 23 2009, 06:08
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 26-06-09
Пользователь №: 50 675



Цитата(Terminator @ Jul 23 2009, 04:45) *
Чтобы не возится с __ramfunc я тупо заливаю весь загрузчик в ОЗУ, благо памяти в контроллере много.

Ну а все-таки обозвать обработчик прерываний с помощью идентификатора __ramfunc можно?

Цитата(Terminator @ Jul 23 2009, 04:45) *
А как вы собираетесь защитится от аварий при перепрошивке?
Например заливаем новую прошивку и тут пропадает питание. Что будет делать загрузчик? Запустит недописанную программу?

Я планирую во-первых сперва залочить область бутлоадера. Далее с программы на компьютере передаеться сперва размер прошивки и её контрольная сумма затем только прошивка. Заливаю прошивку, записываю в последние адресса флеша значания размера и контрольной суммы. Теперь беру и банально проверяю, совпало перехожу, не совпало сообщаю при этом программу на компьютере.
При влючении питания аналогично, сперва проверяю потом прыгаю. Все правильно я собираюсь делать?

Цитата(Сергей Борщ)
Поищите по форуму по ключевому слову INTVEC, я буквально на прошлой неделе пример приводил.


Я нашел это тему в общем мне нужно настройки линкера настроить примерно таким образом:
Код
-DBOOTSIZE=8000


-Z(CONST)INTRAMSTART_REMAP=00000000
-Z(CONST)INTRAMEND_REMAP=0000FFFF
-Z(CONST)INTRAMSTART=00200000


-DROMSTART=(00100000+BOOTSIZE)
-DROMEND=0013FFFF


-DINTVECSIZE=100
-DRAMSTART=(00200000+INTVECSIZE)
-DRAMEND=0020FFFF

// Intvec always linked to 0x00-0x3F
-Z(CODE)INTVEC=00000000-0000003F

// ROM
-Z(CODE)INTVEC_I=ROMSTART-ROMEND
-QINTVEC=INTVEC_I                       // place INTVEC image into INTVEC_I.
-Z(CODE)ICODE,CODE,DIFUNCT,SWITAB=ROMSTART-ROMEND
-Z(CONST)INITTAB,DATA_ID,DATA_C,CODE_ID=ROMSTART-ROMEND



Правильно я разобрался?

Сообщение отредактировал piz2383 - Jul 23 2009, 06:10
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 23 2009, 06:46
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(piz2383 @ Jul 23 2009, 09:08) *
Я нашел это тему в общем мне нужно настройки линкера настроить примерно таким образом:
...
Правильно я разобрался?
Да. Размер INTVECSIZE можно ограничить 64 байтами.
Для приложения файл будет аналогичен.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- piz2383   AVR+ARM бутлоадер   Jun 26 2009, 20:54
- - zltigo   Для начала,ознакомьтесь с МНОГОЧИСЛЕННЫМИ сходными...   Jun 26 2009, 21:10
- - piz2383   Ознакомился... все рекомендуюсь "019. Safe an...   Jun 26 2009, 21:20
- - DpInRock   КодSafe and Secure Bootloader Implementation Ну эт...   Jun 26 2009, 21:44
- - piz2383   Я прочитал и даже на русский для потомков собираюс...   Jun 26 2009, 21:51
- - DpInRock   Практики не видно. Видны некие общие вопросы, скло...   Jun 27 2009, 00:54
- - piz2383   Таки разобрался с апноутом. Перевел его. Скоро буд...   Jun 28 2009, 17:21
- - piz2383   Наконец-то добрались руки до написания бутлоадера ...   Jul 22 2009, 17:49
|- - Сергей Борщ   Цитата(piz2383 @ Jul 22 2009, 20:49) Загр...   Jul 22 2009, 18:02
- - piz2383   Т.е. единственное что нужно добавить это что бы за...   Jul 22 2009, 22:49
|- - Сергей Борщ   Цитата(piz2383 @ Jul 23 2009, 01:49) Т.е....   Jul 22 2009, 23:13
- - HARMHARM   Цитата(piz2383 @ Jul 23 2009, 09:08) Ну а...   Jul 23 2009, 06:18


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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 03:00
Рейтинг@Mail.ru


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