Hur kan jag få tag på prestandaversionen av Nucleo?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Okej. Sköt att höra :) Då kan jag fortsätta.

För enkelhetens skull så tror jag ska bara skriva ut data på hemsidan. Sedan får jag bygga en app som "tankar" ned hemsidan och gör en graf av det. Alltså det blir bara ett nummer på sidan som kontiunerligt uppdateras.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av sodjan »

> Alltså 0.119 MB ROM och 0.115 MB RAM har jag förbrukat nu.

Notera att speciellt flash har en tröskel i början då en massa
runtime rutiner länkas in. Det brukar plana ut då man bara lägger
till mer logik som använder samma runtime rutiner som innan.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Jag ska tänka på detta. Kanske man klarar sig utan en mobill applikation trots allt.

Skulle det fungera med en sådan graf?

https://canvasjs.com/html5-javascript-line-chart/
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av sodjan »

> Skulle det fungera med en sådan graf?

Vad menar du med "fungera"? Och vad är det som skulle "fungera?"?
Den där ritas helt och hållet upp i webbläsaren, det finns inget
"grafiskt" i själva applikationen som skickar datat till grafen.
Du verkar inte förstå hur det fungerar...

> Notera att speciellt flash har en tröskel i början då en massa runtime rutiner länkas in.

Och du kan lätt ta reda på hur mycket av dina "0.119 MB ROM" som är din egen
kod (så att säga) och vad som är delar av runtime. Sedan kan man uppskatta,
utifrån vad man tänker lägga till mer, hur det hela kommer att utvecklas.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Jag tänkte mer att om det går att applicera en sådan avancerad graf som uppdateras över realtid?
bearing
Inlägg: 11265
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av bearing »

Allt går. Om du menar på en LCD-kopplad direkt till processorn har du alla möjligheter. Då är det bara att programmera så att grafen beter sig exakt som du vill. Ifall du vill att din processorn ska fungera som en webbserver och rita en graf på hemsidan kan det hända att det finns mindre begränsningar beroende på att HTML nog inte är helt obegränsat. Men allt som du sett på nätet (förutom typ flash och liknande kanske) går ju att göra.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Nu tror jag vill byta kort till ett mindre kort. Detta har med att jag lyckades göra om med QP-lösare så den använder floats istället för double, single precision FPU med andra ord. :tumupp: Jag har jobbat länge på denna del och STM32 Nucleo H7 serien var bara en sista utväg för dom kunde hantera double precision FPU.

Nu känns det som jag har fler val att kombinera. Riktigt sugen på att kombinera STM32 med Raspberry Pi för WiFi anslutning. STM32 har ett WiFi-kort, men det är under utveckling enligt STM själva.
bearing
Inlägg: 11265
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av bearing »

Okej! Lycka till!
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av Rick81 »

Lite osäker vad du ska ha Raspberry pi till?

Men om du ändå ska koppla ihop stm32 och pi är det väl smidigare koppla ihop dem via UART och använda pi som webserver.

Annars kan du ju koppla esp8266 till stm32 så du får wifi:
https://www.electrodragon.com/product/w ... 8266-wifi/

Och om du redan portat koden till stm32h7 kan du ju benchnmarka så du kan uppskatta vilken stm32 du behöver för att klara dina beräkningar
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Behöver inte använda STM32. Men har använt det ett tag och känner att det fungerar. Jag funderar att bara koppla ihop en STM32F446RE med en enkel LCD.

Känner att det blev ganska onödigt att koppla ihop en ytterligare processor.

Ja. Pi som webbserver.
Mr Andersson
Inlägg: 1397
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av Mr Andersson »

Om du ändå ska använda en pi, räcker det inte med endast den? Det är ju mycket mer kraft än vad en cortex-m kan erbjuda.
Kör ditt program på en eller två kärnor, beroende på hur mycket du behöver, och linux på de som blir över.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Har implementerat mitt bibliotek + LCD ILI3941 bibliotek lite halft = slängt in headers och init-funktioner.

Fick detta resultat.
text data bss dec hex filename
120524 8268 107268 236060 39a1c Adaptive Model Predictive Control old.elf
115.5 Kbytes RAM använder den. Jag har 128 Kb RAM tillgänligt. Redan här såg jag att det sprack för mig. Nåja. Får väll gå tillbaka till det större Nucleo kortet.

Utan att få frågan "Hur långt är ett snöre". Men hur kraftfullare är en Raspberry Pi Zero jämfört med en STM32 Nucleo versionerna? En Pi har ju ett Linux OS som kräver en del, det har inte en Nucleo. Låt oss säga att vi kör en for-loop som räknar till 100000. Vem är då snabbast om vi jämför ett inbyggt system jämfört med ett OS-baserat Paj system?

Jag gör en lista för er om vad som är snabbare än Pi, eller hur mycket snabbare (i praktiken) en Pi är jämfört med alternativ 2 och 3.

Alternativ 1: Raspberry Pi Zero
CPU: 1 GHz
RAM: 512 Mb
Pris: 60 kr (utan minneskort, laddare och USB kablar osv)
OS: Ja, Linux
https://www.electrokit.com/produkt/rasp ... ero-board/

Alternativ 2: NUCLEO-H743ZI2
CPU: 400 Mhz
ROM: 2 Mb
RAM: 1 Mb (192 Kbytes of TCM RAM, 864 Kbytes of user SRAM, and 4 Kbytes of SRAM in Backup domain)
Pris: 264,33 kr
OS: Nej.
https://os.mbed.com/platforms/ST-Nucleo-H743ZI2/

Alternativ 3: NUCLEO-L4R5ZI
CPU: 120 Mhz
ROM: 2 Mb
RAM: 640 Kb (640 Kb SRAM)
Pris: 197,95 kr
OS: Nej.
https://os.mbed.com/platforms/NUCLEO-L4R5ZI/

När jag kör mitt kontrollbibliotek, från identifiering från data till optimering och sist estimering utav mätning. Det tar 0.0025 sekunder. Det är MYCKET beräkningar och jag sitter på en väldigt bra dator med 10 Gb RAM och dubbelkärning Intel(R) Xeon(R) CPU W3503 @ 2.40GHz

På en Raspberry Pi Zero är det 0.05789 sekunder. Då kan man väll säga med enkel höft att det tar ca 1000/120*0.05789 = 0.48241666666 ~ 0.5 sekunder på en L445ZI ? Helt godkänt enligt mig. Kan acceptera 1 sekunds "while loop"-iterationstid.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av Rick81 »

Ja du borde hamna under 1 sekund. Du kan också sätta Optimering O3 på STM32, det snabbar upp kanske 2-3 ggr..

Men har du inte haft en stm32f4 devkit som du testat med? Då kan du ju benchmarka din kod på den.
DanielM
Inlägg: 2194
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Jag testade göra ett projekt med stm32f4 och såg att RAM räckte inte till.

Så den där nucleo 120 MHz kanske är en kandidat då. För 200 kr så får man mycket hårdvara.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av Rick81 »

Men RAM räckte ju till om det var den kompilering du visade:
115.5 Kbytes RAM använder den. Jag har 128 Kb RAM tillgänlig
Kompilering gick ju igenom. Eller använder du Malloc så du behöver en massa heap?

Eller var det ett annat devkit?
Skriv svar