Easyelectronics.ru

Электроника для всех
Текущее время: 18 янв 2020, 16:14

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Привязка переменной в ОЗУ к определенному адресу
СообщениеДобавлено: 15 дек 2016, 16:52 
Здравствуйте!

Зарегистрирован: 03 ноя 2016, 18:24
Сообщения: 2
GCC ARM
надо при инициализации переменную в ОЗУ привязать к определенному адресу, чтобы иметь возможность после мягкого рестарта (без сброса питания)
прочитать ее значение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Привязка переменной в ОЗУ к определенному адресу
СообщениеДобавлено: 15 дек 2016, 18:02 
Старожил
Аватара пользователя

Зарегистрирован: 23 июл 2010, 09:54
Сообщения: 206
Откуда: Чебоксары
Такое сойдет:
Код:

#define BL_TEST_CELL_ADRS        (0x20004900)
#define BL_MAG_NUM                  (0x54329834)
uint32_t* bl_test_cell = (uint32_t*) BL_TEST_CELL_ADRS;
...
if(*bl_test_cell  == BL_MAG_NUM){
  do_it();
}
..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Привязка переменной в ОЗУ к определенному адресу
СообщениеДобавлено: 15 дек 2016, 18:22 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2634
Откуда: Санкт-Петербург
Статические переменные "из коробки" получаются привязанными к адресам, при следующем запуске попадут в то ж место. Вам afaik надо чуть другое - положить её в секцию .noinit, чтобы при старте программы её не зачистило.
int foo __attribute__ ((section (".noinit")));


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Привязка переменной в ОЗУ к определенному адресу
СообщениеДобавлено: 16 дек 2016, 13:01 
Только пришел

Зарегистрирован: 09 фев 2012, 21:29
Сообщения: 15
Eсли проц STM проще использовать backup registers. Они же и у lpc17xx есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Привязка переменной в ОЗУ к определенному адресу
СообщениеДобавлено: 27 дек 2016, 12:57 
Старожил
Аватара пользователя

Зарегистрирован: 24 июл 2012, 13:54
Сообщения: 855
Использование секции .noinit в данном случае, ИМХО тактически верно. Потому как это почти всегда сработает.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: demiurg1978


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB