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

 
 
> STM32F429 Внутренняя RAM и внешняя SDRAM, Работают по разному
MiklPolikov
сообщение Dec 11 2015, 04:10
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Есть процессор STM32F429 c внешней памятью IS42S16400J-7TLI .
Есть библиотека компрессии JPEG , которая тестировалась на ПК, и не заработала на МК.
Оказалось, что одни и те же вычисления во внутренней памяти МК и в SDRAM дают разные результаты.
Какие именно вычисления-понять сложно , т.к. библиотека чужая.
Тесты (чтение/запись, логические операции) SDRAM проходит.
При изменении частоты процессора 45 / 90 / 180 МГц результат кардинально не меняется, хотя какая-то зависимость вроде бы есть.

Вопрос: Какие именно обращения к SDRAM заставляют её работать не правильно ? Где и как искать решение проблемы?

Заранее спасибо !


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
501-q
сообщение Dec 11 2015, 04:14
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 24-02-09
Из: Екатеринбург
Пользователь №: 45 296



Hi!

STM32F42xx and STM32F43xx Errata sheet:

When the FMC is used as stack, heap or variable data, an interrupt occurring during a CPU
read access to the FMC may results in read data corruption or hard fault exception. This
problem does not occur when read accesses are performed by another master or when
FMC accesses are done when the interrupts are disabled.

Илья
Go to the top of the page
 
+Quote Post
adnega
сообщение Dec 11 2015, 09:05
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(501-q @ Dec 11 2015, 07:14) *
Hi!

STM32F42xx and STM32F43xx Errata sheet:

When the FMC is used as stack, heap or variable data, an interrupt occurring during a CPU
read access to the FMC may results in read data corruption or hard fault exception. This
problem does not occur when read accesses are performed by another master or when
FMC accesses are done when the interrupts are disabled.

Илья

Там же: This limitation is present only in revision “A” devices. It is fixed in revision “Y”, “1” and “3”.
Насколько мне известно, у ТС ревизия "1".

Кста, насчет ES я бы внимательно ознакомился с п 2.1.10 PA12 GPIO limitation.
Цитата
When PA12 is used as GPIO or alternate function in input or output mode, the data read
from Flash memory can be corrupted. This behavior is observed only when the following
conditions are met:
• The device operates from a 2.7 to 3.6 V VDD power supply whatever the temperature
range
• Flash memory Bank2 is used or the dual bank feature is enabled.
Impacted products
• STM32F42xxI and STM32F43xxI part numbers
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Dec 11 2015, 16:59
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Отключил PA12 , отключил прерывания.
Провожу эксперимент:

Код
unsigned char  *p_sdram=(unsigned char *)(0xD0000000);

for(i=0; i<1000; i++)
         p_sdram[i]=i;


Вижу неправильное содержание памяти.

Этот же эксперимент с указателем unsigned short int , unsigned int проходит нормально

Вопрос: в чём может быть проблема ? Это может быть связано с настройкой LATENCY и WS во flash контроллере ?
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post



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

 


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


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