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

 
 
> Ещё раз о бутлоадере, Некоторые тонкости.
SasaVitebsk
сообщение Oct 4 2007, 09:17
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Задумка такая.

По старту попадаем в бут. Там считаем CRC и если Ok - выходим на саму приложение. Если не Ok то переходим на сам лодырь.

В приложении по команде переходим непосредственно на лоадырь.


То есть мне надо две точки входа. По сбросу и по команде. Хотелось бы использовать незадействованные вектора бутлоадера. Например +2. Как это сделать. Если использовать pragma location, то наверняка будет linker ругаться.

Конечно можно упростить задачу и использовать какой нибудь признак в EEPROM. Или портить CRC к примеру, но что-то мне не нравится такой подход.

А кто как делает?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Oct 16 2007, 10:28
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Ещё один вопрос, напрямую с бутлоадером не связанный а вот с IAR да.

Я решил разместить серийный номер изделия непосредственно в буте по фиксированному адресу.
Это мне облегчает некоторые вещи. Программирование осущ. в сети и поэтому серийный номер как бы непосредственно связан с самим камнем.

Так вот такой вопрос.
В приложении я объявляю переменную таким образом

extern const uint32_t __flash SerialNN @ BOOTSERIAL; // Серийный номер

Так IAR генерит в hex файле по указаному адресу 00000000. Что в свою очередь плохо сказывается на файл формируемый CREATE и при заливке портит мне загрузчик. Непонятно как его вообще убрать.

Понятно что можно ручками эту строчку из HEX. Но этож будешь забывать. Понятно что потом я BLB поставлю, но хотелось бы найти нормальное решение.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 16 2007, 12:51
Сообщение #3


Гуру
******

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



Цитата(SasaVitebsk @ Oct 16 2007, 13:28) *
Так IAR генерит в hex файле по указаному адресу 00000000. Что в свою очередь плохо сказывается на файл формируемый CREATE и при заливке портит мне загрузчик. Непонятно как его вообще убрать.
__no_init const uint32_t __flash SerialNN @ BOOTSERIAL; Но как ты будешь читать серийник, если выставишь локи BLB1? Может лучше разместить в области загрузчика функцию uint16_t SerialNo() { return 0xFFFF; } в которой при прошивке менять 0xFFFF на серийник (AvReal такое умеет)? Она займет на 4 байта больше чем просто константа, но снимет все проблемы.


--------------------
На любой вопрос даю любой ответ
"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
IgorKossak
сообщение Oct 16 2007, 20:32
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(Сергей Борщ @ Oct 16 2007, 15:51) *
__no_init const uint32_t __flash SerialNN @ BOOTSERIAL;

Разве __no_init и __flash совместимы?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SasaVitebsk   Ещё раз о бутлоадере   Oct 4 2007, 09:17
- - Сергей Борщ   Цитата(SasaVitebsk @ Oct 4 2007, 12:17) Х...   Oct 4 2007, 09:37
|- - IJAR   Цитата(Сергей Борщ @ Oct 4 2007, 13:37) Е...   Oct 9 2007, 11:40
|- - Сергей Борщ   Цитата(IJAR @ Oct 9 2007, 14:40) А какой ...   Oct 9 2007, 12:01
|- - IJAR   Цитата(Сергей Борщ @ Oct 9 2007, 16:01) Ч...   Oct 9 2007, 12:33
|- - Сергей Борщ   Цитата(IJAR @ Oct 9 2007, 15:33) Но есть ...   Oct 9 2007, 14:33
- - SasaVitebsk   Спасибо Сергей. Всё доступно объяснил. Подходят о...   Oct 4 2007, 19:14
- - arttab   а почему бы не объявить переменную в озу в загрузч...   Oct 7 2007, 14:34
|- - Сергей Борщ   Цитата(arttab @ Oct 7 2007, 17:34) В загр...   Oct 8 2007, 08:16
- - IJAR   Цитата(SasaVitebsk @ Oct 4 2007, 13:17) З...   Oct 9 2007, 07:28
|- - Сергей Борщ   Цитата(IJAR @ Oct 9 2007, 10:28) 1. Испол...   Oct 9 2007, 10:45
- - SasaVitebsk   Сергей, всётаки по коду не уложился в 2к. Со своим...   Oct 9 2007, 23:55
|- - Сергей Борщ   Цитата(SasaVitebsk @ Oct 10 2007, 02:55) ...   Oct 10 2007, 10:58
|- - SasaVitebsk   Цитата(Сергей Борщ @ Oct 10 2007, 13:58) ...   Oct 10 2007, 13:35
|- - Сергей Борщ   Цитата(SasaVitebsk @ Oct 10 2007, 16:35) ...   Oct 10 2007, 15:46
||- - Dog Pawlowa   Цитата(Сергей Борщ @ Oct 10 2007, 18:46) ...   Oct 10 2007, 16:42
||- - Сергей Борщ   Цитата(Dog Pawlowa @ Oct 10 2007, 19:42) ...   Oct 10 2007, 16:57
|- - singlskv   Цитата(SasaVitebsk @ Oct 10 2007, 17:35) ...   Oct 16 2007, 18:01
|- - Сергей Борщ   Цитата(singlskv @ Oct 16 2007, 21:01) Ста...   Oct 17 2007, 09:56
- - SasaVitebsk   Код 2 106 bytes of CODE memory 1 430 bytes of D...   Oct 11 2007, 09:07
- - Waso   Извиняюсь что лезу в чужую тему, но есть дилетантс...   Oct 12 2007, 08:36
|- - Сергей Борщ   Цитата(Waso @ Oct 12 2007, 11:36) Я плани...   Oct 12 2007, 11:04
- - Waso   Спасибо за совет! Нашел апноты. Изучаю. Safe ...   Oct 15 2007, 07:02
- - SasaVitebsk   Спасибо, но я не планирую запрещать локи на чтение...   Oct 16 2007, 16:47
- - SasaVitebsk   2 singlskv. Не планирую переходить на GCC. Работы ...   Oct 16 2007, 20:58
|- - singlskv   Цитата(SasaVitebsk @ Oct 17 2007, 00:58) ...   Oct 17 2007, 20:29
|- - zltigo   Цитата(singlskv @ Oct 17 2007, 23:29) то ...   Oct 17 2007, 20:47
||- - singlskv   Цитата(zltigo @ Oct 18 2007, 00:47) Т.е. ...   Oct 17 2007, 20:57
||- - zltigo   Цитата(singlskv @ Oct 17 2007, 23:57) Опя...   Oct 17 2007, 21:12
||- - singlskv   Цитата(zltigo @ Oct 18 2007, 01:12) Конте...   Oct 17 2007, 21:53
||- - zltigo   Цитата(singlskv @ Oct 18 2007, 00:53) Ско...   Oct 17 2007, 22:04
||- - singlskv   Цитата(zltigo @ Oct 18 2007, 02:04) Легко...   Oct 17 2007, 22:24
||- - zltigo   Цитата(singlskv @ Oct 18 2007, 01:24) а п...   Oct 17 2007, 22:35
||- - singlskv   Цитата(zltigo @ Oct 18 2007, 02:35) В aes...   Oct 17 2007, 22:55
|- - SasaVitebsk   Цитата(singlskv @ Oct 17 2007, 23:29) Ну ...   Oct 18 2007, 19:35
|- - Сергей Борщ   Цитата(SasaVitebsk @ Oct 18 2007, 22:35) ...   Oct 18 2007, 20:40
|- - zltigo   Цитата(SasaVitebsk @ Oct 18 2007, 22:35) ...   Oct 18 2007, 22:05
|- - singlskv   To zltigo и SasaVitebsk, признаю, погорячился насч...   Oct 18 2007, 22:48
|- - zltigo   Цитата(singlskv @ Oct 19 2007, 01:48) Спр...   Oct 19 2007, 07:31
|- - Непомнящий Евгений   Цитата(singlskv @ Oct 19 2007, 02:48) Ну ...   Oct 19 2007, 07:37
|- - zltigo   Цитата(Непомнящий Евгений @ Oct 19 2007, 10...   Oct 19 2007, 08:01
- - Непомнящий Евгений   Если максимальная оптимизация по размеру, то первы...   Oct 19 2007, 08:33
|- - singlskv   Цитата(Непомнящий Евгений @ Oct 19 2007, 11...   Oct 19 2007, 15:08
|- - SasaVitebsk   Цитата(singlskv @ Oct 19 2007, 18:08) А о...   Oct 20 2007, 20:07
|- - singlskv   Цитата(SasaVitebsk @ Oct 21 2007, 00:07) ...   Oct 21 2007, 17:28
|- - pvp   Цитата(singlskv @ Oct 21 2007, 21:28) __z...   Oct 22 2007, 15:24
|- - Сергей Борщ   Цитата(pvp @ Oct 22 2007, 18:24) Поясните...   Oct 22 2007, 15:33
|- - pvp   Цитата(Сергей Борщ @ Oct 22 2007, 19:33) ...   Oct 23 2007, 14:02
- - SasaVitebsk   Внимательно просмотрю. Правда я отказался на сегод...   Oct 22 2007, 10:43
|- - singlskv   Цитата(SasaVitebsk @ Oct 22 2007, 14:43) ...   Oct 22 2007, 16:43
- - SasaVitebsk   Я когда первый раз увидел результаты компилировани...   Oct 22 2007, 21:24
- - skripach   Не стал создавать новую тему, поэтому здесь. Можно...   Nov 9 2009, 14:11
- - skripach   Что никто не знает? ...или я что-то не то спросил.   Nov 12 2009, 07:30
|- - zltigo   Цитата(skripach @ Nov 12 2009, 10:30) Что...   Nov 12 2009, 09:39
- - KSN   Есть вопрос по прерываниям в bootloader и applicat...   Feb 27 2010, 09:55
- - Сергей Борщ   Цитата(KSN @ Feb 27 2010, 11:55) Может у ...   Feb 27 2010, 11:39


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

 


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


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