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

 
 
> STR71xF and access to External memory, Некоректная запись...
Странник
сообщение Nov 12 2007, 09:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 10-05-06
Из: Киев
Пользователь №: 16 944



Устройство состоит из STR71xF и CMOS Static RAM K6F8016V3A.
Доступ к SRAM отконфигурирован через 16 бит шину данных.
В программе инициализированно куча структур и масивов расположенных в этой памяти, в том числе и char типа.
Работа с memcpy затруднена, работает не так как надо

.....
char ext_array[5]; // ext. memory
char intern_array[3]={1,2,3}; //internal memory
.....
memcpy(ext_array,intern_array,3);

В результате копирования 2 затирается.
Проблема в том что переконфигурировать память нельзя (заказчик не согласен).

Может есть какие то опции компилятора для решения данного вопроса?


help.gif

P.S используется RealView® Developer Kit V2.1

Сообщение отредактировал Странник - Nov 12 2007, 09:56
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Leen
сообщение Nov 12 2007, 09:57
Сообщение #2


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

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Вопрос первый - какой компилятор?
Вопрос второй - как выровнена внешняя память?
Что происходит во внешней памяти в районе указателя ext_array? Причем, если там выравнивание 2, а во внутренней - 4, то с выравниванием 4 байта.
Может быть, компилер считает, что там выравнивание 4 и прибавляет 4, а там всего 2 - вот двойка и перетирается. Тогда надо насильственно указать pack(4) или что-то в этом духе.
Go to the top of the page
 
+Quote Post
Странник
сообщение Nov 12 2007, 10:13
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 10-05-06
Из: Киев
Пользователь №: 16 944



Цитата(Leen @ Nov 12 2007, 13:57) *
Вопрос первый - какой компилятор?

ARM/Thumb C/C++ Compiler, RVCT2.1 [Build 526] for ST [developer for ARM7/9]

Цитата(Leen @ Nov 12 2007, 13:57) *
Вопрос второй - как выровнена внешняя память?

Не до конца понимаю по какому принципу это работает.
Т.е. никаких указаний компилятору не давалось (типа pragma pack(..))
Go to the top of the page
 
+Quote Post



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

 


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


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