Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

WinAver C, указатель стека

Непрочитано 20.03.2011, 15:30  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: WinAver C, указатель стека

По моему, не в обиду будь сказано, ... "Указатели границ флеша"-это вообще что-то новое...
Цитата:
сделал вывод значения регистра MCUCSR=0x02.
Вывод? Читаем даташит и делаем вывод - если после ресета там 2, то это означает, что причиной сброса был собственно сам reset, на соответствующей ноге.
Код:
• Bit 3 – WDRF: Watchdog Reset Flag
This bit is set if a Watchdog Reset occurs. The bit is reset by a Power-on Reset, or by
writing a logic zero to the flag.
• Bit 2 – BORF: Brown-out Reset Flag
This bit is set if a Brown-out Reset occurs. The bit is reset by a Power-on Reset, or by
writing a logic zero to the flag.
• Bit 1 – EXTRF: External Reset Flag
This bit is set if an External Reset occurs. The bit is reset by a Power-on Reset, or by
writing a logic zero to the flag.
• Bit 0 – PORF: Power-on Reset Flag
This bit is set if a Power-on Reset occurs. The bit is reset only by writing a logic zero to
the flag.
Ну а читать все 22 файла, думаю, не понадобится. Да и критика текста - что в этом плохого? Хотите научиться ездить на велике - надо потерпеть побитые коленки
Реклама:
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 20.03.2011, 15:49  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: WinAver C, указатель стека

А MCUCSR это не показатель. Рестарт может быть и чисто программный типа rjmp 0 - вести себя программа будет как будто был сброс, но в MCUCSR ничего при этом не изменится. Да и внешний сброс в той же студии вообще никак не получить. Если глюк стабильно проявляется и в симуляторах, то найти его будет совсем не сложно - точки останова расставить и постепенно сужать поиск.
kison вне форума  
Непрочитано 20.03.2011, 16:03  
svd71
Временная регистрация
 
Регистрация: 17.09.2009
Сообщений: 68
Сказал спасибо: 13
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
svd71 на пути к лучшему
По умолчанию Re: WinAver C, указатель стека

поиск уже сужен. уже понятно, что дело в размере стэка. понятно, что стэк, вмеско одного килобайта, настроен на 512 байт.
Вопрос в том, как это поправить? как указать принудительно компилятору, что стэк выше нужно расположить?
__________________
svd71 вне форума  
Непрочитано 20.03.2011, 16:20  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: WinAver C, указатель стека

Сообщение от svd71 Посмотреть сообщение
поиск уже сужен. уже понятно, что дело в размере стэка. понятно, что стэк, вмеско одного килобайта, настроен на 512 байт.
Вы мейкфайлом собираете или из под студии? Тип кристалла правильно задан, не М8515/М8535?
kison вне форума  
Непрочитано 20.03.2011, 16:32  
svd71
Временная регистрация
 
Регистрация: 17.09.2009
Сообщений: 68
Сказал спасибо: 13
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
svd71 на пути к лучшему
По умолчанию Re: WinAver C, указатель стека

Сообщение от kison Посмотреть сообщение
Вы мейкфайлом собираете или из под студии? Тип кристалла правильно задан, не М8515/М8535?
мекфайлом. в студии только elf открываю.

Код:
avr-gcc -g3 -gdwarf-2 -mmcu=atmega8 -minit-stack=0x45F -msize  -DF_CPU=1000000UL -O1    -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -ffunct
ion-sections -Wall -Wextra -Wstrict-prototypes -Wundef -Wsign-compare -Wa,-adhlns=./cbdlight/dimmer.lst  -std=gnu99 -O1  -c cbdlight/dimmer.c
cc1.exe: error: unrecognized command line option "-minit-stack=0x45F"
make.EXE: *** [dimmer.o] Error 1
-msize только недавно прикрутил. без нее те же рога. Не хотелось бы в инициализации, кодом менять. Потому как при смене кристалла на другой проблема будет мигрировать.
__________________
svd71 вне форума  
Непрочитано 20.03.2011, 16:51  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: WinAver C, указатель стека

То, что проект вовсе не собирается не смущает?
cc1.exe: error: unrecognized command line option "-minit-stack=0x45F"
make.EXE: *** [dimmer.o] Error 1
Какая версия компилятора? Потому как у меня -minit-stack нормально проходит.
Нафига два раза О1 вставлять? Какой то кривой у Вас мейкфайл.
Кстати -minit-stack у Вас в опциях компилятора. Ему этот ключ нафиг не нужен, вот и не собирает ничего. Это линкеру уже надо. Или не надо , он и сам по типу кристалла вполне разберется. Так что удаляйте -minit-stack нафиг.

Последний раз редактировалось kison; 20.03.2011 в 16:56.
kison вне форума  
Непрочитано 20.03.2011, 17:57  
svd71
Временная регистрация
 
Регистрация: 17.09.2009
Сообщений: 68
Сказал спасибо: 13
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
svd71 на пути к лучшему
По умолчанию Re: WinAver C, указатель стека

уже смущает, но именно иза-за строчки изменения стэка.
если ее убрать, то компилируется

Цитата:
avr-gcc.EXE (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
и по типу кристалла он тоже не хочет разбираться. Он видимо тупо ставит минимальный из 8ми-килобитных.
__________________
svd71 вне форума  
Непрочитано 20.03.2011, 18:10  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: WinAver C, указатель стека

Сообщение от svd71 Посмотреть сообщение
и по типу кристалла он тоже не хочет разбираться. Он видимо тупо ставит минимальный из 8ми-килобитных.
Прикрепите мейкфайл. То, что выше было относится к компиляции. Там ошибка и до сборки дело не дошло. Или лог сборки тогда, когда проект собирается, т.е. сборка без левого ключа, который все равно компилятор и не должен понимать.
kison вне форума  
Непрочитано 20.03.2011, 18:36  
svd71
Временная регистрация
 
Регистрация: 17.09.2009
Сообщений: 68
Сказал спасибо: 13
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
svd71 на пути к лучшему
По умолчанию Re: WinAver C, указатель стека

есть. вложил
Вложения:
Тип файла: zip makefile_20110320_153604.zip (6.6 Кб, 32 просмотров)
__________________
svd71 вне форума  
Непрочитано 20.03.2011, 18:37  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: WinAver C, указатель стека

Сообщение от kison Посмотреть сообщение
А MCUCSR это не показатель. Рестарт может быть и чисто программный типа rjmp 0 - вести себя программа будет как будто был сброс, но в MCUCSR ничего при этом не изменится.
Ну почему же не показатель? Достаточно после проверки очистить MCUCSR. Тогда при rjmp 0 там и будет 0 - признак "программного рестарта".
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатель поворотов на PIC Nash Микроконтроллеры, АЦП, память и т.д 52 20.04.2010 16:24


Часовой пояс GMT +4, время: 00:33.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.