|
CVAVR "повреждене" локальных переменных |
|
|
|
 |
Ответов
|
Sep 23 2011, 21:34
|
Знающий
   
Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939

|
Вообщем глюк то вроде бы изза того что переменную не объявил volаtilom. В неё как раз считывались данные с порта только при ресете. И видимо компилятор посчитал, что потом с ней можно делать всё что хочешь. Столнулся с другим, что уже явно указывает на глюк компилятора. (версию сменил уже на 1.25.9) прога примерно такая : void main(void) { 1)If (условие) { if (условие) { while (1){операции} }; }; 2)while(1) { операции powerdown(); /* вот тут задокументирован был временно код на переработку */ }; } какимто образом программа вошла во 2й while(метка 2) выполнила операции , заснула , а когда проснулась попала в условие сверху( метка 1). После ресета было 100% повторение. После перекомпиляции и перепрошивки - всё исчезло. НО, перед перекомпиляцией я убрал задокументированный код. Незнаю сейчас гоняю , вроде работает, но к CV как то отношение ухудшилось Да ещё может кто встречал - при прошивке через CV если не сделать стирание чипа с проверкой( обязательно с проверкой) - чип не прошивается вбивает туда 0xFFFF( а может просто не шьёться , но стирается). Грешу на комп - часы у меня на компе уходят за час на 5 минут. Может частота не та идёт с компа? И изза этого появляются битые ячейки? Хотя впринципе тогда должно при верификации выводит ошибку. Цитата У меня сейчас 2.03.4. А как насчёт перехода с версии 1.25 сразу на 2.03 - сложностей не вызовет как думаете?
|
|
|
|
|
Sep 24 2011, 09:24
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(MKdemiurg @ Sep 24 2011, 00:34)  Столнулся с другим, что уже явно указывает на глюк компилятора. (версию сменил уже на 1.25.9) Почти наверняка это такой же глюк компилятора, как и первый, описанный вами неделю назад. Хотя может быть всякое. я бы на вашем месте просто открыл .asm - файл, созданный компилятором, и посмотрел бы, как выглядит ваш фрагмент на асме. Думаю, это прояснило бы ситуацию. Я уже, кстати, молчу о том, что у вас может, например, портиться стек, что и приводит к таким последствиям. На 99.9 и в этом случае компилятор не виноват ...
Сообщение отредактировал kovigor - Sep 24 2011, 09:25
|
|
|
|
Сообщений в этой теме
MKdemiurg CVAVR "повреждене" локальных переменных Sep 15 2011, 15:01 kovigor Цитата(MKdemiurg @ Sep 15 2011, 18:01) По... Sep 15 2011, 16:32 MKdemiurg Цитата(kovigor @ Sep 15 2011, 19:32) Возм... Sep 15 2011, 16:55 kovigor Цитата(MKdemiurg @ Sep 15 2011, 19:55) Де... Sep 15 2011, 17:06 MKdemiurg Цитата(kovigor @ Sep 15 2011, 20:06) А ту... Sep 15 2011, 17:24 kovigor Цитата(MKdemiurg @ Sep 15 2011, 20:24) Зы... Sep 15 2011, 17:29 MKdemiurg Цитата(kovigor @ Sep 15 2011, 20:29) Vola... Sep 15 2011, 17:50 kovigor Цитата(MKdemiurg @ Sep 15 2011, 20:50) На... Sep 15 2011, 17:56 MKdemiurg А тем которые параметром в функцию передаются? Sep 15 2011, 18:02 kovigor Цитата(MKdemiurg @ Sep 15 2011, 21:02) А ... Sep 15 2011, 18:06 Marian Выловил однажды проблему в CV, при декларировании ... Sep 15 2011, 19:32 -SANYCH- В CоdeVisionAVR довольно много глюков (по крайней ... Sep 15 2011, 20:41 MKdemiurg Цитата(-SANYCH- @ Sep 16 2011, 00... Sep 16 2011, 05:38 kovigor Цитата(MKdemiurg @ Sep 16 2011, 08:38) Чт... Sep 16 2011, 10:07 Slava2105 Не знаю как в версии 1.25.5 , я про неё давно забы... Sep 23 2011, 16:55 MKdemiurg Цитата(kovigor @ Sep 24 2011, 13:24) Почт... Sep 24 2011, 12:43 Slava2105 ЦитатаА как насчёт перехода с версии 1.25 сразу на... Sep 25 2011, 00:09 MKdemiurg ЦитатаИ утверждать про глюки компилятора надо всё ... Sep 25 2011, 06:13
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|