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

 
 
> [РЕШЕНО] Определить структуру для внешней FLASH-памяти (Си), задать адрес, но не размещать в ОЗУ
Alt.F4
сообщение Jan 12 2017, 10:13
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Здравствуйте.

Есть библиотека, которая использует структуру с настройками TableSets и массу функций возвращающих адрес на строки таким образом:
char *addr=TableSets.XXX.yyy;
return addr;


Задача: перенести TableSets во внешнюю FLASH-память не переписывая библиотеку (поэтому offsetof использовать не получится).
Для обращения к внешней памяти надо знать смещение элемента в структуре относительно нулевого адреса.

Т.е. надо как-то определить структуру TableSets по нулевому адресу и в тоже время не размещать ее в ОЗУ МК.
Подскажите, пожалуйста, возможно ли это как-то сделать?
Спасибо.

з.ы. ОЗУ МК также начинается с нулевого адреса.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alt.F4
сообщение Jan 13 2017, 06:59
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



jcxz, Сергей Борщ, мы можем понимать друг друга без слов!
Глубоко извиняюсь, что не смог в первом посте правильно описать задачу...

jcxz, грубо говоря, как Вы и написали, ПО читает настройки через вызов ReadSet08(dst, &TableSets.XXX.yyy) и именно из-за такой передачи адреса я не могу заюзать offsetof()...

Сергей Борщ, круто, то что надо!!! Спасибо!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 02:35
Рейтинг@Mail.ru


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