реклама на сайте
подробности

 
 
> uVision 5, ARM, вопрос о размещении переменной, как поместить в нужную область памяти
George_R
сообщение Dec 26 2016, 10:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 14-04-10
Из: Москва
Пользователь №: 56 636



Всем доброго дня!

Задался вопросом, как поместить переменную/массив точно по нужному адресу памяти

Сейчас делаю так - в скрипте линковщика объявляю секцию с нужным адресом, а при объявлении переменной пишу
__attribute__((section ("имя")))

Суть вопроса вот в чем: есть ли директива, позволяющая прямо в коде писать нужный адрес?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Mister_DSP
сообщение Jan 18 2017, 13:55
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 133
Регистрация: 5-11-16
Пользователь №: 94 050



Цитата(George_R @ Dec 26 2016, 11:56) *
Задался вопросом, как поместить переменную/массив точно по нужному адресу памяти
Суть вопроса вот в чем: есть ли директива, позволяющая прямо в коде писать нужный адрес?

Всегда делал вот так:
Код
#define pseudo_char *(char*)0x20000000 /* символ по адресу 0x20000000*/
#define pseudo_float *(float*)0x10000000 /* одниночное плавающее по адресу 0x10000000*/


Где-то были такого же типа и вызов функций с аргументами по адресу... таким же способом! sm.gif

Сообщение отредактировал Mister_DSP - Jan 18 2017, 13:56


--------------------
SPY vs. SPY
Хорошо там, где нет ничего...
Go to the top of the page
 
+Quote Post
George_R
сообщение Jan 18 2017, 13:59
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 14-04-10
Из: Москва
Пользователь №: 56 636



Цитата(Mister_DSP @ Jan 18 2017, 16:55) *


Спасибо! Вполне пригодно для укладывания инициализированного массива по адресу, и за счет отсутствия директив не привязано к компилятору
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 08:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016