Перейти к содержанию
    

Всем привет!

Народ, не могу запустить Atmega8, подскажите, pls, что я забыл?

 

Fusebits:Пробовал внутренний генератор 1 Мгц:

CKSEL3210=0001, SUT10=10,BODEN=1,BOOTRST=1, CKOPT=1, WDTON=1,RSTDISBL=1

Пробовал внешний кварц 4 МГц (кварц “свистит”):

CKSEL3210=1111, SUT10=00, BODEN=1,BOOTRST=1, CKOPT=1, WDTON=1,RSTDISBL=1

 

Настройки компилятора:

Тип программы: Application, тактовая частота, остальное, вроде ерунда.

 

Программа:

В симуляторе AVR Studio все работает, по адресу 0000 сидит RJMP на программу, т.е. по RESET проц. должен обработать прерывание и прыгнуть на мою программу, тогда на PORTB.1 должна появиться частота, которую я смотрю осциллографом.

// Port B initialization
// Func0=Out Func1=Out Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In 
PORTB=0x00;
DDRB=0x03;
x=0xff;
while (1)
      {
    PORTB=x;
    x=~x;
      };

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И ешё некоторые восмые плохо стартуют без резистора RESET ->> V+ (10k)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет!

Народ, не могу запустить Atmega8, подскажите, pls, что я забыл?

Покажи файл, который в мегу собственно зашиваешь программатором.

И скажи каким программатором шьёшь? Может он reset не отпускает после прошивки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Покажи файл, который в мегу собственно зашиваешь программатором.

И скажи каким программатором шьёшь? Может он reset не отпускает после прошивки?

 

Шью самодельным STK-200/300 (LPT) и CodeVision AVR, после читаю, сравниваю FLASH, все нормально. В окне программатора есть кнопка RESET, смотрю на первую ногу меги (RESET), нажимаю кнопку и вижу как 'нога' падает в 0 где-то на секунду, потом возвращается в единичку. То есть ресет проходит.

 

PS: Пробую вставить *.rom и *.obj - чегой-то файл не вставляется. :(

 

И ешё некоторые восмые плохо стартуют без резистора RESET ->> V+ (10k)

Попробую!

Изменено пользователем AndreyVN

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте побродить по ветке для начинающих "geting started ..." Возможно найдёте что-то для себя полезное и уж точно помигаете светодиодами

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Шью самодельным STK-200/300 (LPT) и CodeVision AVR, после читаю, сравниваю FLASH, все нормально. В окне программатора есть кнопка RESET, смотрю на первую ногу меги (RESET), нажимаю кнопку и вижу как 'нога' падает в 0 где-то на секунду, потом возвращается в единичку. То есть ресет проходит.

Попробуй в своей среде разработки включить выходной формат intel-hex, после чего зашей его своим программатором, используя софт avreal: http://www.ln.com.ua/~real/avreal/

Только не забудь, что контроллер надо стирать перед прошивкой.

Вот так примерно надо запускать avreal для твоего случая:

avreal32.exe -as -p1 +mega8 -o1000 -e -v -w <файл прошивки>

Если не поможет, то давай этот hex сюда - будем разбираться.

PS: Пробую вставить *.rom и *.obj - чегой-то файл не вставляется. :(

Возможно, стоит запаковать зипом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только не забудь, что контроллер надо стирать перед прошивкой.

Вот так примерно надо запускать avreal для твоего случая:

avreal32.exe -as -p1 +mega8 -o1000 -e -v -w <файл прошивки>

Если не поможет, то давай этот hex сюда - будем разбираться.

PS: Пробую вставить *.rom и *.obj - чегой-то файл не вставляется. :(

 

Я пробовал прошивать PonyProg, результат тот-же, а вот стирать флэшку никогда не стирал(!), возможно все дело именно в этом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Шью самодельным STK-200/300 (LPT) и CodeVision AVR, после читаю, сравниваю FLASH, все нормально. В окне программатора есть кнопка RESET, смотрю на первую ногу меги (RESET), нажимаю кнопку и вижу как 'нога' падает в 0 где-то на секунду, потом возвращается в единичку. То есть ресет проходит.

Попробуй в своей среде разработки включить выходной формат intel-hex, после чего зашей его своим программатором, используя софт avreal: http://www.ln.com.ua/~real/avreal/

Только не забудь, что контроллер надо стирать перед прошивкой.

Вот так примерно надо запускать avreal для твоего случая:

avreal32.exe -as -p1 +mega8 -o1000 -e -v -w <файл прошивки>

Если не поможет, то давай этот hex сюда - будем разбираться.

PS: Пробую вставить *.rom и *.obj - чегой-то файл не вставляется. :(

Возможно, стоит запаковать зипом.

Это все абсолютно лишнее,у CV нормальный встроенный программатор.А что у тебя осцилл показывает

на порте В3?Может,дефект монтажа и он банально засажен на 0 или 1?

Попробуй так:

unsigned char x;

void main(void)

{

PORTB=0x00;

DDRB=0xff;

x=0xff;

while (1)

{

PORTB=x;

x=~x;

}

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема еще бывает и аппаратной.

Питание есть?

Кварц генерит?

Первое, что ты должен был проверить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема еще бывает и аппаратной.

Питание есть?

Кварц генерит?

Первое, что ты должен был проверить.

 

Ну зачем Вы так. :(

 

PORTB=0x00;

DDRB=0xff;

 

PortB3 висит в единичке, самое интересное, что по RESET он сваливается в 0, и снова возвращается в 1 навсегда. Пожалуй, стоит попробовать записать в порт 0, (без генерации) и посмотреть управляется он или нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

флэшку никогда не стирал(!), возможно все дело именно в этом.

ну по-моему это первое и обязательное что нужно сделать :) иначе прога не записывается (вернее, записывается не правильно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

флэшку никогда не стирал(!), возможно все дело именно в этом.

ну по-моему это первое и обязательное что нужно сделать :) иначе прога не записывается (вернее, записывается не правильно)

Да нет, записывается, причем, абсолютно правильно. Просто поверх старой программы, при этом ее затирая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

флэшку никогда не стирал(!), возможно все дело именно в этом.

ну по-моему это первое и обязательное что нужно сделать :) иначе прога не записывается (вернее, записывается не правильно)

Да нет, записывается, причем, абсолютно правильно. Просто поверх старой программы, при этом ее затирая.

Нет, при программировании происходит изменение только 1 -> 0

Возможно у тебя программатор автоматом стирает сектора.

 

Я пробовал прошивать PonyProg, результат тот-же, а вот стирать флэшку никогда не стирал(!), возможно все дело именно в этом.

Ты файл прошивки-то будешь показывать?

Чтобы не гадать, может у тебя программа какя-то кривая...

Зипом запакуй.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...