|
AT90S1200 и tiny 2313 |
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 32)
|
Aug 29 2006, 20:02
|
Участник

Группа: Свой
Сообщений: 68
Регистрация: 2-02-05
Из: Россия
Пользователь №: 2 377

|
Цитата(Hmm @ Aug 29 2006, 23:12)  Добавьте в начале команду настройки стека. Лучше пусть прочитает апликейшн, там все толково и понятно расписано, сам адаптировал программу на ассемблере из 1200 в tiny2313 именно по нему, все заработало безупречно и сразу. Правда потом все равно на Си переписал, но это уже другая история
|
|
|
|
|
Aug 31 2006, 13:44
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(Terapefft @ Aug 31 2006, 17:31)  А какие фузы надо выставить при прошивании в ponyprog? Незнаю как там в ponyprog. Но тебе надо оставить галку только на SPIEN. Проще сделай так: считай фузы посмотри как стоит бит на SPIEN, а остальные поставь на обратное значение. P.S. SPIEN не трогай, а то придеться искать паралельный программатор.
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Aug 31 2006, 18:59
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
Цитата(Terapefft @ Aug 31 2006, 16:31)  А какие фузы надо выставить при прошивании в ponyprog? Для того, чтобы подсказать как программировать фузы, нужно знать от чего тактировалась Ваша S1200. Хотя, если при прошивке S1200, заводские фузы не менялись, то фузы tyny2313 нужно выставлять так: SPMEN = 1 DWEN = 1 EESAVE=1 SPIEN=0 WDTON=1 BODLEVEL2=1 BODLEVEL1=1 BODLEVEL0=1 RSTDISBL=1 CKDIV8=1 CKOUT=1 SUT1=0 SUT0=1 CKSEL3=1 CKSEL2=1 CKSEL1=0 CKSEL0=0 (что черным по белому написано в AVR093  ) При программировании фузов понипрогом нужно помнить, что установленная галка напротив имени фуза означает его программирование в 0. 2 Семён Понипрогом изменить состояние SPIEN нужно еще умудриться, поскольку этот фуз недоступен при последовательном программировании.
|
|
|
|
|
Sep 4 2006, 17:44
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
Цитата(Terapefft @ Sep 4 2006, 10:35)  write failed пишет после програмирования програмы. может я что не правильно делаю? я сначала выставляю фузы, прошиваю, затем открываю прогу и жму write all и вот после этого выдает это сообщение Не спросил в прошлый раз: в процессе программирования кварц подключен к тине2313? Если нет, то попробуйте подключить кварц 3...8МГц и повторите попытку запрограммировать программу (Write Progam). Или если есть под рукой еще один контроллер с заводскими фузами, то сначала залейте прогу, а потом программируйте фузы.
|
|
|
|
|
Sep 5 2006, 11:03
|

Частый гость
 
Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052

|
там на программаторе стоит какой то на 10 МГц, но я не знаю как проверить подключен он или нет, просто программатор самодельный какой то, был сделан задолго до моего прихода на эту работу. я вот седня пробовал новый микроконтроллер программировать, сначала прошил фузы, а затем нажал write programm в итоге все нормально прошилось, появилось сообщение write sucsesful, но когда я вставил его на плату индикации то ни фига опять не показывало. может на плате индикации что нить надо сделать? ее разрабатывали для s1200, там еще схема сброса стоит, я уже пробовал и с ней и без нее, когда без нее я просто ресет через резистор на питание вешал, но все равно ничего не получаеца. что можно еще попробовать?
|
|
|
|
|
Sep 5 2006, 12:22
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(Terapefft @ Sep 5 2006, 15:03)  там на программаторе стоит какой то на 10 МГц, но я не знаю как проверить подключен он или нет, просто программатор самодельный какой то, был сделан задолго до моего прихода на эту работу. я вот седня пробовал новый микроконтроллер программировать, сначала прошил фузы, а затем нажал write programm в итоге все нормально прошилось, появилось сообщение write sucsesful, но когда я вставил его на плату индикации то ни фига опять не показывало. может на плате индикации что нить надо сделать? ее разрабатывали для s1200, там еще схема сброса стоит, я уже пробовал и с ней и без нее, когда без нее я просто ресет через резистор на питание вешал, но все равно ничего не получаеца. что можно еще попробовать? Если контролер порошился это, значит, что программа в память загружена и не более того. Ты уверен, что правильно модифицировал саму программу и не где не ошибся? Если правил в HEX-редакторе, то мог спокойно испортить весь код. Теперь маленькое предложение: "Если надо сделать быстро, то за небольшое вознаграждение могу переделать код. От тебя только требуется прислать мне HEX файл. Если согласен пиши в личку".
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Sep 5 2006, 13:20
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(Terapefft @ Sep 5 2006, 16:39)  я программу вобще не трогал....разве в ней надо что нить изменять? и еще вопрос относительно фузов: почему в ponyprog не изменяется SPIEN? ведь в AVR093 написано что там должен быть 0. В AT90S1200 аппаратный стек, а в ATTiny2313 нет, его надо при старте устоновить используя следующие команды: ldi tmp,low(RAMEND) out SPL,tmp Также надо проверить, что там твориться с прерываниями, хотя думаю можно сначало только выстовить стек
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Sep 5 2006, 17:43
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
Цитата(Terapefft @ Sep 5 2006, 14:03)  там на программаторе стоит какой то на 10 МГц, но я не знаю как проверить подключен он или нет, просто программатор самодельный какой то, был сделан задолго до моего прихода на эту работу. я вот седня пробовал новый микроконтроллер программировать, сначала прошил фузы, а затем нажал write programm в итоге все нормально прошилось, появилось сообщение write sucsesful, но когда я вставил его на плату индикации то ни фига опять не показывало. может на плате индикации что нить надо сделать? ее разрабатывали для s1200, там еще схема сброса стоит, я уже пробовал и с ней и без нее, когда без нее я просто ресет через резистор на питание вешал, но все равно ничего не получаеца. что можно еще попробовать? А на плате индикации какой кварц стоит? и стоит ли он там вообще? (может s1200, от RC генератора тактируется?) Фузы по AVR093 программируют тиню на работу с кварцем 3...8МГц . Цитата я программу вобще не трогал....разве в ней надо что нить изменять? См. посты Семёна. Цитата и еще вопрос относительно фузов: почему в ponyprog не изменяется SPIEN? ведь в AVR093 написано что там должен быть 0. Он (ноль) там и есть иначе понипрогом ничего не зашилось бы, поскольку понипрог программирует по SPI. А изменить его понипрогом нельзя, потому что SPIEN недоступен при последовательном программировании.
|
|
|
|
|
Sep 6 2006, 07:53
|

Частый гость
 
Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626

|
Дева Мария, пресвятая богородица, заступница. Вам который день рассказывают. Во - первых. В самое начало программы вставьте конструкцию вида: ldi R16,low(RAMEND) ; настройка стека out SPL,R16 Во вторых, проверьте установку фузов. Потом, прочтите атмеловский пдф под названием :"Replacing AT90S1200_by_ATtiny2313.pdf" Если не можете сами отрихтовать программу, пришлите hex - файл. Я вам на шару эти 2 оператора добавлю. В догонку можете прислать схему самого дивайса. З.Ы. Сам с 1200 не работал, но в атмеловском пдф есть какая то неясная угроза насчёт отличия электрических параметров. Хотя, думаю, что это неважно.
Сообщение отредактировал Alex_Pol - Sep 6 2006, 07:58
|
|
|
|
|
Sep 7 2006, 18:13
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
Цитата(Terapefft @ Sep 7 2006, 13:54)  я уже добавил настройку стэка, пробовал и с заводскими установками фузов и выставлял как в AVR093 написано, все равно нифига не работает, а s1200 все нормально работает. что можно еще попробовать? Судя вот по этому: Цитата на плате индикации нету кварца... S1200 работала от RC генератора (1МГц). (В этой связи понятны манипуляции ваших предшественников с программатором Picprog- это они программировали фуз RCEN в S1200, который доступен только при параллельном программировании.) А значит заводские фузы тини 2313 трогать всетаки не нужно  . Проанализируйте программу S1200 и выясните использовались ли прерывание от переполнения таймера 0 и прерывание от аналогового компаратора. У тини2313 вектора этих прерываний находятся по другим адресам. Если хотябы одно из этих прерываний задействовано, то ИМХО проще будет перекомпилировать проект под тиню. Кроме того у тини отличается доступ к ЕЕПРОМ, на это тоже надо обратить внимание.
|
|
|
|
|
Sep 7 2006, 22:27
|

Частый гость
 
Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626

|
Цитата(Old1 @ Sep 7 2006, 21:13)  Проанализируйте программу S1200 и выясните использовались ли прерывание от переполнения таймера 0 и прерывание от аналогового компаратора. У тини2313 вектора этих прерываний находятся по другим адресам. Если хотябы одно из этих прерываний задействовано, то ИМХО проще будет перекомпилировать проект под тиню. Кроме того у тини отличается доступ к ЕЕПРОМ, на это тоже надо обратить внимание. Исходник в студию. Чтобы воду в ступе не толочь.  З.Ы. Мне бы на асме.
Сообщение отредактировал Alex_Pol - Sep 7 2006, 22:29
|
|
|
|
|
Sep 8 2006, 05:05
|

Частый гость
 
Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052

|
[/quote] Исходник в студию. Чтобы воду в ступе не толочь.  З.Ы. Мне бы на асме. [/quote] как его выложить? может я вам на мыло лучше пришлю?
|
|
|
|
|
Sep 8 2006, 09:31
|

Частый гость
 
Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626

|
Получил. Дык она вообще не компилится. Компилятор матерно ругается вот в этом месте: prt1: ldi tmp1,$0f ; cp T2L,tmp1 ; breq p_rcorr ; ldi tmp1,$27 ; cpc T2H,tmp1 ; brcc p_rcorr ; cp T3H,tmp1 ; brcc p_rcorr ; ldi tmp1,1 ; cp T4H,tmp1 ; Здесь! brcc p_rcorr ; ldi tmp1,4 ; cp T4L,tmp1 ; brcc p_rcorr ; rjmp begin ; И правильно делает. Т4Н не определён. Если эту программу как нить откомпилить, работать всё равно не будет. Так как там должно быть на самом деле? Да, и ещё. Если вы ожидаете, что по прерыванию таймера у вас отработает процедура tim_0, то этого не случится никогда. Ещё раз, внимательно AVR093 стр.2, 3; таблица 3. Это я ещё до работы с EEPROM не добрался.
Сообщение отредактировал Alex_Pol - Sep 8 2006, 09:49
|
|
|
|
|
Feb 16 2007, 02:47
|
Группа: Новичок
Сообщений: 9
Регистрация: 6-01-07
Из: Ростов-на-Дону
Пользователь №: 24 157

|
to Andrew_k5 При программировании по SPI вывод RESET используется для ввода в режим программирования. Если Вы запретили внешний сброс, то как правильно советуют в предыдущем посте - ищите параллельный программатор.
|
|
|
|
|
Feb 16 2007, 20:11
|
Группа: Новичок
Сообщений: 9
Регистрация: 6-01-07
Из: Ростов-на-Дону
Пользователь №: 24 157

|
Да, похоже парвллельный программатор не поможет.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|