|
|
  |
Конфигурационные биты и биты защиты Для Mega16, Работаем с PonyProg2000 |
|
|
|
Jul 6 2007, 04:07
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Цитата(jasper @ Jul 6 2007, 08:27)  Я же уже ответил на вопрос - надо сбросить все галки. И вот Dimmy это подверждает. Так что, это не пустая болванка, а рабочий скрипт. Подставляете название своих файлов и запускаете его, все будет нормально. У меня кварц не 3-8 метров, а 11,0592 В этом примере мне КАК МСИНИМУМ CKOPT надо установить в 1 Остальное нет возможности проверить... Но Jtagen и OCDEN - выключать не хочется Задержку на 16мс. Даже зная о защите: SPI - выключать не совсем разумно А бут блок в твоём примере отключен? Запускаю эмулятор (Algorithm Builder) лезу в свойства проекта там написано Checked=unprogrammed (т.е. на оборот по сравнению с Лошадью) Выбираю: внешний кварц 1-16 метров он тут же конфигурирует: Галки на CKSEL0-CKSEL3 Галки нет CKOPT Выбираю: внешний кварц 3-8 метров он тут же конфигурирует: Галки на CKSEL0-CKSEL3 и CKOPT Обратный процесс - снимаю все галки он мне на это - External clock
Сообщение отредактировал QuickWitted - Jul 6 2007, 04:14
--------------------
|
|
|
|
|
Jul 6 2007, 04:44
|

Народный чинитель
  
Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811

|
Хорошо, насчет CKOPT, это возможно. JTAG и OCDEN тоже включим. По поводу SPIEN в даташите написано: Цитата Notes: 1. The SPIEN Fuse is not accessible in SPI Serial Programming mode. Так что, на самом деле все равно. Тогда получиться: #------ START -------- #Programming sequence SELECTDEVICE ATMEGA16 CLEARBUFFER #Вместо myprog.hex и myprog.eep подставляем свою программу LOAD-PROG myprog.hex LOAD-DATA myprog.eep PAUSE "Готов к программированию?" ERASE-ALL WRITE&VERIFY-ALL #Fuse High Byte: {OCDEN,JTAGEN,SPIEN,CKOPT,EESAVE,BOOTSZ1,BOOTSZ0,BOOTRST} # 1 1 1 1 0 0 0 0 #Fuse Low Byte: {BODLEVEL,BODEN,SUT1,SUT0,CKSEL3,CKSEL2,CKSEL1,CKSEL0} # 0 0 0 0 0 0 0 0 WRITE-FUSE 0xf000 #Lock: {X,X,BLB12,BLB11,BLB02,BLB01,LB2,LB1} # 0 0 0 0 0 0 0 0 WRITE-LOCK 0x00 #------- END ---------
|
|
|
|
|
Jul 6 2007, 04:56
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Вот кусок откопал
#Pay attention to NOT disable RSTDISBL #FusesH: # DWEN, EESAVE, SPIEN, WDTON, BODLEV2, BODLEV1, BODLEV0, RSTDISBL} # 1 1 0 1 1 0 0 1 #FusesL: # CKDIV, CKOUT, SUT1, SUT0, CKSEL3, CKSEL2, CKSEL1, CKSEL0} # 1 1 1 1 1 1 1 1 WRITE-FUSE 0x2600
Сообщение отредактировал QuickWitted - Jul 6 2007, 05:15
--------------------
|
|
|
|
|
Jul 6 2007, 05:16
|

Народный чинитель
  
Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811

|
Цитата Вот кусок откопал И к чему это? К меге16 не имеет никакого отношения.
Сообщение отредактировал jasper - Jul 6 2007, 05:18
|
|
|
|
|
Jul 6 2007, 06:33
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Цитата(jasper @ Jul 6 2007, 10:16)  И к чему это? К меге16 не имеет никакого отношения. Просто показывает что у других... А так получается следующее #------ START -------- #Programming sequence SELECTDEVICE ATMEGA16 CLEARBUFFER #Вместо myprog.hex и myprog.eep подставляем свою программу LOAD-PROG Main.hex LOAD-DATA Main.eep PAUSE "Готов к программированию?" ERASE-ALL WRITE&VERIFY-ALL # 1) Включить отладку - OCDEN,JTAGEN,SPIEN =1 # 2) Кварц 1-16 - CKSEL3,CKSEL2,CKSEL1,CKSEL0 =0 и CKOPT =1 # 3) Задержка Max - SUT1 =1, SUT0=0 # 4) Всё остальное как есть # Fuse High Byte: # OCDEN, JTAGEN, SPIEN, CKOPT, EESAVE, BOOTSZ1, BOOTSZ0, BOOTRST} # 1 1 1 1 0 0 0 0 # Fuse Low Byte: # BODLEVEL, BODEN, SUT1, SUT0, CKSEL3, CKSEL2, CKSEL1, CKSEL0} # 0 0 1 0 0 0 0 0 # Одним словом это 1111000000100000 WRITE-FUSE 0xF020 #Lock: {X,X,BLB12,BLB11,BLB02,BLB01,LB2,LB1} # 0 0 0 0 0 0 0 0 WRITE-LOCK 0x00 #------- END ---------
--------------------
|
|
|
|
|
Jul 6 2007, 07:29
|

Народный чинитель
  
Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811

|
Цитата # 3) Задержка Max - SUT1 =1, SUT0=0 Нет макс. задержка при использовании внешнего кристалла будет SUT1 =1, SUT0=1 (по даташит), т.е. в скрипте должно быть наоборот SUT1 =0, SUT0=0. А остальное правильно.
|
|
|
|
|
Jul 6 2007, 08:42
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Цитата(jasper @ Jul 6 2007, 12:29)  Нет макс. задержка при использовании внешнего кристалла будет SUT1 =1, SUT0=1 (по даташит), т.е. в скрипте должно быть наоборот SUT1 =0, SUT0=0. Ну тогда последний вариант: Вставить в текстовый файл и задать расширение *.e2s Ну и ещё раз уточню - это без загрузчика? (т.е прерывания идут сразу за меткой старта) #------ START -------- #Programming sequence SELECTDEVICE ATMEGA16 CLEARBUFFER #Вместо Main.hex и Main.eep подставляем свою программу LOAD-PROG Main.hex #Если есть - вставить и разремить #LOAD-DATA Main.eep PAUSE "Готов к программированию?" ERASE-ALL WRITE&VERIFY-ALL # 1) Включить отладку - OCDEN,JTAGEN,SPIEN =1 # 2) Кварц 1-16 - CKSEL3,CKSEL2,CKSEL1,CKSEL0 =0 и CKOPT =1 # 3) Задержка Max - SUT1,SUT0=0 # 4) Всё остальное как есть # Fuse High Byte: # OCDEN, JTAGEN, SPIEN, CKOPT, EESAVE, BOOTSZ1, BOOTSZ0, BOOTRST} # 1 1 1 1 0 0 0 0 # Fuse Low Byte: # BODLEVEL, BODEN, SUT1, SUT0, CKSEL3, CKSEL2, CKSEL1, CKSEL0} # 0 0 0 0 0 0 0 0 # Одним словом это 1111000000000000 WRITE-FUSE 0xF000 #Lock: {X,X,BLB12,BLB11,BLB02,BLB01,LB2,LB1} # 0 0 0 0 0 0 0 0 WRITE-LOCK 0x00 #------- END ---------
--------------------
|
|
|
|
|
Jul 6 2007, 09:11
|

Народный чинитель
  
Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811

|
Цитата Ну и ещё раз уточню - это без загрузчика? (т.е прерывания идут сразу за меткой старта) Точно, это без загрузчика.
|
|
|
|
|
Jul 9 2007, 06:58
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Всем спасибо - программатор запустился... (прошил мигалку - мигает светодиодами состояния) Щас думаю на тему авт. блокировки работы проги под программатором, т.к. в этот же разъем, по замыслу, должна вставляться флешка MMС в режиме SPI , но это уже другая история...
Сообщение отредактировал QuickWitted - Jul 9 2007, 07:29
--------------------
|
|
|
|
|
Jul 9 2007, 08:07
|

Народный чинитель
  
Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811

|
Цитата Всем спасибо - программатор запустился... beer.gif (прошил мигалку - мигает светодиодами состояния) Замечательно! Я бы сильно удивился, если бы не заработало. Цитата Щас думаю на тему авт. блокировки работы проги под программатором, т.к. в этот же разъем, по замыслу, должна вставляться флешка MMС в режиме SPI , но это уже другая история... А чего тут думать, чипселект на флэшку с подтяжкой завел и все.
|
|
|
|
|
Jul 9 2007, 09:42
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Не всё так просто... 1) МК на 5 вольт флеш 3 2) Тут вопрос чтобы МК не начал дёргать SPI пока к нему внутрисхемный программер подключен... Но это нетрудно тройку транзисторов и увсё...
--------------------
|
|
|
|
|
Jul 10 2007, 03:25
|

Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596

|
Второй день подключал ЖК дисплей на 51 серии работает, а на меги - нет... Потом подключил плату со светодиодами и обнаружил, что 4 конца на порту С - не подают признаков жизни... Покопавшись в доке выяснилось, что от них отрастает Джейтаг... Отключил его при прошивке - пошло...
--------------------
|
|
|
|
|
Jul 17 2007, 13:21
|
Группа: Новичок
Сообщений: 3
Регистрация: 15-02-07
Пользователь №: 25 395

|
Привет!
А возможно ли склонировать чип mega16 целиком с прошивкой? И кто бы мог бы это сделать за уе если это реально?
Спасибо
|
|
|
|
|
Aug 3 2007, 12:47
|
Группа: Новичок
Сообщений: 14
Регистрация: 6-02-07
Из: Минск
Пользователь №: 25 110

|
Вопрос по битам защиты. Как я понял из даташита установкой двух битов LockBit2 и LockBit1 выбирается режим защиты памяти кристала. Lock2 Lock1 1 1 - нет защиты 1 0 - защита от программирования (записи) 0 0 - защита от записи и чтения
т.е. нет режима в котором возможна запись, но невозможно чтение? к примеру это было бы удобно для обновления ПО устройств, но в тоже время хотелось бы чтобы они были защищены от чтения...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|