AVR studio в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: AVR studio 4 в вопросах и ответах

Сообщение COKPOWEHEU »

Судя по симптомам наиболее вероятно срыв стека или чтение из его области. Дальше мои телепатические способности не простираются.
Реклама
Аватара пользователя
ciph
Встал на лапы
Сообщения: 111
Зарегистрирован: Вт окт 05, 2010 08:11:41
Откуда: г. Петрозаводск

Re: AVR studio 4 в вопросах и ответах

Сообщение ciph »

Я уже об этом думал, пишу на С. Обычно стек срывал когда на ассемблере писал. Не думал что и на С такое возможно!
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение Аlex »

Ну язык тут совсем не причём. Компилятору тяжело отследить использование стека. Взять ту же рекурсию - стек запороть на раз-два...
Аватара пользователя
ciph
Встал на лапы
Сообщения: 111
Зарегистрирован: Вт окт 05, 2010 08:11:41
Откуда: г. Петрозаводск

Re: AVR studio 4 в вопросах и ответах

Сообщение ciph »

Век живи век учись! Спасибо!
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: AVR studio 4 в вопросах и ответах

Сообщение COKPOWEHEU »

Невозможно сорвать стек на Си? Да я могу хоть 10 примеров привести, начиная от указателей и заканчивая рекурсией. Памяти у ATtiny13 всего 64 байта. Если память заполнена на 75% то на стек остается всего 16 байт, то есть максимум 8 уровней вложенности процедур. Это не считая сохраняемых при входе-выходе регистров, на которых Си не экономит.
Реклама
Аватара пользователя
ciph
Встал на лапы
Сообщения: 111
Зарегистрирован: Вт окт 05, 2010 08:11:41
Откуда: г. Петрозаводск

Re: AVR studio 4 в вопросах и ответах

Сообщение ciph »

Вопрос о невозможности срыва не стоял. Тупо не знал что сорвать стек на Си проще простого.
Реклама
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: AVR studio 4 в вопросах и ответах

Сообщение COKPOWEHEU »

В большинстве контроллеров AVR стек расположен в конце оперативной памяти. Не во всех, в некоторых он аппаратный и записать в него через st* нельзя. А уж с тиньками нужно быть предельно осторожным - памяти мало. Поэтому для них лучше программировать на ассемблере.
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение Pink-Pank »

В большинстве контроллеров AVR стек расположен в конце оперативной памяти.
Вы, наверное, хотели сказать, что большинство СИшных компиляторов его там делают? + сейчас производитель стал делать значения регистров SP после сброса указывающими на конец памяти.
А так расположить стек можно где угодно. Keil, к примеру, для АРМов располагает стек и кучу перед основной программой.
Fucking static initialization order fiasco
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: AVR studio 4 в вопросах и ответах

Сообщение COKPOWEHEU »

Неправильно выразился. Обычно в AVR стек располагают в конце памяти. Хотя я и сам делал десяток отдельных стеков по всей памяти, когда делал модель ОС с вытесняющей многозадачностью.
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение Pink-Pank »

Нуууу... Я думаю, что стек основного родительского процесса (оно же ядро системы) все равно находился в конце, если Вы писали на СИ, разумеется?
Fucking static initialization order fiasco
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18649
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение ARV »

COKPOWEHEU писал(а):А уж с тиньками нужно быть предельно осторожным - памяти мало. Поэтому для них лучше программировать на ассемблере.
если задача соответствует тиньке, то на Си можно работать спокойно и не особо тревожась. не нагоняйте страху без нужды :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: AVR studio 4 в вопросах и ответах

Сообщение COKPOWEHEU »

Pink-Pank писал(а):Нуууу... Я думаю, что стек основного родительского процесса (оно же ядро системы) все равно находился в конце, если Вы писали на СИ, разумеется?
Разумеется, на ассемблере. Там проще извращаться с адресами переходов и возвратов и стеком.
ARV писал(а):если задача соответствует тиньке, то на Си можно работать спокойно и не особо тревожась. не нагоняйте страху без нужды :)))
Понятие "соответствует" включает "помещается почти без запаса".
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18649
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение ARV »

COKPOWEHEU писал(а):Понятие "соответствует" включает "помещается почти без запаса".
узнать, помещается или нет задача можно только после ее постановки и реализации :) поэтому я имел ввиду соответствует == "правильно поставлена".
например, для attiny13 вполне нормальным будет задача типа "диммер лампы накаливания с дистанционным управлением с самообучением командам любого пульта ДУ и включением-выключением лампы отдельной кнопкой". эта задача вполне комфортно решается на Си. или такая задача "лампа настроения с различными режимами работы и управлением с пульта ДУ".
разумеется, если нужно решать задачу с мощной математикой, большим количеством внешних прерываний, кнопок и т.п., то такую задачу для attiny13 ставить будет некорректно - тут и на ассемблере придется попотеть :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: AVR studio 4 в вопросах и ответах

Сообщение COKPOWEHEU »

Я лишь к тому, что 64 байта для Си все-таки маловато, там часто вызываются вложенные процедуры и в каждой сохраняются регистры. А сохранить все регистры один раз - пол-памяти нет. Это, конечно, редкое событие, но внимательность сохранять надо.
Аватара пользователя
Xatrix
Сверлит текстолит когтями
Сообщения: 1296
Зарегистрирован: Ср мар 10, 2010 22:28:34
Откуда: Запад Беларуси

Re: AVR studio 4 в вопросах и ответах

Сообщение Xatrix »

Как можно переписывать младшие 4 бита порта не трогая остальных? tiny2313 На младших висит дешифратор, а на старших - USI с часами.
Изображение
Изображение
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: AVR studio 4 в вопросах и ответах

Сообщение pyzhman »

Код: Выделить всё

in temp,PORTX; читаем состояние порта
temp&= 0xF0; сбрасываем младшую тетраду
temp|= 0x0N; записываем в младшую тетраду N(должно быть четыре бита)
PORTX= temp; выводим в порт
Docendo discimus
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: AVR studio 4 в вопросах и ответах

Сообщение FreshMan »

есть программатор AVRISP mk2
программа не хочет его видеть
Изображение
помогите советом
Tell Me The Truth
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: AVR studio 4 в вопросах и ответах

Сообщение Gudd-Head »

Зелёный светодиод на самом программаторе со стороны USB горит?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: AVR studio 4 в вопросах и ответах

Сообщение FreshMan »

да
Tell Me The Truth
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: AVR studio 4 в вопросах и ответах

Сообщение Gudd-Head »

Либо дрова криво встали, либо ещё что.
Попробуй обновить прошивку программатора, может он так увидится. В хэлпе студии по ARVISPmkII "4.2 Manual Firmware Upgrade".
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ответить

Вернуться в «AVR»