Страница 2 из 2

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

СообщениеДобавлено: 17 сен 2021, 13:32
Вячеслав
Taska писал(а):нужно поставить

Максим, добрый человек, подскажи: как отправить переменную в секцию памяти .noinit ? Если она отображена в твоем скрине, то в секцию доступ из FC должен как-то быть? Заберу, очевидно, её оттуда по имени. Ассемблер что ли надо учить для этого?

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

СообщениеДобавлено: 20 сен 2021, 05:32
Вячеслав
Вячеслав писал(а):как отправить переменную в секцию памяти .noinit

Решение привело к возможностям среды Atmel Studio. Там для меня показалось просто:
секция .noinit.jpg

Правда, освоение среды требует усилий. Но, думаю, они того стоят.
Сообщение не по теме. Не знаю куда поставить, модератор.
Делаю самоделку: таймер с полным сном и учетом временных интервалов по WDT.

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

СообщениеДобавлено: 20 сен 2021, 05:44
mim
Вячеслав писал(а):
Вячеслав писал(а):как отправить переменную в секцию памяти .noinit

Решение привело к возможностям среды Atmel Studio. Там для меня показалось просто:
секция .noinit.jpg

Поразительно и удивительно... Сколько же понадобилось времени??? - для такого великого открытия...
Ведь здесь, почти три месяца назад, в самой первой ссылке это все и описано...
    [Секция .noinit]

    Секция .noinit входит в состав секции .bss (является её частью). В секции .noinit размещены переменные, которые заданы следующим образом:

    int foo __attribute__ ((section (".noinit")));

    Эти переменные не будут проинициализированы нулем при старте, как это делается с обычными данными .bss секции. В секцию .noinit можно поместить только неинициализированные переменные. К примеру, следующий код приведет к ошибке:

    int bar __attribute__ ((section (".noinit"))) = 0xaa;

    Можно явно указать линкеру, в какое место SRAM поместить секцию .noinit путем добавления в командную строку -Wl,--section-start=.noinit=0x802000 запуска avr-gcc на этапе линковки. Предположим, что Вам нужно поместить секцию .noinit в SRAM по адресу 0x2000:

    $ avr-gcc ... -Wl,--section-start=.noinit=0x802000 ...





ЗЫ Если люди с пометкой ГУРУ не имеют желания... то о чем мы говорим?

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

СообщениеДобавлено: 22 сен 2021, 03:53
щербатый
mim писал(а): Если люди с пометкой ГУРУ не имеют желания... то о чем мы говорим?


Мы все учились понемногу, чему нибудь и как-нибудь. Дело не в желании, а в умении и понимании. Каждый, приходящий на форум. И многие старожилы, в том числе. Думают что у них уникальная задача. Сразу здесь и сейчас требуют ответа на свой уникальный вопрос. Не понимая того что два форума. Старый и новый. Уже содержат ответы. Подробнейшие и разжеванные. На подавляющее большинство вопросов... Это беда многие форумов. Болеее того. Так как правило большими буквами написано. Прежде чем задать вопрос. Посмотри форум. Вполне возможно. Что ответ на него уже есть.

Нужно как то учить людей тому самому. Компьютерной грамотности, умению находить и пользоваться информацией.