[ bogdan.kecman @ 23.02.2012. 21:46 ] @
link za download
link za dokumentaciju za instalaciju

Skinuti i instalirati FREE verziju

Posle instalacije, da bi sprava radila kako treba editovati (proverite putanju ako ste negde drugde instalirali atollic true studio lite):
C:\Program Files\Atollic\TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0\Servers\ST-LINK_gdbserver\config.txt

config.txt treba da izgleda ovako:

Code:

-e
-d
-l 0
-p 61234
-r 60


[ bogdan.kecman @ 23.02.2012. 23:23 ] @
evo ga i filmic kako to sve izgleda

http://youtu.be/mT5bAgpW3jU

[ zivadin_despot @ 24.02.2012. 02:40 ] @
Pozdrav Bogdane, pogledao sam tvoj snimak i to sam uradio i radi... Interesuje me ovako na brzinu, da li u debagovanju moze da se ukljuci neki ran pa da program normalno radi, a ne da idem liniju po liniju. Ja sam probao na run->run ali kaze da ne moze da pokrene file lonch....
Onako sporedno, skinu sam free verziju i ono uputstvo, da li treba da se aktivira licenca?
Pozdrav
[ bogdan.kecman @ 24.02.2012. 05:55 ] @

Citat:
zivadin_despot: da li u debagovanju moze da se ukljuci neki ran pa da program normalno radi, a ne da idem liniju po liniju. Ja sam probao na run->run ali kaze da ne moze da pokrene file lonch....


Da :), to se zove "resume" (zeleni trougao), mapirano je na F8. On ce trcati originalnom brzinom dok ili
- ti ne stisnes pauzu
- ne naide na breakpoint (obrati paznju da lite verzija ima mogucnost setovanja samo jednog breakpoint-a)

Citat:
zivadin_despot:
Onako sporedno, skinu sam free verziju i ono uputstvo, da li treba da se aktivira licenca?

- da treba da se aktivira ta lite licenca
[ lazar00 @ 28.02.2012. 15:34 ] @
evo napisao sam kod koji je u filmicu dat.
1. blinka LD1 ,cas crveno cas zeleno,verovatno je to zato sto komunicira sa racunarom,ako gresim molim da ispravite
2.one 4 diode(ld3,ld4,ld5,ld6) izmedju tastera USER i RESET ne blinkaju i ne rade uopste dok ja ne pritisnem RESET taster,kada se one ukljuce.
3.gore pomenute diode rade(sve su ukljucene),da li bi trebalo da se iskljuce nekad - blinkaju?
4.moze li pojasnjenje koda koji sam ubacio po filmicu?
Code:

         for(i=0;i<10000;i++);  //zasto ovde nama "{" zar ne bi trebalo da unutar petlje budu diode iskljucene ?
          STM_EVAL_LEDOff(LED3);
          STM_EVAL_LEDOff(LED4);
          STM_EVAL_LEDOff(LED5);
          STM_EVAL_LEDOff(LED6);
//mislim da ovde treba da stoji "}"
          for(i=0;i<10000;i++);  // zasta sluzi ova petlja,kakva joj je uloga? 
[ Odin D. @ 28.02.2012. 16:09 ] @
Code:
for(i=0;i<10000;i++);

To je samo prazna brojacka petlja - brojac broji od 0 do 10000, samo da bi se napravila neka pauza izmedju gasenja i paljenja dioda tako sto se procesor zamajava brojanjem, kako bi ti stigao okom da vidis da se diode pale/gase.
Bez te petlje paljenje i gasenje bi islo toliko brzo da ne bi moglo okom da se primjeti da se ista desava sa diodama.

Ako i dalje nista ne vidis, povecaj to jos preko 10000, ili dodaj petlju u petlju da bi napravio vecu pauzu.
[ bogdan.kecman @ 28.02.2012. 17:08 ] @
inace kada smo vec kod te petlje, primetio si mozda u filmicu da sam dodao "volatile" kod deklaracije te promenjljive. volatile znaci da se vrednost te promenjljive "koristi van ociglednog konteksta" ... o cemu je rec .. ako ti napises:

Code:

 for (i=0;i<1000;i++){
    //nista
  }


ili skracenu verziju:

Code:

 for (i=0;i<1000;i++);


kompajler (svaki bolji) zna da se na pocetku je na kraju te petlje vrednost i == 1000 i da se u trajanju te petlje "nista ne desava" i celu tu petlju ce da optimizuje sa:

Code:

 i= 1000;


sto ce trajati "jako kratko" te nasa "pauza" nece postojati ... e sad, posto je i deklarisano kao volatile, kompajleru je receno da se "varijabla i koristi van ociglednog konteksta" te on nece optimizovati tu petljo posto mozda ti od nekle durde citas i menjas vrednost te varijable (na primer iz interapta).



[ bogdan.kecman @ 28.02.2012. 17:11 ] @
crveno-zelena ledara (okrugla kod eth porta) je led koji oznacava komunikaciju preko usb porta i nije deo stm32F4 dela ovog razvojnog alata vec je deo ST-Link debagera.

kada kliknes na debug, program se loaduje u mcu i stane na main(). Da bi isao dalje moras da kliknes ili na "continue" ili da ides "korak po korak" ili ...

ako stisnes reset, izbacis ceo uredjaj iz debug moda i on krene da "radi normalno"

[ vos @ 28.02.2012. 20:12 ] @
Nisam jos uvek nista probao (nisam kuci ovih dana) ali primetio sam u Bogdanovom kodu ovo:
STM_EVAL_LEDOff(LED3)...
Ovo je ocigledno funkcija ili makro koji je vezan samo za ovaj board? Zanima me koliko ima smisla da ucimo funkcije vezane za ovaj board i kako se koristi ovaj evaluation board jer sumnjam da ce iko od nas embedovati celu discovery plocicu u neki uredjaj? Odnosno, zar ne bismo trebali da ucimo ARM programiranje umesto STM Discovery programiranja? Da li je to uopste moguce sa ovom plocicom i da li je moguce ovaj kod napisati drugacije (bez pominjanja "EVAL"), tako da ovo sto naucim mogu primenim na sopstvenoj plocici koja ce sa discovery plocicom imati zajednicko samo ARM cip?
[ ZAS011 @ 28.02.2012. 20:40 ] @
Evo tebi jedan razlog zasto bi mogao da embedujes ceo Discovery:

http://de.farnell.com/stmicroe.../2009276?Ntt=stm32f4+discovery = 15.44 €

Solo procesor:

http://de.farnell.com/stmicroe...064366?in_merch=New%20Products = 19.28 € (100+)

[ Odin D. @ 28.02.2012. 20:45 ] @
@vos
Nema u toj funkciji/makrou nista posebno.
Tu je samo "taj i taj" port "prozvan" LED3 u skladu sa time na kojem pinu je povezana ta dioda na toj plocici, a pomenuta funkcija/makro samo setuje/resetuje taj pin.

U sustini, izuzev proucavanja ovih gotovih primjercica koji su tu uglavnom radi upoznavanja sa plocicom i razvojnim okruzenjem, niko ziv nikad nece koristiti te funkcije u "stvarnim" projektima.
Ali u samom startu je sigurno korisno da bacanjem pogleda u te i takve funkcije vidis kako se "zovu" portovi, na kojim su fizickim adresama i sl. - mnogo lakse nego da listas datasheet od korica do korica i opet ti nesto promakne...

Citat:
vos: da li je moguce ovaj kod napisati drugacije (bez pominjanja "EVAL"),

Naravno, sve sto treba da uradis je da u odredjeni registar u memoriji (koji predstavlja taj port ili pin) upises odgovarajucu vrednost.


[ lazar00 @ 28.02.2012. 20:52 ] @
rekao sam mu da "i" ide do 10 000 000 i sada blinka,a kada sam stavio medju viticaste zagrade ove diodice kada su iskljucene,primetio sam da jedva svetle diode na ploci,eto ko hoce mozda da proba,pa da mi objasni zasto su svetlele tako slabim intenzitetom ? :)

sto se tice debug-a,onaj zadnji deo mi nije jasan,kada radis sa onim step over. sta se sa tim radi i kada si pauzirao video sam da je i=17...moze li neko objasnjenje?
[ elaki @ 28.02.2012. 20:56 ] @
Nadovezao bih se na @vos:
sa moje tacke gledista - nekog ko je pisao samo u asembleru: izgubih se po raznim .c i .h fajlovima trazeci gde je sta definisano, pa onda za mene nove stvari - enumeracije, strukture... Verovatno postoji razlog zasto se tako radi. Mi imamo zelenu led na PD12 (pin 59), narandzastu led na PD13 (pin 60), crvenu led na PD14 (pin 61), plavu led na PD15 (pin 62) i taster na PA0 (pin 23). Koji su inklud fajlovi neophodni i kako bi izgledala npr. "rucna" inicijalizacija?
Ovo mi je prilicno novo (mislim na C) pa mozda nisam bas dobro ni postavio pitanje. (odnosi se na pomenuti primer gde je dato: STM_EVAL_LEDOff(LED3)...)
[ Odin D. @ 28.02.2012. 21:00 ] @
Napisi sta si tacno stavio u zagrade?

Diodice jedva "svijetle" zato sto su jedan veoma kratki trenutak upaljene, a zatim jedan duzi ugasene. Medjutim, oba ta trenutka su jos uvijek suvise brza za tvoje oko, pa ti se cini da svijetle konstantno, ali slabo.

Napisi tacno svoj kod, pa cemo vidjeti sta si uradio.
[ Odin D. @ 28.02.2012. 21:14 ] @
Citat:
elaki:  Verovatno postoji razlog zasto se tako radi.

Postoji, i to najmanje dva.
Jedan je preglednost - ako pogledas datasheet za STM32F4 vidjeces da ima milijardu registara i bilo bi suludo raditi sa time bez neke strukture koja olaksava pregled. Zato postoji sablon po kome se imenuju funkcije, definicije, strukture, karakteristicne vrednosti... da se ne bi non-stop gubio u moru hardverskih informacija.
Drugi je kompatibilnost. Ove biblioteke su pisane po CMSIS standardu, sto otrpilike znaci da ces svoj kod pisan za STM32F4 bez problema prebaciti na bilo koji drugi Cortex M3/4 mikrokontroler nekog drugog proizvodjaca, npr. Stellaris, NXP, AVR... jer i oni imaju svoje biblioteke pisane po CMSIS standardu.
[ elaki @ 28.02.2012. 21:20 ] @
@Odin
Postoji li neki dokument koji opisuje sablon po kome se imenuju funkcije, strukture...
[ Odin D. @ 28.02.2012. 21:30 ] @
^ Ranije je uz biblioteku stizao neki .chm ili .pdf tutorial za STM biblioteke, u kojima je tacno bilo opisana struktura biblioteke, u kojim se fajlovima sta nalazi, kako su imena odabrana, ko sta koga odakle poziva i tome slicne stvari.
Veceras bi trebao da instaliram okruzenje, pa cu pogledati ima li takvo nesto jos uvijek.
[ lazar00 @ 28.02.2012. 21:34 ] @
Code:
int main(void)
{
 volatile int i = 0;

  /* Initialize LEDs */
  STM_EVAL_LEDInit(LED3);
  STM_EVAL_LEDInit(LED4);
  STM_EVAL_LEDInit(LED5);
  STM_EVAL_LEDInit(LED6);

  while(1){
      /* Turn on LEDs */
      STM_EVAL_LEDOn(LED3);
      STM_EVAL_LEDOn(LED4);
      STM_EVAL_LEDOn(LED5);
      STM_EVAL_LEDOn(LED6);

      for(i=0;i<10000000;i++){
          STM_EVAL_LEDOff(LED3);
          STM_EVAL_LEDOff(LED4);
          STM_EVAL_LEDOff(LED5);
          STM_EVAL_LEDOff(LED6);}
                                          

          for(i=0;i<10000000;i++);

  }

}


to sam uradio,znaci u prvu petlju ubacio ove ugasene diodice :) i onda su svetlele jako slabim intenzitetom
[ Odin D. @ 28.02.2012. 21:43 ] @
U while petlji (koja se vrti beskonacno) ti radis sledece:

- jednom upalis sve cetiri diode (to traje veoma kratko - par mikrosekundi);
- deset miliona puta u for-petlji zaredom "gasis" diode (sto nema efekta jer kad si ih prvi put ugasio, ostalih 9,999,999 puta ne pravi nikakvu promjernu), pa onda jos jednom sacekas u ugnjezdjenoj for-petlji dok brojac odbroji do 10,000,000

Dakle tebi se diode samo jednom kratko blicnu, a potom ih odmas gasis 10,000,000 puta...

Treba da radis ovako:

1. upali diode

2. sacekaj neko vreme (da bi vidio da su upaljene)

3. ugasi diode

4. sacekaj neko vreme (da bi vidio da su ugasene)

5. vrati se na pocetak ciklusa


[ Odin D. @ 28.02.2012. 21:45 ] @
@elaki

Pogledaj za pocetak u dokumentaciju CMSIS-a, koju imas u biblioteci:

STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\Documentation\CMSIS_System_View_Description.htm
[ elaki @ 28.02.2012. 21:49 ] @
Nasao sam je. Pocetak.. i to kakav :)
hvala
[ Odin D. @ 28.02.2012. 21:56 ] @
@elaki

Pogresio sam.

Pogledaj ovaj .chm

stm32f10x_stdperiph_lib_um.chm

Koji mozes naci u biblioteci za STM32F1, na ovoj adresi:

http://www.st.com/internet/com...RE/stm32f10x_stdperiph_lib.zip

Ako si nasao nesto slicno za STM32F4 biblioteku okaci link ovdje.
[ HeYoo @ 28.02.2012. 22:04 ] @
Citat:
Ranije je uz biblioteku stizao neki .chm ili .pdf tutorial za STM biblioteke, u kojima je tacno bilo opisana struktura biblioteke, u kojim se fajlovima sta nalazi, kako su imena odabrana, ko sta koga odakle poziva i tome slicne stvari.

Ovde je taj chm
http://www.st.com/internet/com.../stm32f4_dsp_stdperiph_lib.zip
[ Odin D. @ 28.02.2012. 22:06 ] @
A odakle si tacno skinuo tu biblioteku (sa koje strane)?
Ja odavde: http://www.st.com/stonline/sta...e=FIRMWARE&SubClassID=1521

Ja sto sam skinuo nije imalo u sebi to uputstvo?!

Evo sad cu opet da probam... :/

EDIT:
Evo sad vidim da je bilo i ranije, ali ga ja iz nekog razloga nisam 'uocio' :)
Hvala na pomoci!

[ HeYoo @ 28.02.2012. 22:10 ] @
Ovo okaceno je direktan link. Ne znam ni sam kako sam dosao do toga. Verovatno s googla. Bio mi sacuvan link u istoriji.
[ lazar00 @ 28.02.2012. 22:15 ] @
Mozda glupo pitanje,ali za mene je od sustinske vaznosti.

Sta se desava kada u Atollicu kliknem na onaj cekic(build),a sta kada kliknem na bubicu(debug)?

[ Odin D. @ 28.02.2012. 22:22 ] @
Cekicem kompajliras program: od source koda koji si pisao u C-u pravis binarni kod koji je potrebno upisati fizicki u mikrokontroler da bi ga mikrokontroler izvrsavao.
Bubom debagiras program: startujes program u mikrokontroleru ali tako da ide korak po korak (tj. da ga mozes zaustaviti kad i gdje hoces) i u tim pauzama dok program stoji provjeravas stanja raznih registara, varijabli u memoriji i svega ostalog i na osnovu toga sto vidis gledas da li se program ponasa kako treba ili ne ....

Znas li C?
[ lazar00 @ 28.02.2012. 22:28 ] @
Znam C,uslovno receno,na faxu(ETF-u) su nas ucili svim mogucim skolskim primerima,tako da se moje znanje zasniva na knjizi Lasla Krausa Programski jezik C.
Koliko je to dobro ili lose ne znam,ti protumaci.
[ Odin D. @ 28.02.2012. 22:47 ] @
Pa jesi li npr. znao sta radis u onom svom primjeru sa for petljama?
[ lazar00 @ 28.02.2012. 22:57 ] @
pa na prvu nije mi bilo jasno,kad sam pogledao detaljnije jasno mi je sta radi...
sada sam naterao plocicu da upali sve,a zatim ugasi pa onda da pali po jednu diodu u krug,a zatim da gasi.
[ Odin D. @ 28.02.2012. 23:23 ] @
Ok, dobro je ako razumijes kod.
Sledece sto treba da razumijes je da, za razliku od PC programa, kod mikrokontrolera uvijek moras da imas na umu koliko sta traje u realnom vremenu.
Ako ovaj mikrokontroler radi na taktu od 100-njak MHz, instrukcije se izvrsavaju u rangu mikrosekundi i nanosekundi (za precizne detalje pogledaj u datasheet).
O vremenu ces uvijek morati voditi racuna i kad god nesto radis - misli o vremenu, misli o trajanju signala koje proizvodis na pinovima i sl.
Dobrodosao u stvarni svijet!
[ New Village DC @ 28.02.2012. 23:39 ] @
Zasto mi izbacuje ovo upozorenje?

Debagiranje ide do for petlje i tu stane. Tj. Upale se diode, ali se ne gase...

edit: video sam gresku :)
[ New Village DC @ 29.02.2012. 00:31 ] @
Da bude interesantnije :)
[ bogdan.kecman @ 29.02.2012. 02:37 ] @
> Bogdanovom kodu ovo: STM_EVAL_LEDOff(LED3)...

Tema je "win SETUP". To je samo filmic da proveris da li ti je sve nasetovano i da li sve radi
- kompajler
- flasher
- debugger

kao sto odin spomenu vise puta, treba sada prvi projekat da bude "startap kod" za arm, pa onda "inicijalizacija periferija za arm", pa "paljenje ledare", i da, ne treba paljenje ledare da bude sa STM_EVAL_LEDOn :) vec cemo proci dva klasicna nacina za setovanje vrednosti GPIO
[ bogdan.kecman @ 29.02.2012. 02:41 ] @
> zasto su svetlele tako slabim intenzitetom ? :)

zato sto su bile duze ugasene nego upaljene. Imas dve for petlje koje predstavljaju dve pauze, jedna definise koliko dugo su ledare upaljene a druga koliko dugo su ugasene. ako su oba intervala dovoljno kratka ti ne vidis blinkanje nego ti se menja intenzitet svetla posto brzo blinka, pa odnosom da li duze sedi ugasen ili upaljen imas osecaj svetlije ili tamnije
[ bogdan.kecman @ 29.02.2012. 02:42 ] @
> Koji su inklud fajlovi neophodni i kako bi izgledala npr. "rucna" inicijalizacija?

treba da napravimo posebnu temu koja se zove "STM32F4 Inicijalizacija - startup code", ovde pricamo o "setapu atollic-a"
[ bogdan.kecman @ 29.02.2012. 02:45 ] @
> Sta se desava kada u Atollicu kliknem na onaj cekic(build),a sta kada kliknem na bubicu(debug)?

cekic (build) kompajlira kod (generise hex/elf)
buba (debug) prvo iskompajlira (dakle isto ko cekic) a onda te prebaci u debug mod gde posalje napravljeni hex/elf na cip startuje kod i zaustavi se na pocetku main() funkcije
[ Odin D. @ 29.02.2012. 03:00 ] @
@bogdane, cemu onaj custom config.txt za st-link gdb server, kod mene radi i sa standardnim (onaj koji se zatekao po instalaciji) ?

Izgleda ovako (kad se izbace komentari):

Code:

-e
-l 31
-p 61234
-v
-r 15
[ bogdan.kecman @ 29.02.2012. 03:07 ] @
meni bez -d ne radi ... a bogami kada pojuris po netu, ne radi gomili ljudi :D ... ono dodas -d i radi super :D
[ Odin D. @ 29.02.2012. 03:21 ] @
Sad sam probao - isto kod mene i sa i bez :\

Moze li se komandi "Run to line" dodjeliti neka druga precica sa tastature, ukoci mi se saka...?\

EDIT:
Nasao sam: Window -> Preferences -> General -> Keys :)
[ bogdan.kecman @ 29.02.2012. 04:02 ] @
:D sve se da nasetovati, to je sve eclipse u pozadini
[ vos @ 29.02.2012. 10:05 ] @
Citat:
bogdan.kecman: > Bogdanovom kodu ovo: STM_EVAL_LEDOff(LED3)...


Aha, u medjuvremenu sam instalirao Atollic i proucio funkcije STM_EVAL_LEDInit i STM_EVAL_LEDOn pa je u kombinaciji sa Hitex Insiders Guide sve puno jasnije.

Ono sto mi nije jasno jeste sledeca linija u funkciji STM_EVAL_LEDInit.

RCC_AHB1PeriphClockCmd(GPIO_CLK[Led], ENABLE);

Jasno mi je da ona ukljucuje clock za GPIO port D i u Hitexovom guidu se spominje da se clock za svaku perferiju (RUN mode chapter) moze iskljuciti/ukljuciti da bi se smanjila potrosnja (ovo RCC oznacava reset clock control module) ali ono sto me zanima jeste gde procitati da je potrebno pozvati RCC_AHB1PeriphClockCmd? AHB1 se uopste ni ne spominje u GPIO odeljku Hitex-ovog guida. Cak i da mi je jasno da trebam enablovati clock za GPIOD port kako bih znao da se to radi kroz funkciju RCC_AHB1PeriphClockCmd? Mislim, ne bi mi palo tek tako na pamet da to treba uraditi da nisam video kod funkcije STM_EVAL_LEDInit...

Znaci ukratko: da li neko zna da li postoji neki tutorijal/knjiga/uputstvo za koriscenje STM32F4xx_StdPeriph_Driver funkcija u raznoraznim situacijama? Odnosno, ucenjem cega se od nekog programera ocekuje da savlada STM32F4xx?
[ Odin D. @ 29.02.2012. 11:20 ] @
Citat:
vos: Odnosno, ucenjem cega se od nekog programera ocekuje da savlada STM32F4xx?

Kao i za svaki drugi - citanjem datasheetova.

Za dokumentaciju pogledaj ovdje:
http://www.st.com/internet/mcu/subclass/1521.jsp

Trebace ti ovo:
http://www.st.com/internet/com...ATURE/DATASHEET/DM00037051.pdf

ovo (za ST periferije i memoriju koju je ST nalijepio na Cortex jezgro):
http://www.st.com/internet/com...EFERENCE_MANUAL/DM00031020.pdf

i ovo (za samo Cortex jezgro i ono sto ARM isporucuje uz jezgro):
http://infocenter.arm.com/help...DI0439C_cortex_m4_r0p1_trm.pdf

... za pocetak :)


Sto se tice ove biblioteke koju ST isporucuje: daleko od toga da je ona "obavezna" da se koristi, kao i da je to jedini nacin. Ona je manje-vise napisana da optimizuje preglednost, razumljivost, kompatibilnost.... medjutim, vjerovatno nije optimizovana ni za brzinu izvrsavanja ni za velicinu koda. Ali je ok za koriscenje u nekriticnim aplikacijama gdje brzina ne igra ulogu i gdje velicina programa nije problem, zgodna je za ucenje, jer bacanjem pogleda u kod neke funkcije lako vidis sa kojih par registara nesto treba da radis, umjesto da isto to ganjas kroz 50 strana datasheet-a.
Najlakse je da bibliotecke funkcije i gotove primjere koristis kao vodic, a u datasheetu citas detalje o onome sto ti nije jasno iz funkcije.
Za sve nejasnoce i detalje - datasheet je ustav.
Biblioteka je samo dodatna pogodnost, ali potpuno neobavezujuca ni kao izvor informacija ni kao konkretna realizacija.

U programiranju mikrokontrolera - sve se svodi na to da u odredjenom trenutku nesto upises u odredjeni registar koji se nalazi na odredjenoj memorijskoj lokaciji.
Da li ces ti to uraditi ovako direktno:
Code:

 (* ((volatile unsigned long *) 0x12345678)) = 0xFFFF0000;  // adresu registra koji te interesuje pronadjes u datasheetu


ili ces to "zamotati" u neku finu funkciju da istu tu stvar radis ovako:
Code:

Write_word_to_PORTB(0xFFFF0000):   // ova funkcija negdje u sebi sadrzi nista drugo nego ono gore


...ili ces mozda koristiti funkciju iz ST biblioteke, potpuno je svejedno, jedino sto je bitno je da ti moras znati da u taj i taj registar trebas nesto upisati.
U slucaju ST-ove biblioteke ne moras toliko da zalazis u hardverske detalje, pa je moguce koristiti periferije samo proucavanjem funkcija, bez da se zamlacujes hardverskim detaljima.

Medjutim, poziv funkcije kosta dodatno vremena (sporiji program) i dodatno mjesta (veci kod). Pa kad hoces da imas brzi program i manji kod - lupaj direktno kao u prvom primjeru, kad ti je svejedno - includuj biblioteku i vozi...


[Ovu poruku je menjao Odin D. dana 29.02.2012. u 12:51 GMT+1]
[ bogdan.kecman @ 29.02.2012. 11:35 ] @
Citat:
vos
Ono sto mi nije jasno jeste sledeca linija u funkciji STM_EVAL_LEDInit.


E sad, u medjuvremenu sam ja napravio: http://www.elitesecurity.org/p3066836

tako da bi bilo mnogo iskusnije da tamo to raspravljamo kako bi sutra ove teme bile smislene a ne zbrda zdola :)


Citat:
voskako bih znao da se to radi kroz funkciju RCC_AHB1PeriphClockCmd?


RCC ima samo nekoliko funkcija. Zato je bitno da su sorsovi biblioteka otvoreni da bi lakse mogao da radis, takodje dobar ide tu isto vrlo mnogo znaci :D.

da znas da li je AHB1 ili neki drugi - to pise u datasheet-u za mcu koji koristis (gde je vezan port, da li na AHB1, AHB2, AHB3, APB1, APB2 ), tamo vidis gde je vezana koja periferija pa ako ces da tuces npr DAC onda ti treba RCC_APB1PeriphClockCmd, ako ces da koristis USB_OTG_FS onda ti treba RCC_AHB2PeriphClockCmd etc etc ...


Citat:
vos
Znaci ukratko: da li neko zna da li postoji neki tutorijal/knjiga/uputstvo za koriscenje STM32F4xx_StdPeriph_Driver funkcija u raznoraznim situacijama? Odnosno, ucenjem cega se od nekog programera ocekuje da savlada STM32F4xx?


pogledas u datasheet-u na sta je periferija zakacena i onda znas koju funkciju koristis. Drugi nacin je da pogledas source STM32F4xx_rcc.c, tamo svaka funkcija ima odlican komentar :)
[ vos @ 29.02.2012. 15:19 ] @
Citat:
Odin D.: Kao i za svaki drugi - citanjem datasheetova....


Tako sam i pretpostavljao :)
Ja sam mislio na neki mozda lep tutorijal kao sto je recimo Mikroelektronika napravila za PIC i dsPIC (http://www.mikroe.com/eng/prod...66/programming-dspic-mcu-in-c/) gde je od nule objasnjena sustina a tek za detalje mi treba datasheet. Mislim da datasheet sluzi programeru da pogleda ili da se podseti detalja u vezi kontrolera a ne da bi pocetnik ucio prakticno potpuno novu tehnologiju iz datasheet-a i vrsljao po .h i .c fajlovima (prakticno na pocetku ucenja). Ne kazem da ne moze tako da se uci ali mi se cini kao tezi nacin. Ali, zato je tu ovaj forum :)
[ bogdan.kecman @ 29.02.2012. 15:20 ] @
vec smo vise puta pricali da je za sustinu onaj hitexov pdf najbolje sto postoji

http://www.hitex.com/fileadmin...s/stm32/isg-stm32-v18d-scr.pdf
[ bogdan.kecman @ 12.03.2012. 19:52 ] @
ne mogu da verujem, ovi seljani iz atollic-a su izbacili novu verziju, sada je lite verzija "fully functional" ali ima limit za velicinu hex-a ... kompletni ... uh .. nadam se da ce coocox izbaciti cm4 podrsku za koji dan kako je planirano
[ Odin D. @ 12.03.2012. 21:10 ] @
Da napravim ja backup kopiju Atollica 2.3, zlu ne trebalo...
[ bogdan.kecman @ 13.03.2012. 05:39 ] @
ako se dobro secam on se kaci na net povremeno sam tako da ce mozda da kuka da oce da se upgrade-uje ..

ja sve cekam coocox, vidim da je izasao update za cosmart, CoMDKPlugin, ali coIDE je jos uvek na verziji iz decembra 2011 ... sredina marta je za 2 dana tako da .. ja ocekujem coIDE da izadje "svaki dan" :) i onda me bas briga za atollic :D