CCM (core coupled memory) data RAM. Документация на русском языке

 

В одном из текущих проектов на STM32F407ZGT связанных с применением JSON взяла и закончилась оперативка…

В описании Memories
– Up to 1 Mbyte of Flash memory
– Up to 192+4 Kbytes of SRAM including 64-Kbyte of CCM (core coupled memory) data RAM
– Flexible static memory controller supporting Compact Flash, SRAM, PSRAM, NOR and NAND memories

Из которых 128К понятны, а вот 64-Kbyte of CCM как-то и не описаны (не разжеваны) особо. Погуглил… Тоже не много. Хотя микроконтроллер, на мой взгляд, достаточно популярный. Однако, нашел интересную ссылку на документ AN4296 (Use STM32F3/STM32G4 CCM SRAM with IAR™ EWARM, Keil® MDK-ARM and GNU-based toolchains).

Получается, что документ (STM32F3/STM32G4) не из этой серии. То есть он нужен мне здесь, в F4, но здесь его нет. Пришлось добавить!

 


Сразу хочу сказать, что памяти на JSON хватило.

Приведенный перевод, отвечает на некоторые вопросы, возникшие при рассмотрении AN4760 Application note Quad-SPI interface (QUADSPI) on STM32 microcontrollers в одной из моих предыдущих статей.

Что еще бросилось в глаза

В видео уроках

STM Урок 131. LAN8742A. LWIP. SOCKET. UDP Server. Часть 1

автор пишет: «Перейдём в Configuration и в FREERTOS в первом разделе выберем схему управления памятью heap_5, она мне больше понравилась чем четвёртая, так как позволяет работать с регионами памяти».

Однако, на мой взгляд, автор несколько лукавит с регионами и создает оба массива с адресами

0х20000088  heap_sram1
0х2000ecf0  heap_sram2

в одном регионе памяти.

Я долго пытался воспроизвести все это в IAR… Получилось только обмануть:

Сама по себе heap_5 тоже не особо где подробно описана, однако… Интуитивно, зачем кучу дробить на 2 массива? — Видимо, чтобы рассадить на разные шины, которые можно независимо пользовать в случае занятости одной из них, например, DMA.

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

В службе поддержки STMicroelectronics решение одобрили:

«CCM memory in STM32F4 can be used as additional RAM for the core as it is directly connected to its bus. You can locate there OS heap or system stack/heap to have more space for DMA in regular RAM.
This memory is automatically enabled, so there is no need to turn on its clock (please refer to Reference Manual for default settings of RCC->AHB1ENR registers).»

RCC_AHB1ENR

Так что не бросаемся быстрой оперативкой!

С уважением Петр.

Реализуем коммерческие проекты.
Возможна работа по договору подряда.

t654rk@mail.ru

Ваши комментарии к статье:

Wordpress

Оставить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

ВКонтакте
Google+