Страница 90 из 160

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

Добавлено: Пт ноя 28, 2014 21:41:30
COKPOWEHEU
Судя по симптомам наиболее вероятно срыв стека или чтение из его области. Дальше мои телепатические способности не простираются.

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

Добавлено: Пт ноя 28, 2014 21:45:20
ciph
Я уже об этом думал, пишу на С. Обычно стек срывал когда на ассемблере писал. Не думал что и на С такое возможно!

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

Добавлено: Пт ноя 28, 2014 21:47:31
Аlex
Ну язык тут совсем не причём. Компилятору тяжело отследить использование стека. Взять ту же рекурсию - стек запороть на раз-два...

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

Добавлено: Пт ноя 28, 2014 21:48:56
ciph
Век живи век учись! Спасибо!

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

Добавлено: Пт ноя 28, 2014 21:53:30
COKPOWEHEU
Невозможно сорвать стек на Си? Да я могу хоть 10 примеров привести, начиная от указателей и заканчивая рекурсией. Памяти у ATtiny13 всего 64 байта. Если память заполнена на 75% то на стек остается всего 16 байт, то есть максимум 8 уровней вложенности процедур. Это не считая сохраняемых при входе-выходе регистров, на которых Си не экономит.

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

Добавлено: Пт ноя 28, 2014 21:56:58
ciph
Вопрос о невозможности срыва не стоял. Тупо не знал что сорвать стек на Си проще простого.

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

Добавлено: Пт ноя 28, 2014 22:03:35
COKPOWEHEU
В большинстве контроллеров AVR стек расположен в конце оперативной памяти. Не во всех, в некоторых он аппаратный и записать в него через st* нельзя. А уж с тиньками нужно быть предельно осторожным - памяти мало. Поэтому для них лучше программировать на ассемблере.

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

Добавлено: Ср дек 03, 2014 14:20:14
Pink-Pank
В большинстве контроллеров AVR стек расположен в конце оперативной памяти.
Вы, наверное, хотели сказать, что большинство СИшных компиляторов его там делают? + сейчас производитель стал делать значения регистров SP после сброса указывающими на конец памяти.
А так расположить стек можно где угодно. Keil, к примеру, для АРМов располагает стек и кучу перед основной программой.

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

Добавлено: Ср дек 03, 2014 14:29:18
COKPOWEHEU
Неправильно выразился. Обычно в AVR стек располагают в конце памяти. Хотя я и сам делал десяток отдельных стеков по всей памяти, когда делал модель ОС с вытесняющей многозадачностью.

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

Добавлено: Ср дек 03, 2014 14:31:02
Pink-Pank
Нуууу... Я думаю, что стек основного родительского процесса (оно же ядро системы) все равно находился в конце, если Вы писали на СИ, разумеется?

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

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

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

Добавлено: Ср дек 03, 2014 16:13:19
COKPOWEHEU
Pink-Pank писал(а):Нуууу... Я думаю, что стек основного родительского процесса (оно же ядро системы) все равно находился в конце, если Вы писали на СИ, разумеется?
Разумеется, на ассемблере. Там проще извращаться с адресами переходов и возвратов и стеком.
ARV писал(а):если задача соответствует тиньке, то на Си можно работать спокойно и не особо тревожась. не нагоняйте страху без нужды :)))
Понятие "соответствует" включает "помещается почти без запаса".

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

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

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

Добавлено: Ср дек 03, 2014 21:48:14
COKPOWEHEU
Я лишь к тому, что 64 байта для Си все-таки маловато, там часто вызываются вложенные процедуры и в каждой сохраняются регистры. А сохранить все регистры один раз - пол-памяти нет. Это, конечно, редкое событие, но внимательность сохранять надо.

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

Добавлено: Чт дек 04, 2014 02:21:26
Xatrix
Как можно переписывать младшие 4 бита порта не трогая остальных? tiny2313 На младших висит дешифратор, а на старших - USI с часами.

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

Добавлено: Чт дек 04, 2014 06:10:37
pyzhman

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

in temp,PORTX; читаем состояние порта
temp&= 0xF0; сбрасываем младшую тетраду
temp|= 0x0N; записываем в младшую тетраду N(должно быть четыре бита)
PORTX= temp; выводим в порт

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

Добавлено: Ср дек 10, 2014 15:47:02
FreshMan
есть программатор AVRISP mk2
программа не хочет его видеть
Изображение
помогите советом

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

Добавлено: Ср дек 10, 2014 16:07:48
Gudd-Head
Зелёный светодиод на самом программаторе со стороны USB горит?

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

Добавлено: Ср дек 10, 2014 16:32:53
FreshMan
да

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

Добавлено: Чт дек 11, 2014 08:57:30
Gudd-Head
Либо дрова криво встали, либо ещё что.
Попробуй обновить прошивку программатора, может он так увидится. В хэлпе студии по ARVISPmkII "4.2 Manual Firmware Upgrade".