Re: ESP32 různá jádra - má smysl řešit?
Petr Labaj
labaj na volny.cz
Úterý Březen 4 21:19:28 CET 2025
Program pod velkým multitaskingovým operačním systémem je něco jiného
než uzavřené řešení na nějakém MCU.
Kdysi dávno jsem psal SW v ASM pro PC. Ten SW se použil místo BIOSu v
EPROM na základní desce.
Takže si prostě obsluhoval celý HW toho PC sám. A k tomu obsluhu ISA
síťové karty a zjednodušené TCP/IP.
To celé se vešlo s rezervou do 32 kByte EPROM.
Zmenšená osekaná verze, která uměla jen UDP, pak do 16 kByte na
Ethernetu, do 8 kByte na ArcNetu.
Psal jsem to někdy 1992-3. Nějaké velké desítky nebo možná malé stovky
exemplářů běží doteď.
Na nějakém tom jednochipu se musí k aplikační části přidat nějaký
startup s nastavením hodin a sběrnic, a tabulku vektorů.
Zbytek by se měl přidat až pokud ho aplikační program vyžaduje.
A to nezbytné se prostě musí vejít když moc tak do nějakých 2 kByte kódu.
Něco málo systémových proměnných a stack, tak RAM taky řekněme 2 kByte.
Nějak tak si to představuju. A neskromně si troufám říct, že kdybych to
vyvíjel já, tak bych to do té velikosti dostal
Na velkém 64bit Linuxu přeložený prázdný program má 1209 Byte code a 536
Byte dat.
PL
******************
Dne 4.3.2025 v 20:48 Jaroslav Buchta napsal(a):
> A uz jste se podival, jake zdroje sezere bezny hello world ve windows,
> nedejboze x64?
> To se proste neda takhle brat, je to jiny level nez zakladni blikani v
> ATTINY nebo STM32. Je tam v zakladu prilinkovana hromada knihoven a v
> realu neni s vyvojem SW zadny problem.
> Treba FW pro radio neni jako jedine ve forme zdrojaku, asi kvuli
> legislative a pouzitim cehokole naroste kod z 200kB na 800kB zhruba.
> Ale kde je problem, kdyz je pameti 4-16MB ?
> A co uz je minuta v zivote, behem ktere se daji navic projet maily
> nebo zajimave stranky ;-)
>
> Dne 04.03.2025 v 20:27 Petr Labaj napsal(a):
>> Tak tím jste mi vzal zbytek naděje a iluzí. :-(
>> Že má prázdný program 230kByte a sežere 21kByte RAM, to předčilo i mé
>> nejčernější představy.
>> Vývojáře HW má Espressif zřejmě dobré.
>> Ale vývojáři SW budou zřejmě mladí a dynamičtí kuchaři po rekvalifikaci.
>>
>> Díky.
>> PL
>>
>> *****************
>>
>> Dne 4.3.2025 v 14:36 Petr Zapadlo napsal(a):
>>> Zdravím,
>>>
>>> složitý projekt to asi úplně není, kodu tam není přehršel. Spíše
>>> velké množství knihoven.
>>>
>>> Blikání ledky (prázdný projekt) vygeneruje:
>>>
>>> RAM: [= ] 6.4% (used 21032 bytes from 327680 bytes)
>>> Flash: [== ] 17.8% (used 233185 bytes from 1310720 bytes)
>>>
>>> A z mé subjektivní zkušenosti obsazená flash moc nezávisí na
>>> velikosti kodu, ale spíše na použitých knihovnách.
>>>
>>> Petr
>>>
>>> Dne 04. 03. 25 v 14:22 Petr Labaj napsal(a):
>>>> Děkuji za konkrétní výsledky z reálného projektu.
>>>>
>>>> Ty časy jsou opravdu nepříjemně dlouho a výsledný kód obrovský.
>>>> Trochu se utěšuju tím, že se jedná zřejmě o dost složitý projekt.
>>>> Resp. o takový, který využívá hodně zdrojů - WiFi client, WWW
>>>> server, OTA.
>>>> Takže ve mně zbývá jiskřička naděje, že pokud by se tohle ve fázi
>>>> vývoje k projektu nelinkovalo, tak by to nemuselo být tak hrozné.
>>>> Ale možná se jen nerealisticky utěšuju.
>>>> Já jsem si naivně myslel, že když ten procesor (nebo spíš SOC) má
>>>> dost ROM, tak že ty obecné věcí jako obsluha WiFi a nějaké
>>>> "drivery" periferií jsou tam.
>>>> Takže pak ten výsledný kód ve Flash bude naopak spíš menší než větší.
>>>> Ale asi jako obvykle se zde jen projevila má naivita a bezbřehý
>>>> optimismus (hraničící s debilitou).
>>>>
>>>> Teď jsem na cestách. Ale až se dostanu k PC, tak musím nainstalovat
>>>> nějaký ten toolchain a zkusit přeložit klasické blikání LEDkou.
>>>> Pokud by někdo nebyl tak hodný nezkusil to a neposlal sem výsledek.
>>>> Pokud i to bude hrozné, tak to asi povede na 2-procesorové řešení.
>>>> Řízení (kde se dá čekat velký vývoj a změny) na STM32, komunikace
>>>> (WiFi, web, možná Ethernet) pak na ESP32, kde to bude asi dost
>>>> stabilní se zmraženým vývojem.
>>>>
>>>> Ještě jednou díky.
>>>> PL
>>>>
>>>> *******************
>>>>
>>>>
>>>> Dne 4.3.2025 v 10:17 Petr Zapadlo napsal(a):
>>>>> NIkdo nedodal přesné údaje, tak aspoň já.
>>>>>
>>>>> Používám Code + PlatformIO toolkit.
>>>>>
>>>>> Kompilace z čistého mi o jednoho konkrétního projektu trvá 28vteřin
>>>>>
>>>>> Opakovaná 7vteřin
>>>>>
>>>>> Upload teď nevyzkouším, ale obecně je upload přes Wifi (OTA)
>>>>> rychlejší - odhadem možná polovina času.
>>>>>
>>>>> Informace o projektu:
>>>>>
>>>>> #include <Arduino.h>
>>>>> #include <EEPROM.h>
>>>>> #include <WiFiClient.h>
>>>>> #include <WebServer.h>
>>>>> #include <Ticker.h>
>>>>> #include <WiFiUdp.h>
>>>>> #include <ArduinoOTA.h>
>>>>> #include <ESPmDNS.h>
>>>>> #include <Syslog.h>
>>>>> #include <Wire.h>
>>>>> #include <PubSubClient.h>
>>>>>
>>>>>
>>>>> RAM: [== ] 15.1% (used 49460 bytes from 327680 bytes)
>>>>> Flash: [====== ] 61.9% (used 810873 bytes from 1310720 bytes)
>>>>>
>>>>>
>>>>> Petr Zapadlo
>>>>>
>>>>>
>>>>> Dne 03. 03. 25 v 21:44 Petr Labaj napsal(a):
>>>>>> Moje chyba.
>>>>>> Smíchal jsem 2 nesouvisející věci do jednoho mailu.
>>>>>> Ten dotaz na ESP32 a problematika Arduino nemá spolu nic společného.
>>>>>> Jenom to, že oboje je pomalé.
>>>>>>
>>>>>> Já zatím to ESP32 nemám, tak jsem ještě ani neinstaloval žádné IDE.
>>>>>> Jen jsem četl doporučení použít VS Code, tak asi půjdu pro
>>>>>> začátek touto cestou.
>>>>>> Pokud by stačilo třeba na Linuxu jen nainstalovat GCC toolchain
>>>>>> (jako je to třeba u ARMů a jiných platforem), tak to by bylo
>>>>>> nejlepší.
>>>>>> Ale na takovou optimalizaci vývojového prostředí si zatím
>>>>>> netroufám, když ani nevím, jak se to ESP32 používá a jak se do
>>>>>> něho sype program.
>>>>>>
>>>>>> PL
>>>>>>
>>>>>> ******************
>>>>>>
>>>>>> Dne 3.3.2025 v 21:30 Jaroslav Buchta napsal(a):
>>>>>>> Aha, ja psal o klasickem ESP-IDF, jede na CMake coz je docela
>>>>>>> OK, arduino nepouzivam. Tam to je mozna rychlejsi, prilinkuje uz
>>>>>>> nejakou hotovou knihovnu tusim, parkrat jsem preklada firmware
>>>>>>> GRBL pro nejaky hotovy modul.
>>>>>>>
>>>>>>> Dne 03.03.2025 v 21:11 Petr Labaj napsal(a):
>>>>>>>> A jéje. :-(
>>>>>>>> Tak to musím udělat jinak a psát to na PC a STM32, a teprve ve
>>>>>>>> finále to přeportovat.
>>>>>>>> Na PC ty univerzální věci, na STM32 komunikaci po CANbusu.
>>>>>>>>
>>>>>>>> Díky za informaci, i když smutnou.
>>>>>>>>
>>>>>>>> Mimochodem co takhle Arduino?
>>>>>>>> Občas to po mně někdo chce, tak nezbývá než to nastartovat.
>>>>>>>>
>>>>>>>> Ladění na PC je jedna velká tragédie. Každý překlad trvá
>>>>>>>> věčnost, i když jde jen o blikání LEDkou. Snad desítky sekund.
>>>>>>>> Navíc mám pocit, že to furt všechno překládá dookola, jako by
>>>>>>>> neznal Make.
>>>>>>>> Je ale samozřejmě možné, že pod Windows neumím to vývojové
>>>>>>>> prostředí dobře nastavit.
>>>>>>>> Prostě jsem to jenom tupě nainstaloval.
>>>>>>>>
>>>>>>>> Tak když jsem musel jednou dělat něco většího, rozjel jsem
>>>>>>>> Arduino na Linuxu.
>>>>>>>> No a tam to byla skoro obvyklá raketa - bum na Enter a překlad
>>>>>>>> je hotový.
>>>>>>>>
>>>>>>>> To mají všichni arduinisti tak dobré nervy, že to překládají
>>>>>>>> tím podivným vývojovým prostředím na PC?
>>>>>>>>
>>>>>>>> PL
>>>>>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> 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