16+
Воскресенье
17 декабря
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры PIC

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Nikolay_Po  (25.09.2017 10:04 - 25.09.2017 10:09) , в ответ на может из таких предпосылок разрабы компилятора и исходили. ;) автор: SERHIO
Не может быть там никаких предпосылок кроме стандарта. Вот из руководства компилятора XC8, цитата: 
"5.4.8.1 PERSISTENT TYPE QUALIFIER By default, any C variables that are not explicitly initialized are cleared on startup. This is consistent with the definition of the C language. However, there are occasions where it is desired for some data to be preserved across a Reset. The persistent type qualifier (or __persistent) is used to qualify variables that should not be cleared by the runtime startup code. In addition, any persistent variables will be stored in a different area of memory to other variables. Different psects are used to hold these objects. See 5.15.2 Compiler-Generated Psects for more information. This type qualifier cannot be used on variables of class auto; however, statically defined local variables can be qualified persistent." Вроде есть в настройках проекта специальная птичка (параметр для линкера, вроде) - не включать в прошивку код инициализации, выполняющийся перед main. Если такая птичка стоит, то, конечно, переменные не будут инициализироваться при сбросе. Если не жмёт скорость запуска и размер программы, то я бы оставлял штатную инициализацию. А переменные с данными, которые нужно сохранить при горячих сбросах, объявлять __persistent.
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVII