Easyelectronics.ru

Электроника для всех
Текущее время: 23 сен 2019, 23:04

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 19 янв 2012, 09:09 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 17 янв 2012, 07:53
Сообщения: 51
на stm32fxx (наверно и не только там) памяти пишут что всего 192к. из них 128 идут одним куском с адресов 0x20000000. и есть еще 64к этой CCM (core coupled memory). хотелось бы узнать. что это за память, для чего её можно использовать, и почему она както сбоку ? (её тактирование както нада включать пахоже и адреса у нее сбоку)

заранее благодарен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 19 янв 2012, 09:47 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
Ткните носом в документ с указанием странице, где это пишут.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 19 янв 2012, 09:58 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 17 янв 2012, 07:53
Сообщения: 51
например общее описание STM32F405xx,STM32F407xx (файл dm00037051.pdf, первая страница)

Цитата:
Up to 192+4 Kbytes of SRAM including 64-
Kbyte of CCM (core coupled memory) data
RAM


там же (страница 54)

Цитата:
TCM data RAM
(64 KB data SRAM) 0x10000000 - 0x1000FFFF


да везде она описана

RM0090
Reference manual
STM32F405xx, STM32F407xx, STM32F415xx and STM32F417xx
advanced ARM-based 32-bit MCUs

страница 47

Цитата:
Note: The 64-Kbyte CCM (core coupled memory) data RAM is not part of the bus matrix (see
Figure 1: System architecture). It can be accessed only through the CPU.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 19 янв 2012, 19:06 
Старожил

Зарегистрирован: 22 июн 2010, 21:53
Сообщения: 1037
Откуда: Brussels
Теоритически (исходя их архитектуры других ARM) CCM - zero latency (code and data) память, которую невозможно задействовать по DMA.
Типа, там размещают стек, различные структуры ядра RTOS и пр.


Но корректного документа от ST я не нашел. Кто знает - напишите плс.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 22 янв 2012, 12:35 
Заглядывает иногда

Зарегистрирован: 11 сен 2011, 10:28
Сообщения: 35
Да, тоже интересуюсь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 01 авг 2012, 12:53 
Только пришел

Зарегистрирован: 06 апр 2012, 10:35
Сообщения: 14
Кто-нибудь разобрался с этой памятью?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 01 авг 2012, 18:07 
Только пришел

Зарегистрирован: 26 дек 2010, 01:06
Сообщения: 21
Могу только показать к.о. запихнуть константу либо переменную в CCM память (кеил). В main обявляем "CCM_RW" регион.
Код:
#pragma arm section rwdata = "CCM_RW"
uint32_t h[5] = {100,101,102,103,104};
uint32 temp;
#pragma arm section rwdata

Копируем содержимого .sct файла созданого кейлом, добавляем:
Код:
LR_IRAM2 0x10000000 0x00010000  {
  RW_IRAM2 0x10000000 0x00010000  {
    *(CCM_RW)
   .ANY (+RW)
  }
}

Записываем в новом "xxx.sct"
В Project->Option for target->Linker->Scatter file указываем "xxx.sct".
После компиляции h и temp будут расположенны в CCM память.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 01 авг 2012, 19:23 
Старожил
Аватара пользователя

Зарегистрирован: 20 авг 2010, 14:14
Сообщения: 1619
Откуда: Рэшен Федерэшн
Где же вы АРМщики-холиварщики?
Как поспорить, так хором и с пеной у рта, а как конкретный вопрос - сразу в кусты.
Уже полгода как народ пояснений ждет. Мне вот тоже интересно было бы послушать ликбез на тему, на пальцах так сказать..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 01 авг 2012, 20:57 
Старожил

Зарегистрирован: 22 июн 2010, 21:53
Сообщения: 1037
Откуда: Brussels
https://my.st.com/public/STe2ecommuniti ... ue%201.pdf

В ChibiOS (https://github.com/mabl/ChibiOS) начиная с 2.3.5 используется ССМ:
Цитата:
*** 2.3.5 ***
...
- NEW: Added a linker script that demonstrates how to put stacks and other
critical structures in the CCM RAM instead normal RAM.
....

файлик линкера STM32F407xG_CCM.ld

Но сам все еще не пробовал - так что живой опыт интересен :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 01 авг 2012, 22:38 
Только пришел

Зарегистрирован: 06 апр 2012, 10:35
Сообщения: 14
//Mt писал(а):
https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/22412/2012_STM32%20Technical%20Updates%20-%20Issue%201.pdf

Грубо говоря - это не маленький такой кэш процессора, на сколько я понял.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 02 авг 2012, 00:00 
Старожил

Зарегистрирован: 22 июн 2010, 21:53
Сообщения: 1037
Откуда: Brussels
Не только, там есть 8К SRAM на I-Bus - это похоже... но есть и ССM - просто еще один SRAM с дополнительными фишками - zero-latency и protected (в том смысле, что остальная перефирия, например DMA, не может "отнять" его у потока исполнения) - опять же - все это сторо IMHO.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 02 авг 2012, 12:52 
Заглядывает иногда

Зарегистрирован: 08 май 2012, 21:18
Сообщения: 184
Откуда: Омск
По сути это обыкновенная статическая память в мк. За одним исключением - она висит на той же шине данных что флешь. И всё.
Из дш на stm32f4xx:
The 64-Kbyte CCM (core coupled memory) data RAM is not part of the bus matrix (see
Figure 1: System architecture). It can be accessed only through the CPU.

Отсюда следует что доступ к этой памяти имеет только процессор и больше никто.


S1: D-bus
This bus connects the databus of the CortexTM-M4F and the 64-Kbyte CCM data RAM to the
BusMatrix. This bus is used by the core for literal load and debug access. The target of this
bus is a memory containing code or data (internal Flash memory or external memories
through the FSMC).

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

_________________
Прежде чем спорить подумай о том что воевать можно бесконечно, а вот мир бывает крайне коротким и редким. Мой сайт про stm32 и не только - www.nis-embedded.blogspot.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 09 янв 2013, 16:31 
Заглядывает иногда

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 134
Хранение констант, таблиц. Стек. Процессор имеет доступ сюда без задержек. И никакие DMA не помешают. Так что одноцикловый доступ гарантируется.

Ну и самое главное, исполнение кода в этой памяти будет максимально быстрым. В некоей статье говорится о приросте скорости до 52%

Если хранить константы по старинке, во флеше, то будете ждать по 8-10 циклов, что бы прочитать один байт или слово... (измерял на F103RET). Это вам не 8 bit AVR ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 09 янв 2013, 17:07 
Заглядывает иногда

Зарегистрирован: 01 сен 2011, 13:09
Сообщения: 34
По сути это обычная RAM, в которую кладется часть кода, который используется больше всего.

Обычно flash работает на 25МГц, а ядро на 100+, вот и придумывают ухищрения.

Прирост в 52проц это даст только в том случае, если кеш совсем не работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 09 янв 2013, 17:26 
Заглядывает иногда

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 134
Мне кажется, реальный прирост будет 5-10%
Нужно тестировать..

Кстати, если разгонять камень, то и код будет работать на полной скорости. Люди вон F4 со 168 до 260 мгц гонят %)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 10 янв 2013, 07:04 
Заглядывает иногда

Зарегистрирован: 08 май 2012, 21:18
Сообщения: 184
Откуда: Омск
LWW писал(а):
Мне кажется, реальный прирост будет 5-10%
Нужно тестировать..

Кстати, если разгонять камень, то и код будет работать на полной скорости. Люди вон F4 со 168 до 260 мгц гонят %)
Прирост в старых (не Z) ревизиях дает очень большой прирост в скорости (в 3 - 4 раза чем во флешь), на частоте большей чем 30 МГц. В новых прирост есть но небольшой.

_________________
Прежде чем спорить подумай о том что воевать можно бесконечно, а вот мир бывает крайне коротким и редким. Мой сайт про stm32 и не только - www.nis-embedded.blogspot.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 10 май 2014, 19:58 
Заглядывает иногда

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 134
Упс.. Вскрываются новые подробности - CCM на F4 не может использоваться для выполнения кода. Только для таблиц.

Пытаюсь натравить проц на CCM - он вроде перезагружается или виснет, по любому, не работает.

Не удивительно, ведь память называется DATA. А значит халява не прошла :-/

Чё в этой памяти делать, не понимаю. Готовьте ваши таблички по 64 кило весом без доступа через DMA :Р

Просто записать-прочитать по LDR/STR без проблем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 10 май 2014, 20:03 
Заглядывает иногда

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 134
Ну и тут вот один товарищ пишет, что F4's CCM is fast, but can't execute code.

А fast она всего лишь потому, что вы никогда не забьёте её запросами DMA. В то время как из флешки обычная константа может читаться по 8-10 циклов.. (измерял!)

Вот такой вот подарок, 64k оперативы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 13 май 2014, 16:21 
Заглядывает иногда

Зарегистрирован: 07 сен 2011, 16:28
Сообщения: 60
почему бы не разместить в этой памяти стек ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 13 май 2014, 16:37 
Заглядывает иногда

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 134
Установил вершину стека на CCMDATARAM_BASE+65536.

Работает. Фурычит программка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 14 май 2014, 11:08 
Заглядывает иногда

Зарегистрирован: 07 сен 2011, 16:28
Сообщения: 60
ну вот! отличное применение этой области памяти, на мой взгляд!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 14 май 2014, 14:01 
Старожил

Зарегистрирован: 31 янв 2011, 19:17
Сообщения: 437
Откуда: Москва
k000858 писал(а):
ну вот! отличное применение этой области памяти, на мой взгляд!

Вот только для стека 64k едва ли нужно, а для всяких буферов ее не используешь из-за отсутствия DMA. Хрен бы с выполнением кода, но хоть DMA достпуп бы оставили. Если уж придумали такое извращение, то 8-16к за глаза хватило бы, а остальное лучше б под нормальное использование отдали.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 19 май 2014, 02:24 
Заглядывает иногда

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 134
На F300 пофиксили. Документ AN4296. Вот так сюрприз..

Ну ничего, пробьёмся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 24 май 2014, 18:35 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2636
может ли эта память задаваться в первоначальной прошивке? должен ли st-flash уметь её писать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: что за память такая CCM (core coupled memory) ?
СообщениеДобавлено: 24 май 2014, 23:34 
Заглядывает иногда

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 134
ST-LINK читает и пишет в ячейки CCMDATARAM. Задаваться, может конечно! Иначе тогда вообще непонятно, зачем она висит...

Всё это говорит о том, что новые ревизии кортексов становятся всё вкуснее и вкуснее.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: dosikus_2, Eddy_Em


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB