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

 
 
> STM32F746 и внешняя SRAM, ошибка при чтении
Sagittarius
сообщение Mar 2 2017, 13:50
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 207
Регистрация: 26-01-06
Из: СПб
Пользователь №: 13 659



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

Возникла непонятная ситуация. Проц STM32F746, к нему подключено внешнее статическое ОЗУ, 16 бит данных. Скелет программы сгенерен в CubeMX, кеш на команды и данные отключен.
Тест простой - сначала пишу во внешнюю RAM 12 штук 32-бит слов (используя memcpy) потом читаю в цикле по одному uint32_t. В зависимости от наличия, частоты и длительности прерываний (простой таймер и инкрементом переменной во внутреннем ОЗУ), паузы между записью и чтением, уровнем оптимизации кода при компиляции иногда происходит сбой - циклов записи на внешней шине всегда 12 а вот циклов чтения иногда проскакивает только 11 (отсутствует выдача сигналов CS и OE). Судя по всему аппаратура проца пропускает первый запрос на чтение, при этом результатом самого чтения оказывается значение, которое последним записывалось во внешнюю RAM (продублированные последние записываемые 16 бит). В зависимости от каких то шаманских действий частота сбоев может быть от 1-2 в секунду до 1-го за 7-8 часов. Пробовал собирать проект в IAR и Keil. Может будут у кого какие мысли по этому поводу?

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
smk
сообщение Mar 14 2017, 08:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Здравствуйте! Раз уж разговор о памяти, чтоб не плодить тем, задам вопрос здесть, если можно. Для платки STM32F746-DISCOVERY пытаюсь сосдать проект в Keil5. Использую мастер. При линковке получил ошибку:
Код
.\Objects\F7dyscovery.axf: Error: L6982E: AT section glcd_746g_discovery.o(.ARM.__AT_0xC0000000) with base 0xc0000000 limit 0xc003fc00 overlaps address range with AT section lcdconf.o(.ARM.__AT_0xC0000000) with base 0xc0000000 limit 0xc005fa00.
Not enough information to list image symbols.
. Понятно, что связано с памятью. Что-то не так. Прошу подсказать. Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 14 2017, 09:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(smk @ Mar 14 2017, 10:21) *
Понятно, что связано с памятью. Что-то не так. Прошу подсказать. Спасибо.

Вероятно у Вас заданы две секции с одинаковым абсолютным адресом 0xc0000000. О чём и говорит компоновщик.
Go to the top of the page
 
+Quote Post



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

 


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


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