Перейти к содержанию
    

C32 вопросы дилетанта

Помогите убогому кто чем может... Набросал тут списочек вопросиков, рою, конечно, параллельно, но языками владею слабо.

1. Как сделать переменную в ОЗУ не инициализируемую (__no_init)

2. Как разместить константу по заданному адресу

3. Как разместить переменную по заданному адресу.

4. Как выделить секцию (блок) в flash памяти, чтобы поместить туда что-то, и чтобы линкер туда больше не пытался ничего засунуть.

5. Как всё-таки правильно установить приоритеты прерываний? У меня получается только вручную - запись в IPC, всё шаманство с записями типа ipl7 не даёт ничего. Может, дело в симуляторе или бесплатном С32?

6. Почему при отработке не сбрасывается автоматически флаг прерывания, и его надо сбрасывать принудительно? Ну прямо ассемблер какой-то? Может, это как-то связано с системами приоритета?

7. Что всё-таки означает ipl7soft - ipl7auto - ipl7srs

8. Почему если написать просто ipl7, то не восстанавливается разрешение локального прерывания на выходе из прерывания

9. Почему программа называется int main(void), а не void main(void)

10. Почему симулятор запросто показывает все неиспользуемые переменные? Потому что он бесплатный и не оптимизирует?

11. Что такое single vector mode и multi vector mode

 

Таких вопросов ещё огого, но, может, для кого ответы очевидны, напишет мне на русском, так, чтобы понял даже я...

 

Спасибо, братья!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Как сделать переменную в ОЗУ не инициализируемую (__no_init)
int BlFlag __attribute__((address(0xA0007000),persistent));

или если не важен адрес переменной

int

BlFlag2 __attribute__((persistent));

 

2. Как разместить константу по заданному адресу
const unsigned int BlFlag __attribute__((address(0xA0007000))) = 0;

 

3. Как разместить переменную по заданному адресу.
unsigned int BlFlag __attribute__((address(0xA0007000))) = 0;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...