Перейти к содержанию
    

Вопросы связанные с внешней памятью и STM32

Здравствуйте! Предвидяться проекты в которых необходимо будет использовать внешнюю память и флэшку и ОЗУ. 
Камень будет предположительно STM32F429 либо STM32H7 серии. До этого устройства с внешней памятью не проектировал.

Нюансы в разводке печатной платы я уже изучил, а вот по программированию и выбору типа памяти есть вопросы.

 

Устройство будет иметь тяжелый GUI   и для хранения графических данных будет использоваться NOR флэшка.

Можно ли будет при заливке прошивки в МК сразу заливать данные во флешку ? Или флешку придется отдельно программировать ?

Я предполагаю , что как минимум какой-то загрузчик придется писать. Или можно будет просто линковщику указать адрес внешней флэши и все нормально зальется ? 

 

Приходится и разработкой устройств и программированием заниматься , боюсь с первого раза тут какие либо ошибки допустить. 

И какой тип ОЗУ бы порекоммендовали  SDRAM или SRAM. SDRAM как я понимаю более требовательна к ПП  

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, Mysteo said:

Или флешку придется отдельно программировать ?

Скорее всего именно так. Только не обязательно программировать. Можно поднять FatFs и хранить данные на флешки в виде обычных фалов. А само устройство может предоставлять доступ к диску, например, USB MSC. Мы именно так и делаем в наших приборах. На этапе настройки настройщик просто загружает необходимые данные на "диск". Но всё это сделано не ради загрузки данных, просто прибор в любом случае должен предоставлять пользователю возможность работать виртуальным диском. У такого подхода есть и недостаток: FatFS неустойчива к сбоям, как и любая (?) FAT.

5 hours ago, Mysteo said:

Или можно будет просто линковщику указать адрес внешней флэши и все нормально зальется ? 

Обычно контроллер SPI NOR позволяет включить память в общее адресное пространство только для чтения. Для программирования нужно уметь отправлять команды. Вряд ли отладчик на такое способен, но здесь могу ошибаться.

5 hours ago, Mysteo said:

SDRAM как я понимаю более требовательна к ПП  

Её используем. Это дешевле, чем SRAM. ПП четыре слоя. Особых заморочек в трассировке не наблюдал: проводники как можно короче, земляной полигон, конденсаторы по питанию. Частота 100 МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, haker_fox сказал:

Вряд ли отладчик на такое способен, но здесь могу ошибаться.

для таких целей в keil делал program algorithm (там есть пример который можно допилить) - всё заливается отладчиком и в целом удобно получается

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 minutes ago, tgruzd said:

всё заливается отладчиком и в целом удобно получается

Я вот тоже подумал, если отладчик имеет доступ к шине AHP/APB, то какая разница контроллеру внешней памяти кто его программирует? Вы подтвердили мою догадку) Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно SDRAM, у нее размер больше и цена ниже, хотя скорость работы ниже чем SRAM. 

NOR можно прогать через загрузчик, посмотрите пример в CubeIDE. Хотя отдельно залить все нужные данные можно через "лягушку" - прищепка с контактами для программирования впаянной микросхемы. Либо на плате сразу вывести контакты. В процессе отладки всяко будете ченить перерисовывать.
Файловую систему можно смонтировать, а можно и без нее. В первом случае обращение к элементам интерфейса через файловый доступ, во втором случае - через фиксированные непосредственно задаваемые адреса. 
При запуске работы нужно делать предварительную предподготовку ГУИ, загружая графические элементы с флешки и предварительно собирая в SDRAM отображаемые окна и элементы ГУИ. Не обязательно все, но те, которые нужны сразу и часто.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 часов назад, Mysteo сказал:

боюсь с первого раза тут какие либо ошибки допустить

Это нормально, в первый раз всегда что-нить где-нить да упустишь. Поэтому и существуют отладочные платы. На F429 это STM32F429I-Disc1, там и дисплей стоит, правда небольшой, 320х240 всего (но можно любой подключить через переходник), и SDRAM на 64 Мбит (8 МБайт). NOR-флешки правда нету, она есть на STM32F469I-Disco. На этой плате уже и дисплей 800х480 с DSI-интерфейсом. https://aliexpress.ru/item/1005005274251003.html 
Отладочная плата для H-серии - это STM32H750B - DK https://aliexpress.ru/item/1005004598478967.html

Если не хотите покупать отладочную плату, то хотябы посмотрите её схему 32F469IDISCOVERY - Discovery kit with STM32F469NI MCU - STMicroelectronics  STM32H750B-DK - Discovery kit with STM32H750XB MCU - STMicroelectronics и возьмите её за основу, это поможет избежать ошибок.

Изменено пользователем EdgeAligned

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 часов назад, haker_fox сказал:

то какая разница контроллеру внешней памяти кто его программирует

да даже не так: как таковой контроллер памяти тут не при чем.  я писал в spi nor-flash (не quad).  со стороны отладчика это выглядит как запись данных по адресам, которые передаются коду в МК, который их уже и записывает в микросхему памяти, ну или на что ещё хватит фантазии.      

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставьте лучше Quad-SPI, чего экономить то? Вот как раз модуль QSPI, в отличие от обычного SPI, имеет в том числе и отображение адресного пространства флеши в адресное пространство микроконтроллера. А обычную SPI придется прогать отдельно, да и работает она медленнее.

Отладочную плату типа F469 или H750 можно даже целиком взять в прототип. Зато отработаете все приемы работы и уж точно избежите большинства "детских" ошибок. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем за советы ! Действительно, что-то я не подумал о копировании какой-либо дискавери, хотя до этого многие проекты копировал. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Небольшой офтоп:
Гляньте на немного откомментированное содержимое магазина SoChip на AliExpress
Выделеный процессор - менее 500 рублей за штуку в партии 10 шт.

image.thumb.png.67ed02f68e35b733266ec38edd109a2e.png

Надо ли при наличии такого железа делать с внешней sdram? 
T113-s3 точно имеет выход на rgb панель.

 

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну мы ж не знаем ваших потребностей. Тут надо исходить из того, сколько оперативки требуют алгоритмы обработки изображений, которые вы будете использовать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 3/25/2023 at 12:55 AM, Mysteo said:

SDRAM как я понимаю более требовательна к ПП 

Мы использовали SDRAM IS42S16400J-7. Одну плату разводили с выравниваем длины проводников. Другую плату вообще без выравнивания. Обе работают одинаково. Видимо на частоте 110 МГц еще не критично.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, TOG said:

Видимо на частоте 110 МГц еще не критично.

То же самое. Только частота 90 МГц. Где-то на форуме были размышления на тему, что на частоте 100 МГц можно сильно не задумываться о длинах проводников.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...