Portál AbcLinuxu, 30. dubna 2025 11:49
Byla představena nová Arduino deska Arduino GIGA R1 WiFi s dvoujádrovým mikrokontrolérem STM32H7 (Cortex-M7 na 480 MHz a Cortex-M4 na 240 MHz). Její cena je 68,70 eur bez DPH.
Tiskni
Sdílej:
Mne teda programovanie STM32 nepripadá zvlášť zložité. Programoval som v minulosti aj AVR-ko aj STM32 a u STM32 by som vyzdvihol dobrú dokumentáciu a možnosť debugovať dosku cez ľubovoľný šmejdhardvér za 1€ ako napr. lacný klon ST-link.
Serial.begin(115200); Serial.println("Hello World");
bylo jak nastavovat jadernou elektrárnu. Stallmanisti by si ještě stěžovali na de-facto povinné proprietární CubeMX.
A pak jsou tu knihovny… Potřebuju vyčítat teploměr nebo akcelerometr? Na Arduino na to je určitě hotová knihovna (často pochybné kvality). Na STM32 aby si to člověk napsal…
Žiaden framework, presnejšie povedané definície registrov z LL, funkcie prakticky nie.
Podobne som takto postupoval aj u ESP32, pretože funkcie z ESP-IDF sú nesprávne implementované. Naposledy keď som písal rádio som napríklad narazil na problém s neefektívnym a nepresným nastavením deličky pre I2S. Ja som kvôli nepresnému oscilátoru potreboval meniť frekvenciu I2S o 0.1% keď live stream nestíhal dodávať dáta. Ak by som použil vysokoúrovňovú funkciu namiesto ručného nastavenia registrov, nebol by som schopný meniť frekvenciu s požadovanou prednosťou, okrem toho to chrastilo (IDF SDK najskôr vyprázdni buffer aj keď to vôbec nie je nutné).
Pre mňa je jednoduché to keď mám dokumentáciu a viem manipulovať registrami. Naopak zložité je keď zavolám niečo.niečo(nejaké číslo) a dúfam, že to číslo je to číslo a nie to číslo +/- niečo. Väčšina knižníc skrýva dôležité detaily do vsokoúrovňových API, na ktoré sa nemôžem spoľahnúť, takže okrem štúdia hardvéru sa musím zaoberať aj štúdiom vnútorností knižnice, čo je často schované za niekoľko vrstiev abstrakcie.
Len pre zaujímavosť ja nemám vývoj hardvéru ako fulltime job. Dokonca sa nepovažujem ani za amatérskeho hardvéristu. Napriek tomu aj pri tých mini hardvérových projektíkoch, ktoré som občas robil som narazil vždy veľmi tvrdo na limity knižníc.
Bohužel dneska stále máte na výběr AVR = tragický hardware z devadesátek, nebo STM32 a spol. = nabušený HW pro který je programování full time job.Taky mě to shodou okolností nedávno napadlo, že mezi 8bit mikrokontrolérem a plnohodnotným ARM něco chybí. Přitom by mi asi stačilo jenom o něco rychlejší AVR. Proč tragický?
Proč tragický?Je to pomalé (16 MHz a operace s 32bit čísly trvají několik instrukcí vs. nejlevnější STM32 typicky na 48 MHz a blížící se 1 op/cycle) a má to málo paměti (typicky 2KB - AtMega328; do toho se teda zatím vejdu, do 1KB (AtMega168) často ne). Má to málo periferií - typicky mi vadí jeden sériák na AtMega328, takže když mám úkol „posílat mezi počítačem a jinou periferií se sériákem“ tak musím bitbangovat nebo použít ohromnou AtMegu2560, která je ohromná a blbě se pájí kvůli své ohromnosti a 0.5mm pitchi (preferuji 0.8mm pitch). A když použiju tu AtMegu2560 tak narážím na to, že má interrupty (PCINT) jenom na pár pinech, což nechápu, jestli je jako drahý to prostě udělat na všechny jako to mají ostatní. Na to jsem samozřejmě přišel až v okamžiku kdy jsem to vyrobil a bylo potřeba přidat další interrupt zvenku.
Přitom by mi asi stačilo jenom o něco rychlejší AVR.Koukněte na AVR128DA32 a spol. Furt je to 8bit AVR, ale má to rychlejší s softwarově nastavitelné (nemusíte to dělat přes fuses přes ICSP) hodiny, lepší ADC, víc sériáků, programuje se to přes jednodrátové UPDI (lze bitbangovat) místo 6pinového ICSP headeru který se vždycky musí nějak naroutovat a pak překáží. Nevýhoda je že typické použití vyžaduje AVR-Dx_DFP což je jestli jsem to pochopil dobře malý blob.
Koukněte na AVR128DA32Tak tohle jsem přesně chtěl doporučit při čtení prvního odstavce
Nevýhoda je že typické použití vyžaduje AVR-Dx_DFP což je jestli jsem to pochopil dobře malý blob.Nevim, já měl pocit, že k tomu zdrojáky jsou, akorát licence není svobodná.
Akorát se kromě DIP varianty už rok nedají koupit.Nám teď dodavatel přešel na AVR32DA28 v takovém tom pouzdře z osmdesátek, jakoby menší a SMD verze DIPu…
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.