atiny26/atmega8: пишутся, читаются, не работают

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
Negor
Вымогатель припоя
Сообщения: 586
Зарегистрирован: Ср мар 07, 2007 22:58:02
Откуда: Черкассы, Украина
Контактная информация:

Сообщение Negor »

Нет что вы. 50 баксов это не много. Это ДАХРЕНА! Да 50 баксов мне хватит на дорогу к нему и обратно если он живет на Украине. Не не стоит отдавать такую сумму если прошивать МК для себя. если на фирме серьезный проэкт тогда да...
There is only 10 kind of people: those who understands binary code and those who dont!!!
Аватара пользователя
Инженер
Прорезались зубы
Сообщения: 232
Зарегистрирован: Сб ноя 24, 2007 09:03:29
Откуда: Ульяновск

Сообщение Инженер »

Ватсон писал(а):Ещё раз повторяю: достань где нибудь фирменный программатор и прошей. В Киеве вроде с этим проблем нету. Например, AVRISP mkII сейчас раздают по 50$ за штуку, неужели много?

Если самодельный программатор прошил и проверил и сказал: "все ОК". Значит так оно и есть. У меня два программатора и оба самодельные. Сотни раз программировал tiny2313. И ни разу мыслей не возникало что программатор мог ошибиться. Это цифровые вещи и после успешной верификации 100% гарантия что все записано верно.
Если конечно у кого-то много денег и мало времени тогда можно и за 50$ купить. А вот у меня скорее наоборот и я соберу себе в 10 раз дешевле.
Последний раз редактировалось Инженер Сб май 10, 2008 20:09:24, всего редактировалось 1 раз.
V-SV
Родился
Сообщения: 11
Зарегистрирован: Вс мар 09, 2008 23:35:07
Контактная информация:

Сообщение V-SV »

Инженер писал(а):1. команда rcall заносит в СТЕК неверный адрес
2. команда ret возвращает из СТЕКа невернвй адрес (и передает управление этому загадочному адресу)
3. СТЕК находиться в незаписывемой области памяти
4. у меня кривой компилятор (кривой файл m8def.inc)


Я может чего курнул не того или ночь, но чего-то я не вкуриваю, а где собственно программа?
Если это те строчки что Вы привели, то Asm не C++
Тута все определять нужно что куда...
Хотя может это у Вас все делается автоматически... несли нет, то программа совсем не верная...

Для примера...

Вы пишите про стек... А Хде вы его определяете?

Вы поставили org 0, в строке после этого должен идти вектор (или как там по русски) на начало программы...
А потом список векторов ппрерывания, а у Вас при компиляции код записывается на место этих векторов

Продолжать?

P.S. Если я не прав, скажите! Брошу курить! :shock:
Аватара пользователя
Инженер
Прорезались зубы
Сообщения: 232
Зарегистрирован: Сб ноя 24, 2007 09:03:29
Откуда: Ульяновск

Сообщение Инженер »

V-SV писал(а):
Инженер писал(а):1. команда rcall заносит в СТЕК неверный адрес
2. команда ret возвращает из СТЕКа невернвй адрес (и передает управление этому загадочному адресу)
3. СТЕК находиться в незаписывемой области памяти
4. у меня кривой компилятор (кривой файл m8def.inc)


Я может чего курнул не того или ночь, но чего-то я не вкуриваю, а где собственно программа?
Если это те строчки что Вы привели, то Asm не C++
Тута все определять нужно что куда...
Хотя может это у Вас все делается автоматически... несли нет, то программа совсем не верная...

Для примера...

Вы пишите про стек... А Хде вы его определяете?

Попрошу не путать меня с Основателем темы и главным вопрошающим.
Мне уже подсказали я неверно инициализировал СТЕК - у меги8 для адресации ОЗУ используется 2 байта, а я до сих пор работал с tiny2313 и tiny13 где для тех же целей хватает одного.
V-SV писал(а):Вы поставили org 0, в строке после этого должен идти вектор (или как там по русски) на начало программы...
А потом список векторов ппрерывания, а у Вас при компиляции код записывается на место этих векторов

Продолжать?

P.S. Если я не прав, скажите! Брошу курить! :shock:

Вообще то ты прав. Но прерывания в программе не используются так что это НЕ КРИТИЧНО. (хоть и не проффессионально, неграмотно и вообще :shock: )
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

если прерывания не используются, то занять выделяемую под вектора память чем-то полезным - профессионально, грамотно и т.п. :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Инженер
Прорезались зубы
Сообщения: 232
Зарегистрирован: Сб ноя 24, 2007 09:03:29
Откуда: Ульяновск

Сообщение Инженер »

sad_deamon писал(а):да прозвонил вроде бы все,
проверил монтаж по схеме, которую сам же рисовал с натуры, т.е. с готового изделия, которое теперь по этой схеме проверяю :(

Попробуй резистор на диод поставить 500 Ом или около того (300-1000 Ом)
V-SV
Родился
Сообщения: 11
Зарегистрирован: Вс мар 09, 2008 23:35:07
Контактная информация:

Сообщение V-SV »

Инженер писал(а):Попрошу не путать меня с Основателем темы и главным вопрошающим.
Мне уже подсказали...


Сорри, если чего не так...

В даташитах было явно написано, что первый байт с адреса 0, смещение на начало программы, а тут с "0" начинается программа...

P.S. Никого не хотел обидеть!
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

/* В даташитах было явно написано, что первый байт с адреса 0, смещение на начало программы, а тут с "0" начинается программа... */

Здесь чуть не так, контроллер начинает віполнять программу с адреса 0 во flash памяти. А где дальше будут объявляться переходы и остальное - это дело компиляторов. Тебе никто не мешает начать прогу с середины МК, но при этом компилятор в первые адреса сам поместит инфу, что начало прогри у тя там.
Вспомни bootloader, он расположен далеко, но ссылка на него все-же в начале.

Так что, можешь начинать и с нуля. Flash - это обычная память, процу наплевать на всякие там .org, откуда вычислит прочесть байт - от туда и прочтет.
sgarris
Родился
Сообщения: 5
Зарегистрирован: Пн май 12, 2008 09:26:50
Откуда: Moscow

Сообщение sgarris »

ИМХО - надо просто взять стопроцентно работающую HEX прошивку (что-то типа "моргаем светодиодами") коих в нете полно, зашить и сразу будет ясно , что виновато - сама схема, или неправильно откомпиленный код автора топика.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»