ARM STM32 - program v RAM

Jakub Ladman ladmanj na volny.cz
Čtvrtek Leden 5 20:24:07 CET 2012


Pres JTAG, nebo SWD (Single Wire Debug - specialita ST) jde ladit v ram stejne 
jako ve flash.

Za sebe mohu rict, ze jsem mel vetsi problemy s krokovanim ve flash, nez v ram 
(ktera mi nestacila velikosti).

Nepouzivam zadne "integrovane" prostredi. 
Na linuxu mam standardni Eclipse CDT, toolchain od code sourcery  openocd a 
ftdi ft2232 na JTAG a ST-LINK vestaveny v kitu STM32VL na SWD. Vse imho 
dostupne i pro wokna.

Pro to STM jsem jeste nic nenapsal, jen jsem si krokoval nejaky example od 
kitu.

Drive jsem psal pro LPC2xxx.
Nejsem zadny velky programator a nastavit spravne linkerscript jsem zvladl jen 
s pomoci kamarada (ld skript určuje na které adresy linker dává které sekce a 
to je to co rozhoduje jestli bude program v ram nebo flash).
Na tom LPC byl prave problem v tom, ze debugger neumel data nahrat do flash, a 
muselo se nejdriv naflashovat jinym toolem. Potom zase neslo pouzit softwarove 
breakpointy (logicky - jsou relizovany docasnym prepisem programu) a 
hardwarove jsem neumel nastavit, ale nakonec jsem to vsechno rozchodil.

Kdo chce mit vsechno nastavene od vyrobce, nemuze jako ja trvat na linuxu a na 
tom ze to bude zadarmo.

Jakub Ladman


Dne St 4. ledna 2012 23:42:03 Petr Labaj napsal(a):
> Potreboval bych prejit na nejakou platformu 32-bit MCU,
> ale uz jsem si asi jednou nabil usta, proto se zkusim
> zeptat znalych.
> 
> Potrebuji nejake MCU s minimalne 6 UARTy, ktere by
> umelo pracovat tak, ze program bude v RAM a nikoli
> ve Flash. Ve Flash by se nachazely jen nemenne knihovni
> funkce, ale vykonny program by byl v RAM, pri kazdem
> startu zarizeni by se dotahl zvenci.
> A aby bylo mozne i ladeni provadet ciste v RAM.
> Je jasne, ze tomu behu v RAM teoreticky vyhovi jakekoli
> 32-bit MCU, ale jde i o podporu ve vyvojovych prostredcich,
> abych pak nemusel vsechno nejak slozite lamat.
> 
> Kvuli velkemu poctu UARTu jsem chtel pouzit PIC32.
> Vubec me nenapado zjistovat predem podporu prace
> ciste v RAM. Kdyz jsem si osadil pokusnou desku
> a chystal se zacit ladit "Hallo LED", tak koukam, ze nikde
> neumim nakonfigurovat rezim, aby cele ladeni probihalo
> v RAM. Tak jsem vznesl dotaz sem a take zaktivizoval
> strejdu Googla. Vysledkem bylo, ze jsem nasel spoustu
> dotazu jak provadet ladeni ciste v RAM, ale zadnou odpoved.
> 
> Sice verim, ze bych to po podrobnem prostudovani a nejakem
> laborovani asi nejak zlomil, ale moje nadseni pro PIC32
> a vyvojove nastroje Microchipu znacne ochablo.
> 
> Uz drive se mi libily ARMy (hlavne od ST), ale starsi rada
> STM32F1xxx mela malo UARTu. Ted jsou ale k dispozici
> za slusne penize i novejsi rady STM32F2xx a STMF4xx,
> a ty mi po predbeznem prostudovani docela ucarovaly.
> 
> Takze ten dotaz na znale techto platforem: je primo nejakym
> bezne dostupnym vyvojovym prostredim podporovano ladeni
> aplikace pouze v RAM ? Myslim tak, aby se prelozeny kod
> nasypal programatorem primo do RAM (tedy nikoli do Flash,
> odkud by se po resetu teprve do RAM presunul) ?
> A je nejaka bezproblemova podpora pro vytvoreni programu,
> ktery bude komplet v RAM a bude moct nejak elegantne
> vyuzivat knihovni funkce, ulozene ve Flash ?
> 
> Jenom jeste zopakuji, ze vim, ze teoreticky to samozrejme
> je mozne na kterekoli platforme se spolecnym pametovym
> prostorem. Ale jde mi o to, jestli to dane vyvojove prostredi
> samo podporuje, abych nemusel na vsechno delat
> assemblerovske vohejbaky.
> 
> Diky.
> Petr Labaj
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list