| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| STM32F4X - RAM??? http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=10340 |
Страница 1 от 5 |
| Автор: | Цецо [ Вто Юли 24, 2012 11:43 am ] |
| Заглавие: | STM32F4X - RAM??? |
Абе заглеждам се за един проект по новите куртекси на STM (М4). Чета, чета и не мога да разбера какво е това сегментиране на RAM-а. 1. 112К - SRAM вързана за инструкции и данни. Хубаво това си е стандарт. 2. 64К - CCM памет. Вързана само на процесора за данни. И толкоз пише в бумагите. Нема друго - за какво се ползва, какъв е достъпа. Няма информация. Явно е нещо за забързване на сметките, ама... да бяха написали някой ред бе... 3. 16К - някаква SRAM нахакана на S бъса. И толкоз. Друго не пише. Как се ползва, каква и е идеята... Не се знае. 4. 4К бакъп SRAM. Това явно е за батерията, там е ясно... горе долу Та някой блъскал ли го е това ядро по сериозно да ме открехне... На мен честно казано ми трябва само заради мегехерците и многото памет в чипа, FPU - то ми е безинтересно. Ама тая памет така както е разхвърляна по шините почвам да се чудя, мога ли да я ползвам или я има само като за хартията. |
|
| Автор: | bateAz [ Вто Юли 24, 2012 12:53 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
Ако ти се играе мога да ти дам една платка с STM32F407 Discovery да я порошиш. Първите 128КВ ги ползва (май) че нормално, но другите 64 изобщо ги няма описани в линкерския скрипт на IAR. Ако ще си правиш масивче лесно можеш да го вържеш да С, ама ако ще са много на брой разни променливи - едва ли ще е лесно. Може би ако си създадеш нова секжия и изрично укажеш да ги слага там, ще стане. В тази област има нещо ( не е нули ими 0xFF), в нея може да се пише, повече и аз не знам. |
|
| Автор: | Цецо [ Вто Юли 24, 2012 3:02 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
Абе и за първите 128 не е сигурно, щото 112 от тях са си ОК, ама 16 са вързани само на S бъса. Пише че и от там може да фетчва код, ама било неефективно. На тоя бъс по принцип са периферните регистри и външната шина...кво дири тоя СРАМ там... ба ли го. Написали едно изречение и стига толкоз... Относно останалите 64 - те са закачени само на D-бъса на процесора. Явно идеята е да ги щрака FPU - то и да ги ползва за сметки. Ама то за това си е нужен специален код и явно компилаторите (поне IAR) още го нямат. И затова просто се правят че не ги виждат в линкерския скрипт. Гледам че STM дават някакви библиотеки за DSP функции, може там да се гъбаркат с тях... Много е оскъдна информацията в дейта шита в това отношение. А процесора се продава сума ти време, аман вече! |
|
| Автор: | fan [ Вто Юли 24, 2012 3:06 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
То писанието е малко в референса, ама съвсем ясно. Но, я по-добре прочети тук относно ползването на тази рам: https://my.st.com/public/STe2ecommuniti ... views=1077 Ето нещо относно ползването и в RTOS: http://forum.chibios.org/phpbb/viewtopi ... 2&start=20 ... изобщо много полезна памет! |
|
| Автор: | Цецо [ Вто Юли 24, 2012 3:46 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
Е какво му е ясното в референса - имаш една памет дето е закичена на D-бъса и никъде другаде. И това е. Едно единствено изречение. Във първия линк видях само хора дето нищо не им е ясно и правят догадки като нас. Нито има реален код, нито говорят нещо със сигурност - можело, при други било така, сигурно и тука и т.н.. Втория линк и той е една голяма говорилня... абе форум. Няма ли някъде написано черно на бяло, що е тва и как се ползва? Може би наистина са удачни за стек тия 64К, щото ДМА-то не ги вижда и няма да се бият с процесора за достъп. Ама нещо не съм сигурен, че компилатора го знае това... И то мен много по ме занимава въпроса с ония 16К дето висят на S-бъса и що по дяволите са ги закичили там, а не заедно с останалите 112К. Имали са някаква идея, ама що не са го написали мама му стара. |
|
| Автор: | fan [ Вто Юли 24, 2012 4:22 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
А сега де, ми като не ми се обяснява в момента е то ти линкове с написано черно на бяло: https://my.st.com/public/STe2ecommuniti ... tviews=392 https://my.st.com/public/STe2ecommuniti ... ntviews=90 https://my.st.com/public/STe2ecommuniti ... ue%201.pdf Пишеш и четеш в тази памет само данни, имаш арбитраж само с флаша за избор на сорс за данни. Другите два рама са за общо ползване с отделени входове за адресация и достъп - ползват се независимо или за данни или за код. Просто едната има много по-малко памет. Наредени са на шинната матрица, от там са навързани към многослойните AHB1 и AHB2 шини. CCM паметта я ползваш за стек и системни структури (на RTOS примерно) и куп. Адресното и пространство е между 0x10000000 и 0x1000FFFF. |
|
| Автор: | Цецо [ Вто Юли 24, 2012 4:23 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
Тц, 112К и 12К са различни, виж как са вързани на матрицата. За 64К е ясно. |
|
| Автор: | fan [ Вто Юли 24, 2012 4:42 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
Е, малката се ползва само за обмен на данни, не съм доскивал това. |
|
| Автор: | miro_atc [ Вто Юли 24, 2012 5:28 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
И на мен чак ми стана интересно... Значи относно ядрото - S-бъса си е нормална шина за данни с някои незначителни екстри. Тва не е толкова важно. От гледна точка на ST както са ги навързали от 16-те К не може да се изпълнява код. А от 64К не може да се пуска ДМА. Тва е. Подобни ограничения според мен са жива глупост и създават само ядове. Това да нямаш ДМА на някои адреси е пълно малоумие. Примерно правиш си драйвер (или библиотечка) за някаква периферия. Пускаш трансфер с една променлива бакча, пускаш с друга не бачка. И кво трябва да слагаш проверки на адресите ли? Или да внимаваш коя променлива как я ползваш... Простотии.. Иначе като изключим тия две ограничения, други проблеми не виждам. |
|
| Автор: | fan [ Вто Юли 24, 2012 6:03 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
Е, хайде сега - глупост! Атмелите нямат такава екстра и ти - глупост! Много добре знаеш, че това си е полезно нещо, когато имаш пуснати няколко потока до и от двете РАМ области по DMA и в същото време гледаш да уплътниш времето със сметки на FPU-то в ядрото примерно. Екстра е екста! |
|
| Автор: | Цецо [ Вто Юли 24, 2012 6:08 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
Предполагам, че идеята е била точно да осигурят памет, която DMA-то да не може да бара, та гарантирано процесора да има пълното време върху нея. Според мен са го направили с идея за бързи сметки на DSP инструкциите и FPU -то. Там се предполага, че DMA не трябва да се бърка. Затова и се предполага, че тази памет не трябва да се ползва за обикновенни промениливи, който на някой би му хрумнало да разпраща по интерфейси и т.н.... При М4 на атмел има ли такива неща? Така както е вързано ми изглежда изначало замислено още на ниво ядро, а не като прищевка на ST. За ония 16К аз нямам никакво обяснение защо висят така разделени от основната. Имали са явно някаква идея, ама не я разбирам. Дали пък не са предназначени за буфери на Etherner или USB-то, като идеята е DMA-то пак да не се налага да спира процесора ако той ръчка по другите два бъса I и D. |
|
| Автор: | tgi [ Вто Юли 24, 2012 6:20 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
Цецо, престава си нямам от тоя чип ама да не е да са му направили ала-DPS-чавости някакви? Демек да може в един цикъл да направи два RAM достъпа някак, ако има подходящи инструкции (разширения на стандартние им, може би) за целта? Не вярвам да са чак дебили и да не могат да уеднаквят адресните пространства. |
|
| Автор: | Цецо [ Вто Юли 24, 2012 6:31 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
Ми незнам, не съм му чел екстрите задълбочено на М4. Ама мисля, че няма такива способности. Единственото смислено което аз виждам е да изолират DMA-то да пречи по-малко на процесора. Ама нищо не са написали гадовете - само една схемка как са вързани по бъсовете тия памети и това е. С каква цел - засега май само гадаем, дано поне те знаят. |
|
| Автор: | miro_atc [ Вто Юли 24, 2012 6:36 pm ] | |||||||||
| Заглавие: | Re: STM32F4X - RAM??? | |||||||||
Е ти пък точно с Атмел намери да сравняваш... Те са първите АРМ производители, които въведоха бъс мултиплексирането и го ползват във всичките си чипове в последните 5+ години. Нормално беше да го направят, защото всичките им периферии си имат собствен ДМА канал, т.е. там ползването на ДМА е закон Божи... Те също така разделят РАМ-а на банки, само че равностойни банки, без да имат някакви ограничения... всяка банка може да се ползва за данни, код и ДМА. Атмел слагат на малките куртекси 4/5 лейера, а на по-големите стигат до 11 мисля бяха... Ама там има и две външни шини, много вътрешни master & slaves... та 10-на паралелни трансфера имат смисъл |
||||||||||
| Автор: | fan [ Вто Юли 24, 2012 6:59 pm ] |
| Заглавие: | Re: STM32F4X - RAM??? |
Е, "miro_atc" пак се отнесе, имах в предвид CCM RAM. Цецо, относно ядрото, различните видове шини и мултиплексори, това се описва от ARM. А там може да си намериш всичко по този въпрос достатъчно подробно, ST не им е работа да описват такива работи. |
|
| Страница 1 от 5 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|