|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 8:13 pm
| Автор |
Съобщение |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 STM32F4X - RAM???
Абе заглеждам се за един проект по новите куртекси на STM (М4). Чета, чета и не мога да разбера какво е това сегментиране на RAM-а. 1. 112К - SRAM вързана за инструкции и данни. Хубаво това си е стандарт. 2. 64К - CCM памет. Вързана само на процесора за данни. И толкоз пише в бумагите. Нема друго - за какво се ползва, какъв е достъпа. Няма информация. Явно е нещо за забързване на сметките, ама... да бяха написали някой ред бе... 3. 16К - някаква SRAM нахакана на S бъса. И толкоз. Друго не пише. Как се ползва, каква и е идеята... Не се знае. 4. 4К бакъп SRAM. Това явно е за батерията, там е ясно... горе долу  Та някой блъскал ли го е това ядро по сериозно да ме открехне... На мен честно казано ми трябва само заради мегехерците и многото памет в чипа, FPU - то ми е безинтересно. Ама тая памет така както е разхвърляна по шините почвам да се чудя, мога ли да я ползвам или я има само като за хартията.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Юли 24, 2012 11:43 am |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
 Re: STM32F4X - RAM???
Ако ти се играе мога да ти дам една платка с STM32F407 Discovery да я порошиш. Първите 128КВ ги ползва (май) че нормално, но другите 64 изобщо ги няма описани в линкерския скрипт на IAR. Ако ще си правиш масивче лесно можеш да го вържеш да С, ама ако ще са много на брой разни променливи - едва ли ще е лесно. Може би ако си създадеш нова секжия и изрично укажеш да ги слага там, ще стане. В тази област има нещо ( не е нули ими 0xFF), в нея може да се пише, повече и аз не знам.
|
| Вто Юли 24, 2012 12:53 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: STM32F4X - RAM???
Абе и за първите 128 не е сигурно, щото 112 от тях са си ОК, ама 16 са вързани само на S бъса. Пише че и от там може да фетчва код, ама било неефективно. На тоя бъс по принцип са периферните регистри и външната шина...кво дири тоя СРАМ там... ба ли го. Написали едно изречение и стига толкоз...
Относно останалите 64 - те са закачени само на D-бъса на процесора. Явно идеята е да ги щрака FPU - то и да ги ползва за сметки. Ама то за това си е нужен специален код и явно компилаторите (поне IAR) още го нямат. И затова просто се правят че не ги виждат в линкерския скрипт. Гледам че STM дават някакви библиотеки за DSP функции, може там да се гъбаркат с тях...
Много е оскъдна информацията в дейта шита в това отношение. А процесора се продава сума ти време, аман вече!
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Юли 24, 2012 3:02 pm |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
 Re: STM32F4X - RAM???
То писанието е малко в референса, ама съвсем ясно. Но, я по-добре прочети тук относно ползването на тази рам: https://my.st.com/public/STe2ecommuniti ... views=1077Ето нещо относно ползването и в RTOS: http://forum.chibios.org/phpbb/viewtopi ... 2&start=20... изобщо много полезна памет!
|
| Вто Юли 24, 2012 3:06 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: STM32F4X - RAM???
Е какво му е ясното в референса - имаш една памет дето е закичена на D-бъса и никъде другаде. И това е. Едно единствено изречение. Във първия линк видях само хора дето нищо не им е ясно и правят догадки като нас. Нито има реален код, нито говорят нещо със сигурност - можело, при други било така, сигурно и тука и т.н.. Втория линк и той е една голяма говорилня... абе форум.
Няма ли някъде написано черно на бяло, що е тва и как се ползва?
Може би наистина са удачни за стек тия 64К, щото ДМА-то не ги вижда и няма да се бият с процесора за достъп. Ама нещо не съм сигурен, че компилатора го знае това...
И то мен много по ме занимава въпроса с ония 16К дето висят на S-бъса и що по дяволите са ги закичили там, а не заедно с останалите 112К. Имали са някаква идея, ама що не са го написали мама му стара.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Юли 24, 2012 3:46 pm |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
 Re: STM32F4X - RAM???
А сега де, ми като не ми се обяснява в момента е то ти линкове с написано черно на бяло: https://my.st.com/public/STe2ecommuniti ... tviews=392https://my.st.com/public/STe2ecommuniti ... ntviews=90https://my.st.com/public/STe2ecommuniti ... ue%201.pdfПишеш и четеш в тази памет само данни, имаш арбитраж само с флаша за избор на сорс за данни. Другите два рама са за общо ползване с отделени входове за адресация и достъп - ползват се независимо или за данни или за код. Просто едната има много по-малко памет. Наредени са на шинната матрица, от там са навързани към многослойните AHB1 и AHB2 шини. CCM паметта я ползваш за стек и системни структури (на RTOS примерно) и куп. Адресното и пространство е между 0x10000000 и 0x1000FFFF.
|
| Вто Юли 24, 2012 4:22 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: STM32F4X - RAM???
Тц, 112К и 12К са различни, виж как са вързани на матрицата. За 64К е ясно.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Юли 24, 2012 4:23 pm |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
 Re: STM32F4X - RAM???
Е, малката се ползва само за обмен на данни, не съм доскивал това.  Тази екстра с допълнителна рам памет я има в кортексите M3 на NXP от 17-та серия и в S3U примерно на Атмел. Така, че ако искаш да се пробваш, вземаш чипове и се кефиш!  Тия китове са с първата ревизия на чипа, така, че... 
|
| Вто Юли 24, 2012 4:42 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: STM32F4X - RAM???
И на мен чак ми стана интересно...
Значи относно ядрото - S-бъса си е нормална шина за данни с някои незначителни екстри. Тва не е толкова важно.
От гледна точка на ST както са ги навързали от 16-те К не може да се изпълнява код. А от 64К не може да се пуска ДМА. Тва е.
Подобни ограничения според мен са жива глупост и създават само ядове. Това да нямаш ДМА на някои адреси е пълно малоумие. Примерно правиш си драйвер (или библиотечка) за някаква периферия. Пускаш трансфер с една променлива бакча, пускаш с друга не бачка. И кво трябва да слагаш проверки на адресите ли? Или да внимаваш коя променлива как я ползваш... Простотии..
Иначе като изключим тия две ограничения, други проблеми не виждам.
|
| Вто Юли 24, 2012 5:28 pm |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
 Re: STM32F4X - RAM???
Е, хайде сега - глупост! Атмелите нямат такава екстра и ти - глупост! Много добре знаеш, че това си е полезно нещо, когато имаш пуснати няколко потока до и от двете РАМ области по DMA и в същото време гледаш да уплътниш времето със сметки на FPU-то в ядрото примерно. Екстра е екста! 
|
| Вто Юли 24, 2012 6:03 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: STM32F4X - RAM???
Предполагам, че идеята е била точно да осигурят памет, която DMA-то да не може да бара, та гарантирано процесора да има пълното време върху нея. Според мен са го направили с идея за бързи сметки на DSP инструкциите и FPU -то. Там се предполага, че DMA не трябва да се бърка.
Затова и се предполага, че тази памет не трябва да се ползва за обикновенни промениливи, който на някой би му хрумнало да разпраща по интерфейси и т.н....
При М4 на атмел има ли такива неща? Така както е вързано ми изглежда изначало замислено още на ниво ядро, а не като прищевка на ST.
За ония 16К аз нямам никакво обяснение защо висят така разделени от основната. Имали са явно някаква идея, ама не я разбирам. Дали пък не са предназначени за буфери на Etherner или USB-то, като идеята е DMA-то пак да не се налага да спира процесора ако той ръчка по другите два бъса I и D.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Юли 24, 2012 6:08 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
 Re: STM32F4X - RAM???
Цецо, престава си нямам от тоя чип ама да не е да са му направили ала-DPS-чавости някакви? Демек да може в един цикъл да направи два RAM достъпа някак, ако има подходящи инструкции (разширения на стандартние им, може би) за целта? Не вярвам да са чак дебили и да не могат да уеднаквят адресните пространства.
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Вто Юли 24, 2012 6:20 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: STM32F4X - RAM???
Ми незнам, не съм му чел екстрите задълбочено на М4. Ама мисля, че няма такива способности.
Единственото смислено което аз виждам е да изолират DMA-то да пречи по-малко на процесора.
Ама нищо не са написали гадовете - само една схемка как са вързани по бъсовете тия памети и това е. С каква цел - засега май само гадаем, дано поне те знаят.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Юли 24, 2012 6:31 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: STM32F4X - RAM???
Е ти пък точно с Атмел намери да сравняваш... Те са първите АРМ производители, които въведоха бъс мултиплексирането и го ползват във всичките си чипове в последните 5+ години. Нормално беше да го направят, защото всичките им периферии си имат собствен ДМА канал, т.е. там ползването на ДМА е закон Божи... Те също така разделят РАМ-а на банки, само че равностойни банки, без да имат някакви ограничения... всяка банка може да се ползва за данни, код и ДМА. Атмел слагат на малките куртекси 4/5 лейера, а на по-големите стигат до 11 мисля бяха... Ама там има и две външни шини, много вътрешни master & slaves... та 10-на паралелни трансфера имат смисъл 
|
| Вто Юли 24, 2012 6:36 pm |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
 Re: STM32F4X - RAM???
Е, "miro_atc" пак се отнесе, имах в предвид CCM RAM. Цецо, относно ядрото, различните видове шини и мултиплексори, това се описва от ARM. А там може да си намериш всичко по този въпрос достатъчно подробно, ST не им е работа да описват такива работи. 
|
| Вто Юли 24, 2012 6:59 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|