роботы
робототехника
микроконтроллеры
Главная
Новости
Спорт
Шаг за шагом
Статьи
Wiki
Форум
Downloads
Ссылки
Контакты
 


 Страниц (1): [1]   

> Без описания
Predator
Отправлено: 18 Сентября, 2013 - 21:37:26
Post Id


Гуру


Сообщений всего: 1050
Дата рег-ции: Июль 2012  





предистория: снова столкнула меня судьба с Атмеловскими контроллерами, в этот раз на
новой работе насунули железку оживлять...

техническая база: плата с контроллером ATmega128A, JTAGICE3, AVRstudio5.

проблема 1: после вызова функции config_io, с соответствующим наполнением, контроллер
возвращается куда угодно, только не в вызвавшую функцию.... эта проблема
решилась сбросом фьюза о совместимости с мегой 103, это правильно?

проблема 2: как запхать фьюзы (особенно этот злой) в *.hex файл?
Это нужно, чтобы можно было отдавать темным людям без дополнительных
инструкций (и контролера за исполнением с дубиной). да и самому потом (лет
через 5) вспомнить напряжно будет.
 
 Top
Роботов
Отправлено: 19 Сентября, 2013 - 23:52:25
Post Id



Гуру


Сообщений всего: 1339
Дата рег-ции: Июнь 2011  





А вообще, фьюзы разве можно программно изменять? Я всегда считал что только через программатор...
 
 Top
Predator
Отправлено: 20 Сентября, 2013 - 16:51:09
Post Id


Гуру


Сообщений всего: 1050
Дата рег-ции: Июль 2012  





ну у ПИКов я изначально фьюзы в коде прописывал, решил что и у АВРов можно.
оказалось можно, примерно так:
CODE:

FUSES =
{
.low = (FUSE_CKSEL0 & FUSE_CKSEL1 & FUSE_CKSEL3 & FUSE_SUT0),
.high = HFUSE_DEFAULT,
.extended = EFUSE_DEFAULT,
};

ато запустят железку в серию и будут рассказывать, что не работает. А возле каждого настройщика контролёра с дубиной не поставишь....
 
 Top
Predator
Отправлено: 11 Ноября, 2017 - 11:43:25
Post Id


Гуру


Сообщений всего: 1050
Дата рег-ции: Июль 2012  





а вот в 7 атмелстудии примерно так пришлось:
CODE:
const uint8_t fusedata[] __attribute__ ((section (".fuse"))) =
{0xA2, 0x00, 0xFF, 0xFF, 0xFF, 0xF5};
const uint8_t lockbits[] __attribute__ ((section (".lockbits"))) =
{0xFC};
const char userdata[] __attribute__ ((section (".user_signatures"))) =
"Hello User Signatures";
 
 Top
killgur
Отправлено: 11 Ноября, 2017 - 18:40:04
Post Id



Гуру


Сообщений всего: 1185
Дата рег-ции: Февр. 2010  





ATMEL даже сделала описание на такой заход по фузам

AVR Libc Reference Manual Modules

<avr/fuse.h>: Fuse Support

http://www.atmel.com/webdoc/avrl...__avr__fuse.html
 
 Top
Страниц (1): [1]
« Программирование микроконтроллеров »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown