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

AVR версия программы

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

Сообщение Вячеслав (Вячеслав) » 17 сен 2021, 13:32

Taska писал(а):нужно поставить

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

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

Сообщение Вячеслав (Вячеслав) » 20 сен 2021, 05:32

Вячеслав писал(а):как отправить переменную в секцию памяти .noinit

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

Правда, освоение среды требует усилий. Но, думаю, они того стоят.
Сообщение не по теме. Не знаю куда поставить, модератор.
Делаю самоделку: таймер с полным сном и учетом временных интервалов по WDT.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Вячеслав
Имя: Вячеслав
(Саратов)
Гуру
Гуру
Информация о пользователе

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

Сообщение mim (mim) » 20 сен 2021, 05:44

Вячеслав писал(а):
Вячеслав писал(а):как отправить переменную в секцию памяти .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 ...





ЗЫ Если люди с пометкой ГУРУ не имеют желания... то о чем мы говорим?
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

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

Сообщение щербатый (щербатый) » 22 сен 2021, 03:53

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


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

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

Пред.

Вернуться в Flowcode AVR

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей