реклама на сайте
подробности

 
 
> Помогите. AVRstudio+Jtag+Atmega128
big_nikolas
сообщение Nov 2 2006, 10:07
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 28-04-06
Пользователь №: 16 574



help.gif
Всем привет! Помогите разобраться, плиз.
Накалякал простую программу:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>

#define Freq 16000000

SIGNAL(SIG_OVERFLOW1)
{
TCNT1 = 0x10000 - (Freq / 1024);
PORTA ^= 0x01;
}

int main (void)
{
DDRA = 0x01;
TCCR1A = 0;
TCCR1B = 5;
TCNT1 = 0x10000 - (Freq / 1024);
TIFR = 0;
TIMSK = 0x04;

sei();
while(1);
}
Подключил JTAGice собранный своими руками. Всё вроде нормально. Запустил программу, эмулятор зашуршал, светодиодик через каждую секунду замигал (на тестируемой плате) см. программу. Поставил breakpoint на начало прерывания, всё нормально. Остановился в прерывании, жму RUN, тоже всё нормально возвращается к breakpoint. Начинаю делать step into, когда доходит до конца подпрограммы прерывания и как-бы зависает. Нажимаю на паузу он высвечивает окно Дизассемблера и показывает что жёлтая стрелочка находится вне телы программы на не понятном адресе. Посмотрел окно памяти DATA а там о ужас непонятные числа и причём вся область, и когда он возвращается из подпрограммы он выходит по лже-значениям в DATA, а не по значению адреса сохраннём стеком.
За што зацепится, даже ума не приложу. Мож кто подскажет, ЧТО ЭТО? help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
IgorKossak
сообщение Nov 3 2006, 08:36
Сообщение #2


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



При старте значение RAM в AVR имеет непредсказуемое значение.
Компиляторы инициализируют только то, что должно быть проинициализировано и обнуляют только то, что должно быть обнулено, остальное оставляют без изменения. Стеки не инициализируются.
Указатель стека обычно инициализируется на конец стекового сегмента самим компилятором (линкером).
Необходимо правильно указать расположение стекового сегмента (или сегментов, в зависимости от применяемого тулчейна).
Компилятором какого производителя пользуетесь? Судя по всему WinAVR?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016