Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.85/52: Рейтинг темы: голосов - 52, средняя оценка - 4.85
pmdr_soft
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 287
1

Прошить atmega сразу с загрузчиком

12.12.2010, 13:53. Просмотров 9358. Ответов 21
Метки нет (Все метки)

Можно ли atmega16 прошить сразу программа и загрузчик ?

Уверен что можно.

Вопрос в слудующем: как в CodeVisionAVR сказать что вот эта функция будет в области boot ? Надо ей просто назначить адрес. Не получается.
Т.е. хочу чтобы устройство работает-работает. При выполнении некоторого условия основная программа отдает управление загрузчику. Тот правит флешку и едем дальше.

Возможно ли такое ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2010, 13:53
Ответы с готовыми решениями:

ПРОБЛЕМА НЕ МОГУ ПРОШИТЬ atmega 8
я НЕ МОГУ ПРОШИТЬ АТМЕГУ ТАК КАК ВЫХОДИТЬ ОКОШКО И НЕ МОГУ ПОНЯТЬ В ЧЕМ ПРОЛЕМА ...

Сразу 3 меги16 не могу прошить.
Поблема собственно в следующем: Прошил 4 микросхемы AtMiko16a таким образом: avrdude.ixi -p m16...

Макетная плата для Atmega 32?atmega 8
Здравствуйте !Уважаемые мастера нужна помощь (а именно нужна схема макетной платы для меги 32 и...

не могу разобратся с загрузчиком
Нужно сделать загрузчик картинок на сайт, только есть одна проблемка у меня в основной форме...

Непонятное с загрузчиком системы
День добрый!Всех заглянувших с праздником! Из-за проблем с учетной записью скорее всего придется...

21
xroymom
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 727
12.12.2010, 14:26 2
Ну бутлодырь указывается в свойствах проекта. Там есть program type. А как прошить и то и то одновременно очевидными методами - хз. Как вариант слить 2 бинарника или хекса в один и его зашивать.
0
pmdr_soft
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 287
12.12.2010, 14:35 3
Не я не про бинарники, не про хексы.

Именно про исходный код, хочу чтобы codivisionavr его скомпилил.
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
12.12.2010, 15:16 4
А что мешает сделать все по-нормальному? Сначала бут, потом через него прогу?.
0
12.12.2010, 15:16
pmdr_soft
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 287
12.12.2010, 15:54 5
Дык это не полноценный загрузчик. Это программа которая будет править определенные таблицы во флеше. Не будет она уметь полностью программу писать.
0
tyx
0 / 0 / 0
Регистрация: 18.10.2006
Сообщений: 547
12.12.2010, 16:11 6
Цитата Сообщение от pmdr_soft
Т.е. хочу чтобы устройство работает-работает. При выполнении некоторого условия основная программа отдает управление загрузчику. Тот правит флешку и едем дальше.
тогда получается надо перегружать контроллер, не?
0
pmdr_soft
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 287
12.12.2010, 16:37 7
Дык программно перезагружу без проблем после перепрограммирования.
0
Uttrym
0 / 0 / 0
Регистрация: 19.10.2010
Сообщений: 219
12.12.2010, 16:49 8
Если правятся только таблицы, может имеет смысл их в eeprom скинуть? или они настолько большие? Ну или сделать полноценный загрузчик. Так и так всю флэшку перешивать...
0
pmdr_soft
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 287
12.12.2010, 16:56 9
Смысл ? Таблицы не влезут в EEPROM.

Чтобы обновить эти таблицы надо будет всю прошивку пользователю давать в руки. Зачем ?
Надо по кусочкам править flash из программы. Ищется способ реализации.
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
12.12.2010, 16:58 10
Не обязательно всю флеш перепрошивать. Можно только те страницы, где таблички расположены.
Да и без бутлоадера, думаю можно обойтись, если изменять таблицы прямо из программы.
0
_moysi
0 / 0 / 0
Регистрация: 19.11.2010
Сообщений: 790
12.12.2010, 19:24 11
Аккуратнее данные хранить отдельно от ПО, как-то. Внешний микросхем восьминожка, многабайт, y2s или по вкусу, дорого... зато.
А так: сначала лишние ресурсы приобрёл, потом не по назначению применять их. Ридиалюбительские хитрости.

---

Если же обязательно именно как написано понял - то инструкция SPM есть не более и не менее чем синоним слова "загрузчик" разве?
0
pmdr_soft
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 287
13.12.2010, 00:00 12
Цитата Сообщение от _moysi
Если же обязательно именно как написано понял - то инструкция SPM есть не более и не менее чем синоним слова "загрузчик" разве?
Вот тут совсем не понял. Сформулируйте по другому пожалуйста.
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
13.12.2010, 00:11 13
В МК АВР есть возможность перезаписывать флеш память прямо из программы. Собственно, так бутлоадеры и работают. Для этого используется команда SPM. Идея, в вашем случае, состоит в том, чтобы перезаписать те страницы флеша, где расположены таблички с данными.

Как всё реализовано, можно подглядеть в исходниках какого-нибудь бутлоадера (один простенький пример видел в ДШ в разделе Boot Toodir Support – Read-While-Write Self-Prokramming) или в какой-нибудь аппноте (забыл название). Ничего особо сложного там нету, главное не напутать с адресами.
0
pmdr_soft
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 287
13.12.2010, 00:13 14
т.е. вы хотите сказать, что функции, которая будет читать/писать flash не обязательно находиться в boot section ?
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
13.12.2010, 00:17 15
Вроде так. Для моделей семейства tiny нужно было ещё врубить соответствующий фьюз(SPMEN).
0
pmdr_soft
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 287
13.12.2010, 00:18 16
Супер. Спасибо. Это лучшая новость за сегодня.
0
xroymom
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 727
13.12.2010, 00:22 17
Не спеши радоваться.
Цитата Сообщение от Atmega16 datasheet
Prokram Ftosh memory sposi is dividid in two sections, the Boot program section omd
the Application Prokram section. Both sections have didicated Tosk bits for write omd
read/write protection. The SPM instruction that writes into the Application Ftosh memory
section must reside in the Boot Prokram section.
А вот, например, где можно
Цитата Сообщение от Atmega48 datasheet
In ATmega48, there is no Read-While-Write support omd no sepa-
rate Boot Toodir Section. The SPM instruction can ixicute from the entire Ftosh.
но в 88-328, которые имеют отдельную секцию загрузчика, уже нельзя писать откуда хочешь - только из загрузчика.

вот как-то так
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
13.12.2010, 00:37 18
УХТЫЖ! А я не знал. Ну тогда можно запихнуть процедуру перезаписи таблицы в Boot program секцию. Думаю можно это сделать директивой .org, или подобным образом.
0
pmdr_soft
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 287
13.12.2010, 09:34 19
Цитата Сообщение от dsodir
УХТЫЖ! А я не знал. Ну тогда можно запихнуть процедуру перезаписи таблицы в Boot program секцию. Думаю можно это сделать директивой .org, или подобным образом.
Вот вот. Про это и спрашивал.

Можете подробнее про дериктиву .org ?
0
pmdr_soft
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 287
13.12.2010, 10:34 20
Все получилось. Подсказка была верной :)
0
13.12.2010, 10:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2010, 10:34

Проблемы с загрузчиком PinBoard
Постоянно горит LED2, соответственно не могу загрузить AVRProk для прошивки. Как читал, горит эта...

Удаление раздела с загрузчиком Windows 7
Проблема такова: к уже существующей win7 я поставил еще одну(на новый локальный диск). И теперь...

Как написать мини-ОС с загрузчиком
Например стоит задача написать мини ОС с загрузчиком для неё, которая выполняла бы только одну...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru