www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

STM32 Standard peripheral library oziroma CubeMX
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 75555.69

PrispevekObjavljeno: Sre Okt 29, 2014 10:49 am    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jmivsek
Član
Član



Pridružen-a: Tor 06 Avg 2013 12:41
Prispevkov: 468
Aktiv.: 3.61
Kraj: Ajdovščina

PrispevekObjavljeno: Sre Okt 29, 2014 11:20 am    Naslov sporočila:   Odgovori s citatom

1. Kako se pa tale Cube obnese "peš" z GNU orodji na Linuxu? Upam da obstaja še vedno možnost odprtokodnega razvoja?
2. Se knjižnice proizvajalcev ARM mikrokrmilnikov bližajo med sabo ali gredo zmeraj bolj narazen?
3. Če želim ostali kolikor toliko neodvisen od proizvajalca (recimo da bi želel v bodočnosti iz STM32 na NXP, ali pa obratno), kakšno taktiko naj uberem?

Lep pozdrav
Janko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9406
Aktiv.: 42.36
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Nov 04, 2014 11:25 pm    Naslov sporočila:   Odgovori s citatom

Umnik je napisal/a:
Počakaj še, da aly izlije svoj gnev na CubeMX Mr. Green

Bom Very Happy

Evo nadaljujem zgodbo.
Na prejšnji sliki je bilo videti, da je Cube zgeneriral fajle, ni pa dokončal Keil projekta. Dobro, si mislim, fajle zložit ni taka težava.
Moj željeni procesor STM32F302C6 ni podprt v Keil MDK 4.22, zato dol potegnem 5.12.
Naredim nov projekt, nabašem notri *.c fajle, nastavim Include mape do vseh *.h fajlov in poženem Build...
Emmmm...

Citiram:
Build target 'Target 1'
compiling main.c...
Src\main.c(181): warning: #1134-D: literal treated as "long long"
htim2.Init.Period = 4294967295;
Src\main.c: 1 warning, 0 errors
compiling stm32f3xx_hal_msp.c...
compiling stm32f3xx_it.c...
compiling usb_device.c...
...
compiling stm32f3xx_hal_rcc.c...
compiling stm32f3xx_hal_rcc_ex.c...
compiling stm32f3xx_hal_tim.c...
compiling stm32f3xx_hal_tim_ex.c...
linking...
.\Objects\TEST.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'.
.\Objects\TEST.axf: Warning: L6320W: Ignoring --first command. Cannot find argument '__Vectors'.
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 1 warning and 1 error messages.
".\Objects\TEST.axf" - 1 Error(s), 2 Warning(s).
Target not created.


BAH. Niti ne vem, kje bi se lotil iskat te napake Rolling Eyes
Izgleda da je "pozabil" zgenerirat tabelo interrupt vektorjev ?!

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile


Nazadnje urejal/a aly Tor Nov 04, 2014 11:32 pm; skupaj popravljeno 2 krat
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 6.24
Kraj: Črnomelj

PrispevekObjavljeno: Tor Nov 04, 2014 11:27 pm    Naslov sporočila:   Odgovori s citatom

Ouf, super reklama za ST je to! Applause

Dobro ga je mimo vstrelil Very Happy

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
mujo
Član
Član



Pridružen-a: Ned 02 Jan 2005 19:24
Prispevkov: 722
Aktiv.: 3.25
Kraj: MB

PrispevekObjavljeno: Tor Nov 04, 2014 11:45 pm    Naslov sporočila:   Odgovori s citatom

jmivsek, nazadnje ko sem se igral z cubemx je bila opcija za export v "gcc" vendar je bila onemogočena. Mi je vse skupaj delovalo kot nekaj kaj bi naj implementirali. Je pa sigurno možna uporaba knjižnjice z gcc. Atollic TrueSTUDIO ga uporablja kot prevajalnik.

aly, poglej ali imaš (pravilno) startup_*.s datoteko. Ta datoteka vsebuje interrupt vektorje (kot si rekel). Te so generične in lahko kopiraš iz primerov.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
TilenS
Član
Član



Pridružen-a: Čet 24 Nov 2005 12:29
Prispevkov: 556
Aktiv.: 2.50

PrispevekObjavljeno: Sre Nov 05, 2014 12:44 am    Naslov sporočila:   Odgovori s citatom

Tiste dve funkciji se nahajata v asemblerskem startup delu, xxx_startup.s oz. nekaj podobnega.

Ravno pišem svoje inicilizacijske driver-je in zadevo spravim v par vrstic kode, cube mx mi pa naredi to po celo več map polnih nekih nepotrebnih zadev.

Saj ne rečem da to ni uporabno ampak mi res deluje zelo nepregledno, še posebaj to medsebojno klicanje funkcij samo zaradi tega, da lahko imajo svoje driverje označene z HAL_xxx. Glede na to, da se ponavadi odločim za en procesor in tega potem uporabljam v večini projektov nimam nobene potrebe po teh driver-jih ter prenosljivosti SW-ja, če pa že bo treba prilagodit za drug procesor pa tudi ni takšnih razlik med njimi.

_________________
LP Tilen
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9406
Aktiv.: 42.36
Kraj: Kranj - struževo

PrispevekObjavljeno: Sre Nov 05, 2014 10:45 am    Naslov sporočila:   Odgovori s citatom

Hvala za namig - bom res preveril, če je kje Startup datoteka. Ne vem, zakaj je ni avtomatsko dal zraven v projekt?
Evo, *.s ne obstaja med generiranimi datotekami... :/ svašta.
Sem ga skopiral iz C:\Keil_v5\ARM\Pack\Keil\STM32F3xx_DFP\1.1.0\Device\Source\ARM

Rezultat:
Citiram:
Build target 'Target 1'
assembling startup_stm32f30x.s...
linking...
.\Objects\TEST.axf: error: L6050U: The code size of this image (42808 bytes) exceeds the maximum allowed for this version of the linker.
Finished: 0 information, 0 warning, 0 error and 1 fatal error messages.
".\Objects\TEST.axf" - 1 Error(s), 0 Warning(s).
Target not created

Z optimizacijo na 3 pa:
Citiram:
.\Objects\TEST.axf: error: L6047U: The size of this image (32876 bytes) exceeds the maximum allowed for this version of the linker

Haha, ko sem delal s STM32F103 isti primer z StdLib+USB, je bil za šalo pod 32k...
V aplikaciji je samo 1 timer, 1 ADC in USB com port.... pa je toliko krame... hm.
Nisem zadovoljen.
Licenco imam za uVision MDK 4.22, kjer tega procesorja ni.
Keil 4.22 podpira procesor STM32L1xx, ki ga pa CubeMX ne podpira Whistle
Kakšna zmešnjava Brick wall



Capture.PNG
 Opis:
 Velikost datoteke:  100.11 KB
 Pogledana:  14 krat

Capture.PNG



_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
mujo
Član
Član



Pridružen-a: Ned 02 Jan 2005 19:24
Prispevkov: 722
Aktiv.: 3.25
Kraj: MB

PrispevekObjavljeno: Sre Nov 05, 2014 11:48 am    Naslov sporočila:   Odgovori s citatom

Fun fun!
Poskusi izklopiti vse "module" knjiznice.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 6.24
Kraj: Črnomelj

PrispevekObjavljeno: Sre Nov 05, 2014 11:52 am    Naslov sporočila:   Odgovori s citatom

off:

Aly, a se tebi tudi dogaja, da zadnje črke v besedi izginjajo ko se z miško postaviš nad njih? Govorim o programu CubeMX.

Primer: odpreš program in imaš "New Project", "Load project" in "Help".
Če se z miško postavim nad "New Project", ta postane "New projec".

To se mi dogaja vsepovsod v programu. CubeMX 4.4.0

PS: manjka tudi pol menuja zgoraj.



cece66edcd82a8541d55c71fd98a695e.png
 Opis:
 Velikost datoteke:  150.93 KB
 Pogledana:  10 krat

cece66edcd82a8541d55c71fd98a695e.png



_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
TilenS
Član
Član



Pridružen-a: Čet 24 Nov 2005 12:29
Prispevkov: 556
Aktiv.: 2.50

PrispevekObjavljeno: Sre Nov 05, 2014 12:32 pm    Naslov sporočila:   Odgovori s citatom

Kolikor vem pri meni deluje ok. Če se ne motim zadeva uporablja javo mogoče probaj nadgradit verzijo na novejšo.
_________________
LP Tilen
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mujo
Član
Član



Pridružen-a: Ned 02 Jan 2005 19:24
Prispevkov: 722
Aktiv.: 3.25
Kraj: MB

PrispevekObjavljeno: Sre Nov 05, 2014 12:54 pm    Naslov sporočila:   Odgovori s citatom

Uh sem pozabil povedati kako CubeMX meni deluje:
Ne deluje mi. Sploh se mi ne zažene. Updejtal sem iz stare verzije na novo, in se mi več ne zažene. Se pa sploh ne sekiram. Mislim da nič ne zamujam.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9406
Aktiv.: 42.36
Kraj: Kranj - struževo

PrispevekObjavljeno: Sre Nov 05, 2014 10:10 pm    Naslov sporočila:   Odgovori s citatom

Update.
Še en procesor, kjer zadeva ne deluje: STM32F042C6

Citiram:
Build target 'Cube project Configuration'
linking...
Cube project Configuration\Cube project Configuration.axf: Error: L6406E: No space in execution regions with .ANY selector matching usbd_cdc_if.o(.bss).
...
Cube project Configuration\Cube project Configuration.axf: Error: L6407E: Sections of aggregate size 0xa20 bytes could not fit into .ANY selector(s).
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 0 warning and 15 error messages.
"Cube project Configuration\Cube project Configuration.axf" - 15 Error(s), 0 Warning(s).
Target not created.


Končno sem našel dva procesorja, kjer CubeMX prebavi vse in Keil 5 tudi iz prve skompajla ustvarjeni projekt.
STM32F373C8, 12k kode, 72 MHz, teoretična poraba 39 mA
STM32L151CC, 12.2k kode, 32 MHz, teoretična poraba 12 mA

Slednjega že imam, ob priliki ga zalotam na plato in preverim, če se zbudi in poveže z USB s tem projektom Smile

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9406
Aktiv.: 42.36
Kraj: Kranj - struževo

PrispevekObjavljeno: Pon Dec 22, 2014 2:50 pm    Naslov sporočila:   Odgovori s citatom

Evo, projekt, ki sem se ga od nule lotil s CubeMX in STM32L151CC je končan.
Uporabljen je USB-CDC virtualni COM port, enkoderski vmesnik na 32-bitnem števcu ter še nekaj drugih timerjev in interruptov. Efektivno sem za zadevo porabil en teden dela.

Malo sem se lovil pri tem, kako so HAL driverji zasnovani, recimo namesto da svojo kodo postaviš direktno v IRQ_Handler proceduro, so tukaj pri HAL na voljo "Callback" funkcije. Stanja hardvera ne gledaš v registrih (ker HAL sam briše zastavice), ampak v statusnih zastavicah driverja.
Primer:
Koda:
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
  if (htim == &htim5)
  {
    if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_3) IRQ_handler_Encoder_Ri();  // Referencna znacka
    if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_4) IRQ_handler_Encoder_Trigger();  // Zunanji latch
  }
}


Malo drugačen način dela, ampak gre.

Kar mi gre še vedno na živce je, da je za ta projekt zgeneriral 60 (!) direktorijev. Ampak ko to dejstvo ignoriraš, je v redu Smile

Z zadnjo posodobitvijo CubeMX že kar dobro špila.

Pri STD-Lib sem za nov projekt vedno vzel enega starega in ga predelal, s tem pa vlekel s sabo vse (neposodobljene) knjižnice in buge v lastni kodi Smile Sedaj pa rajši štartam iz nule. Seveda začnem z novo namestitvijo Cube orodja - Updater ne dela. Smile

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
mujo
Član
Član



Pridružen-a: Ned 02 Jan 2005 19:24
Prispevkov: 722
Aktiv.: 3.25
Kraj: MB

PrispevekObjavljeno: Pon Dec 22, 2014 7:11 pm    Naslov sporočila:   Odgovori s citatom

Kako se ti performančno zdi, da zadeva deluje?
Glede na to, da se še neke dodatne zastavice dodajajo verjetno ni nek višek... Po drugi strani pa je potrebno procesor zaposlit z nečem...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
dejko1
Član
Član



Pridružen-a: Ned 16 Mar 2008 0:21
Prispevkov: 265
Aktiv.: 1.36
Kraj: Ljubljana

PrispevekObjavljeno: Tor Dec 23, 2014 9:12 am    Naslov sporočila:   Odgovori s citatom

Tiste zastavice znajo prav prit če delaš večopravilno Wink

CubeMX je malo podoben kakšnemu arduinotu in je lažji za uporabo od StdLib. (Primerov je žal bolj malo - ampak večino stvari se tako najde v examples. Ali pa si pogledaš za StdLib in potem iz tistega izhajaš.)

Pa kakšne stvari se znajo zaradi abstrakcije skrit v kakšne xy datoteke, tako da moraš najprej pogruntat kje se kaj nahaja (init, startup, mspinit).

Zadeva čisto lepo špila v gcc (CooCox).

Jaz recimo sem do zdaj pogrešal repeated start pri I2C komunikaciji Razz Uarti z FIFO-ti bi lahko tudi bili vgrajeni v zadevo, samo tu je verjetno 1000 opcij kaj kdo rabi.

(Sem od pred kratkim na CubeMX in se zaenkrat na njem igram le s STM32F4xx.)
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
Stran 2 od 3

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 47 dni


Powered by phpBB © 2001, 2005 phpBB Group