поддержка AVR
- Реклама
Нет, ну что за х... Простите реклама?!?!?! (это про то что выше)
пофиксено
Ржавый
пасиб!
MTh
Про тему: установка 1 в фуз, означает, что ты его отключаешь. А ты в фуз 1 пихаешь, уверен?
пофиксено
пасиб!
Про тему: установка 1 в фуз, означает, что ты его отключаешь. А ты в фуз 1 пихаешь, уверен?
Последний раз редактировалось Mamonth Чт фев 16, 2006 04:42:47, всего редактировалось 1 раз.
Today fine night...
- Реклама
c:\avr\avreal\avreal32.exe +atmega8 -! -p1 -ab -o4Mhz -ew beg.hex -n -fCKSEL=1,SUT=1
Разбираемся:
фуз CKSEL (Clock Select) отвечает за выбор источника осциляции, он состоит из четырех бит. Т.е. CKSEL0, CKSEL1, CKSEL2, CKSEL3.
SUT (Start Up Times)
CKSEL для внешнего резонатора должен быть заполнен как 1111 - 1010 (зависит от частоты резонатора) для 3-8 МГц - 111
SUT1, SUT0 - 00 (запуск практически без пауз)
При этом надо решить как запрограммировать и CKOPT , думаю тебе подойдет такая табличка (есть в даташите) судя по ней надо: 1
CKOPT CKSEL3..1 Frequency Range (MHz) Recommended Range for
C1 and C2
1 101(1) 0.4 - 0.9 –
1 110 0.9 - 3.0 12 pF - 22 pF
1 111 3.0 - 8.0 12 pF - 22 pF
0 101, 110, 1.0 - 12 pF - 22 pF
111
Млин, табличка не получится, посмотри её в даташите.
Разбираемся:
фуз CKSEL (Clock Select) отвечает за выбор источника осциляции, он состоит из четырех бит. Т.е. CKSEL0, CKSEL1, CKSEL2, CKSEL3.
SUT (Start Up Times)
CKSEL для внешнего резонатора должен быть заполнен как 1111 - 1010 (зависит от частоты резонатора) для 3-8 МГц - 111
SUT1, SUT0 - 00 (запуск практически без пауз)
При этом надо решить как запрограммировать и CKOPT , думаю тебе подойдет такая табличка (есть в даташите) судя по ней надо: 1
CKOPT CKSEL3..1 Frequency Range (MHz) Recommended Range for
C1 and C2
1 101(1) 0.4 - 0.9 –
1 110 0.9 - 3.0 12 pF - 22 pF
1 111 3.0 - 8.0 12 pF - 22 pF
0 101, 110, 1.0 - 12 pF - 22 pF
111
Млин, табличка не получится, посмотри её в даташите.
Today fine night...
- Serega
- Говорящий с текстолитом
- Сообщения: 1529
- Зарегистрирован: Пн авг 22, 2005 21:02:22
- Откуда: Питер
Народ, третий час ночи. Башка думать отказывается НАПРОЧЬ. Если не лень - еще раз: че шьем, чем шьем, откуда хотим брать такт (кварц/внешний генер/внутренний РЦ-генер), че пишем в фузы.
При первой прошивке любй тини или меги рекомендую ставить скорость где-то порядка 500 кГц, не более, и не прописывать никакие фузы. Должен завестись внутренний генератор. Далее, если он завелся - можно мучиться уже с фузами
При первой прошивке любй тини или меги рекомендую ставить скорость где-то порядка 500 кГц, не более, и не прописывать никакие фузы. Должен завестись внутренний генератор. Далее, если он завелся - можно мучиться уже с фузами
Лучше быть первым в деревне, чем вторым в Риме
С сайта: http://ln.com.ua/~real/avreal/description.html
-f<fuselist>
список fuses для тех контроллеров, в которых они шьются по ISP. <fuselist> выглядит как fusename=value,fusename=value,bytename=value... где value - ШЕСТНАДЦАТЕРИЧНОЕ значение без префиксов и суффиксов. Для однобитовых fuse добавлены значения ON и OFF (прошить и стереть, 0 и 1 соответственно).
ВНИМАНИЕ! Начиная с версии 1.23 НЕ ПОДДЕРЖИВАЮТСЯ однобуквенные синонимы для fuses.
При наличии "пересекающихся" name=val выдается сообщение об ошибке. Перечень fusename для конкретного кристалла с диапазоном value и комментарием можно получить при помощи
avreal +chipname -?
Для сокращения строки возможно задание полного байта fuses при помощи специальных имен bytename, представляющие собой названия байтов по документации с лидирующим подчерком: _low,_high,_ext,_lock. Нереализованные в данном байте биты рекомендуется устанавливать в '1'. Имя _lock относится к байту lock-битов и BLB, однако на состояние lock-битов не влияет. Для блокировки кристалла по прежнему надо использовать ключ -l. Допускается комбинация отдельных fuse и байтов, однако они при этом не должны пересекаться, т.е. каждый байт fuses должен быть задан либо только через специальное имя, либо только через имена отдельных fuse. Например,
допустимо: -f_low=C3,_high=F4,blb2=1
недопустимо: -f_lock=F7,blb2=1
Если работа с fuses по SPI поддерживается, то их состояние сообщается при любой операции с кристаллом, задание ключа -f необязательно. Fuses программируются или верифицируются указанием ключа -w или -v совместно с ключом -f (в том числе в одном сеансе с программированием/верификацией кода или данных).
Неупомянутые fuse остаются неизменными (кроме битов защиты boot-блока BLB, так как они могут быть стёрты по -e независимо от ключа -f). Группа BLB относится скорее к lock-битам, записать 1 поверх уже запрограммированной в 0 fuse невозможно. Если запрошена такая операция и контроллер не стирался, то программа завершает работу с соответствующим предупреждением.
AVReAl обеспечивает также расширенную поддержку osccal.
Внимание! У некоторых контроллеров SPIEN и RSTDSBL могут быть запрограммированы через ISP. Будьте осторожны, SPIEN по умолчанию запрограммировано, ключ -fspien=1 (-fspien=off) сотрет SPIEN и запретит дальнейшее низковольтное программирование. То же произойдет и при программировании RSTDSBL (-frstdsbl=0 или -frstdsbl=on).
-f<fuselist>
список fuses для тех контроллеров, в которых они шьются по ISP. <fuselist> выглядит как fusename=value,fusename=value,bytename=value... где value - ШЕСТНАДЦАТЕРИЧНОЕ значение без префиксов и суффиксов. Для однобитовых fuse добавлены значения ON и OFF (прошить и стереть, 0 и 1 соответственно).
ВНИМАНИЕ! Начиная с версии 1.23 НЕ ПОДДЕРЖИВАЮТСЯ однобуквенные синонимы для fuses.
При наличии "пересекающихся" name=val выдается сообщение об ошибке. Перечень fusename для конкретного кристалла с диапазоном value и комментарием можно получить при помощи
avreal +chipname -?
Для сокращения строки возможно задание полного байта fuses при помощи специальных имен bytename, представляющие собой названия байтов по документации с лидирующим подчерком: _low,_high,_ext,_lock. Нереализованные в данном байте биты рекомендуется устанавливать в '1'. Имя _lock относится к байту lock-битов и BLB, однако на состояние lock-битов не влияет. Для блокировки кристалла по прежнему надо использовать ключ -l. Допускается комбинация отдельных fuse и байтов, однако они при этом не должны пересекаться, т.е. каждый байт fuses должен быть задан либо только через специальное имя, либо только через имена отдельных fuse. Например,
допустимо: -f_low=C3,_high=F4,blb2=1
недопустимо: -f_lock=F7,blb2=1
Если работа с fuses по SPI поддерживается, то их состояние сообщается при любой операции с кристаллом, задание ключа -f необязательно. Fuses программируются или верифицируются указанием ключа -w или -v совместно с ключом -f (в том числе в одном сеансе с программированием/верификацией кода или данных).
Неупомянутые fuse остаются неизменными (кроме битов защиты boot-блока BLB, так как они могут быть стёрты по -e независимо от ключа -f). Группа BLB относится скорее к lock-битам, записать 1 поверх уже запрограммированной в 0 fuse невозможно. Если запрошена такая операция и контроллер не стирался, то программа завершает работу с соответствующим предупреждением.
AVReAl обеспечивает также расширенную поддержку osccal.
Внимание! У некоторых контроллеров SPIEN и RSTDSBL могут быть запрограммированы через ISP. Будьте осторожны, SPIEN по умолчанию запрограммировано, ключ -fspien=1 (-fspien=off) сотрет SPIEN и запретит дальнейшее низковольтное программирование. То же произойдет и при программировании RSTDSBL (-frstdsbl=0 или -frstdsbl=on).
Today fine night...
Команда: avreal32.exe +MEGA8 -?
Fuse programmed state is 0, use ON or OFF aliases if you not shure 11:42
BODLEVEL = 0 or 1 - Brown-out level
(BLEV)
BODEN = 0 or 1 - Brown-out detect
SUT = 0 to 3 - Start-up timer
CKSEL = 0 to F - Clock selection
BLB1 = 0 to 3 - Disable SPM/LPM in boot section (BLB12,BLB11)
BLB0 = 0 to 3 - Disable SPM/LPM in application section (BLB02,BLB01)
RSTDISBL = 0 or 1 - Reset pin disable
(RSTDSBL)
WDTON = 0 or 1 - WDT enable
CKOPT = 0 or 1 - Clock option
EESAVE = 0 or 1 - Keep EEPROM @ erase
(EESV)
BOOTSZ = 0 to 3 - Boot section size
(BSIZ)
BOOTRST = 0 or 1 - Reset to boot block
(BRST)
For short help type
avreal -h
Fuse programmed state is 0, use ON or OFF aliases if you not shure 11:42
BODLEVEL = 0 or 1 - Brown-out level
(BLEV)
BODEN = 0 or 1 - Brown-out detect
SUT = 0 to 3 - Start-up timer
CKSEL = 0 to F - Clock selection
BLB1 = 0 to 3 - Disable SPM/LPM in boot section (BLB12,BLB11)
BLB0 = 0 to 3 - Disable SPM/LPM in application section (BLB02,BLB01)
RSTDISBL = 0 or 1 - Reset pin disable
(RSTDSBL)
WDTON = 0 or 1 - WDT enable
CKOPT = 0 or 1 - Clock option
EESAVE = 0 or 1 - Keep EEPROM @ erase
(EESV)
BOOTSZ = 0 to 3 - Boot section size
(BSIZ)
BOOTRST = 0 or 1 - Reset to boot block
(BRST)
For short help type
avreal -h
Today fine night...
Ya nakonec razobralsya kak proshiwatx fuses pri pomoshi
programmatora "avrdude".
Mogu rasskazatx, esli komu-to interesno.
A Woobshe pro mega48 mne odin chel ob'yasnya, chto esli
ona uzhe proshita na rabotu s wneshnim kwatrtsem, to kogda
proshiwaesh flash, to nado menyat rezonator na <=4MHz.
( Prawda on kondensatory k kwartsu iz printsipa ne stawit).
A s kwatzem ono u menya segodnya ne rabotala iz-za togo,
chto pripayal ego ne k tem nozhkam.
programmatora "avrdude".
Mogu rasskazatx, esli komu-to interesno.
A Woobshe pro mega48 mne odin chel ob'yasnya, chto esli
ona uzhe proshita na rabotu s wneshnim kwatrtsem, to kogda
proshiwaesh flash, to nado menyat rezonator na <=4MHz.
( Prawda on kondensatory k kwartsu iz printsipa ne stawit).
A s kwatzem ono u menya segodnya ne rabotala iz-za togo,
chto pripayal ego ne k tem nozhkam.
- moLCHec
- Мявтор!
- Сообщения: 825
- Зарегистрирован: Вс дек 18, 2005 20:04:42
- Откуда: Свердловская обл.
- Контактная информация:
блин сжёг МЕГУ 15в подал неч-но на крен12 было и с массы резюка провод отпал. завтра съезжу в Ёбург за новой и попробую
CKSEL=F (в двоичном представлении 1111, в шестнадцатеричном F)
SUT=0
Serega ты же вроде шаришь в этих фузах что прописать чтоб с кварцем на 4 мега запустить. всё по обучалке собрал толька у меня МЕГА 8-я. и кстати несмотря на pause=null результатов нет всё исчезает остаётся только строка бата и "жмите клавишу"
CKSEL=F (в двоичном представлении 1111, в шестнадцатеричном F)
SUT=0
Serega ты же вроде шаришь в этих фузах что прописать чтоб с кварцем на 4 мега запустить. всё по обучалке собрал толька у меня МЕГА 8-я. и кстати несмотря на pause=null результатов нет всё исчезает остаётся только строка бата и "жмите клавишу"
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...
Вот, надо было с этого начать.Serega писал(а):Шарю, шарю. Ну дык, смари че в ДШ пишут по восьмой меге.
А контроллер,, судя, по скриншоту шъётся, но или не стартует или в проге косяк... А светодиоды ты на минус или на плюс посадил, и полярность проверь... РДТ ведь, наука о контактах...
Today fine night...
- moLCHec
- Мявтор!
- Сообщения: 825
- Зарегистрирован: Вс дек 18, 2005 20:04:42
- Откуда: Свердловская обл.
- Контактная информация:
с фузами разобрался стр 204 в книге Евстифеева "М-ры AVR TINY MEGA ф-мы ATMEL" для 4 МГц получается 111 CKSEL и SET 0 чтоб сразу запускался, CKPOT 1 но он по умолчанию в 1 прошит если книге верить . щас БП перепояю и проверю есче раз всё, а диоды правильно подключены толька они даже на мегаомах не "звонятся" ставлю на прозвонку диодов они радостно светяться а прибор кажет падение напруги 1704 В. пожалуй поменяю.
в даташите у меня про фузы не словечка.
в даташите у меня про фузы не словечка.
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...


