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

 
 
 
Reply to this topicStart new topic
> XC32 определение региона внешней памяти.
mse
сообщение Nov 24 2017, 17:47
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 705
Регистрация: 3-05-05
Пользователь №: 4 693



Собственно, проблема в названии темы.
В мануале по ХС32 дана рекомендация. Описать внешний сегмент с помощью определения региона

CODE
#pragma region name="ext_mem" origin=0xC0000000 size=0x1000
...
int ext_array[256] __attribute__((region("ext_mem")));
оно, каг-бы, да. Но, при попытке компилить, выдаётся варнинг, что переменной не может быть присвоен атрибут и она будет расположена во внутренней памяти. Процессор 2048EFH144, т.е. регион отображается в нужную часть виртуальной памяти.
Если тупо обращаться по абсолютному адресу в этот кусок адресного пространства, опять-же, выдаётся варнинг, но обращение происходит. Жить можно, но горбато.
У компилера оптимизация на "0".
Биться за чистоту кода или забить?
Go to the top of the page
 
+Quote Post
mse
сообщение Nov 30 2017, 19:08
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 705
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(mse @ Nov 24 2017, 20:47) *
Собственно, проблема в названии темы.
В мануале по ХС32 дана рекомендация. Описать внешний сегмент с помощью определения региона

CODE
#pragma region name="ext_mem" origin=0xC0000000 size=0x1000
...
int ext_array[256] __attribute__((region("ext_mem")));
оно, каг-бы, да. Но, при попытке компилить, выдаётся варнинг, что переменной не может быть присвоен атрибут и она будет расположена во внутренней памяти. Процессор 2048EFH144, т.е. регион отображается в нужную часть виртуальной памяти.
Если тупо обращаться по абсолютному адресу в этот кусок адресного пространства, опять-же, выдаётся варнинг, но обращение происходит. Жить можно, но горбато.
У компилера оптимизация на "0".
Биться за чистоту кода или забить?

В общем, оказалось все банально. По запарке объявлял переменную в функции. Стоило объявить переменную глобально, всё заработало.
Мораль: не надо запариваться.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th February 2018 - 19:15
Рейтинг@Mail.ru


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