|
Как правильно выставит фьюзы в Ponyprog?, PonyProg, AVR |
|
|
|
Aug 26 2012, 18:05
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 1-08-12
Из: Харьков
Пользователь №: 72 978

|
Цитата(Xenia @ Aug 25 2012, 21:46)  "Checked = unprogrammed!". Ну и глупо написано! Причем тут программирование, если фузы так и сяк программируются, только на разные значения? Писать надо то, чему соответствует галочка (check) - нулику или единичке, т.е. как у таблиц в даташите! Между прочим, в даташите по этому поводу под таблицей есть мелким шрифтом набранная фраза: "For all fuses ”1” means unprogrammed while ”0” means programmed". После стыковки этой фразы с пояснением к программатору наступает ... размягчение мозгов  , когда уже перестаешь понимать, ставить эту чертову галку или нет. Но насколько я представляю PonyProg, то галка у него соответствует нулику, т.е. "запрограммированному" состоянию. Вот вся эта катавасия и является той причиной, по которой PonyProg сгубила так много МК. На самом деле суть здесь проста - все таблицы установки параметров в даташитах приведены в нуликах и единичках! И это есть именно то, что соответствует ВЫБРАННОМУ режиму (и CKSEL в том числе). И эти нулики и единички, как раз, и есть то, что требуется запрограммировать. Однако дебилизм понипроговского интерфейса заставляет сперва перевести единицы и нулики в слова "programmed" и "unprogrammed" по сноске под таблицей, а потом повторно перевести "programmed" и "unprogrammed" в "сhecked" и "unchecked". Причем оба раза вопреки здравому смыслу  . Все у меня уже с этими ноликами и единичками едит крыша!!!  короче пони буду менять иначе не видать мне просвета )) Хотя в принципе понятно, то что если галочку ставить на unprog то это противоположно prog! тоесть нолик меняется с единицей
|
|
|
|
|
Aug 27 2012, 05:36
|

Знающий
   
Группа: Свой
Сообщений: 531
Регистрация: 1-02-05
Из: Украина, Киев
Пользователь №: 2 342

|
Цитата(izerg @ Aug 25 2012, 13:41)  Два способа победить проблему: 1 - выбросить коня, и взять что-либо нормальное. 2 - прочитать внимательно, что такое "галочки", и на что оно влияет. Цитата(Roma12 @ Aug 26 2012, 21:05)  Все у меня уже с этими ноликами и единичками едит крыша!!! (IMG:style_emoticons/default/laughing.gif) короче пони буду менять иначе не видать мне просвета )) Хотя в принципе понятно, то что если галочку ставить на unprog то это противоположно prog! тоесть нолик меняется с единицей Два дня потеряно впустую. Как показывает практика - "не осиливает" начинающий фьюзы. Хочется веть спаять 3 детальки, вшить прошивку и радоваться моргающему светодиоду, а тут еще разбираться с чем то...
|
|
|
|
|
Aug 27 2012, 06:09
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
Меняйте пони, не меняйте - дело, конечно, Ваше, но вдуматься и понять фьюзы всё равно придётся. Иначе Вы далеко не уедете. В пони галочка включена - бит programmed (==0), выключена - unprogrammed (==1). Это написано прямым текстом в том окне. И, кстати, на 100% соответствует терминологии атмеловских даташитов  . Поэтому, если Вам угодно ругаться, ругайтесь не на пони, а на атмеловцев, придумавших эту "инверсную" терминологию с вытекающим из неё туманом. Хотя и она отнюдь не взята с потолка, т.к. для любых флэшей и прочих ПЗУ чистая, незапрограммированная (unprogrammed) ячейка всегда содержит 0xFF. Такова технология. Привыкайте. А пони губит только невнимательных людей, у которых руки голову обгоняют. Я приложил пример для ATMega32. CKSEL= 0100 - внутренний генератор 8MHz, SUT=10 - Slow rising power, CKOPT=1 и т.д. Единственный недостаток поника, на мой взгляд, - это отсутствие в схеме генератора. И генерить частоту портом он тоже не умеет. Посему будьте осторожны с CKSEL=0000 (все 4 галки включены, это внешний генератор, а не кварц!!!!). Я один раз ошибся  , пришлось переделывать под AVReal кажется, т.к. он может генерить частоту на пине LPT порта. Потом всё равно ушёл на пони. ИМХО, удобнее, чем писать какие-то командные строки или применять разношерстные самопальные GUI программы-надстройки над тем же avr-dude и родственными вещами. Но это уже дело вкуса и личных предпочтений - кому как  ....
Эскизы прикрепленных изображений
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
Aug 28 2012, 09:01
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(hd44780 @ Aug 27 2012, 09:09)  Меняйте пони, не меняйте - дело, конечно, Ваше, но вдуматься и понять фьюзы всё равно придётся. Иначе Вы далеко не уедете.
В пони галочка включена - бит programmed (==0), выключена - unprogrammed (==1). Это написано прямым текстом в том окне. И, кстати, на 100% соответствует терминологии атмеловских даташитов Согласен. Дело не в Пони. Дело в элементарной невнимательности. P.S. Никак не пойму, почему AvReal до сих пор не обзавелся GUI ...
|
|
|
|
|
Aug 28 2012, 13:50
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
 Категорически заявляю, что я никому не запрещаю писать GUI оболочку к avreal !!! Его и у avrdude нет, как я понимаю :-) К avrdude отдельным проектом есть. К avreal тоже когда-то avrealshell был написан, но, насколько я понимаю, проект давно замер. Мне, как я уже не раз писал, всегда хватало существующих TUI (DOS, редактор QEdit, по Alt-F9 при необходимости перекомпиляция и зашивка микроконтроллера) и GUI (MED, NetBeans, Code::Blocks, ...) Выглядит это уже четырнадцать лет так: В Makefile проекта Код ... MCU = atmega64 F_CPU=7372800 # fuses for avreal FUSES = m103c=1,wdton=1,jtagen=1,cksel=F,ckopt=0,sut=1,boden=0,bodlevel=1 AVREAL_OPT=-n -az ... ... common_makefiles=$(PROJ_SRCTOP)/makefiles include $(common_makefiles)/gcc-avr.mak include $(common_makefiles)/avreal.mak avreal.mak Код ifndef AVREAL_PORT AVREAL_PORT = 1 endif
ifndef AVREAL_ADAPTER AVREAL_ADAPTER = b endif
AVREAL := avreal "-a$(AVREAL_ADAPTER)" "-p$(AVREAL_PORT)" +$(MCU)
ifndef AVREAL_FREQ ifdef F_CPU AVREAL_FREQ := $(F_CPU) endif endif
ifdef AVREAL_FREQ AVREAL_FREQ_SW := -o$(AVREAL_FREQ)hz endif
.PHONY : program prg_final fuses verify lock erase reset # program : $(TRGPGM) $(AVREAL) $(AVREAL_OPT) $(AVREAL_FREQ_SW) -e -wp $^ -v # fuses: $(AVREAL) -o50 -wp -v -f$(FUSES) # ifdef FUSES verify: $(TRGPGM) $(AVREAL) $(AVREAL_FREQ_SW) -v $^ -f$(FUSES) else verify: $(TRGPGM) $(AVREAL) $(AVREAL_FREQ_SW) -v $^ endif # lock: $(TRGPGM) $(AVREAL) $(AVREAL_FREQ_SW) -v -l2 $^ # erase: $(AVREAL) $(AVREAL_FREQ_SW) -e # reset: $(AVREAL) $(AVREAL_FREQ_SW) На домашнем компьютере Код $ echo $AVREAL_ADAPTER FT2232H=avreal-f32ha_a.cfg $ echo $AVREAL_PORT d=Dual RS232-HS A $ На работе что-то другое. Тот же Code::Blocks настроен на работу с внешним Makefile и Tools:Program вызывает make program Если мне кто-то объяснит, зачем мне GUI, если я в редакторе изменяю строку, жму «горячую клавишу» и зашиваю проект в кристалл, я еще подумаю (на самом деле, иногда подмывает на чём-то не сильно нужном освоить wxpy, чтобы при необходимости уже освоен был, но недосуг). Е если кому-то нужно, так см. рис 1 первую строку. Я свою часть работы сделал :-)
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|