Matrisberäkningar med för STM32?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Här har jag gjort en simulering med 64 mätpunkter mellan 0 till 31 sekunder, dvs 32 sekunder enligt min simulering. Så en 64*64 ska nog fungera som maximal matris.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

mrfrenzy skrev:Att hitta en mikrokontroller med rejält med minne är inte svårt.
Ta en raspberry pi zero som exempel.
512MB ram
1GHz klocka
Hårdvarustöd för flyttalsberäkning
Kostar ca 100kr färdigmonterad men om du kan löda bga går det såklart köpa armchippet löst.

Instruktioner hur man programmerar direkt på hårdvaran utan OS:
https://www.raspberrypi.org/forums/viewforum.php?f=72
Jo, men nu var det två problem med en sådan:

1. SD kort - Ostabilt över tid
2. OS baserat - OS systemet kan ha speciella interrupts vid speciella tillfällen. Detta kan skapa olika samplingsintervall, vilket skapar ostabilitet.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Jag ska skriva ett mindre krävande matrisprogram som endast kräver fåtal matriser. Därefter ska jag testa det på min befintliga STM32 bara för att verifiera att det fungerar.

Programmet ska vara en grundläggande MPC, dvs en regulator som kan prediktivt räkna ut de bästa signalerna t.ex. 5 sekunder framåt.
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14867
Blev medlem: 16 april 2006, 17:04:10

Re: Matrisberäkningar med för STM32?

Inlägg av mrfrenzy »

Nej det är inte os baserat!
Man programmerar bara en c-fil som gör en sak och skickar över. Precis som med stm32. Det finns inget linux ellet annat OS.

SD-kortet används bara för läsning ej för skrivning så det håller i 100 år.

Vill man ändå inte använda sd går det bra att använda ett eeprom.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Nu känner jag mig helt lurad. Hur kommer det sig att du alltid kommer med självklarheter och lösningar? Kan det vara för du är admin? Annars får jag tacka så mycket för informationen.

Ja, i detta fall så ska jag inte jobba med så stora matriser. Så jag tror den interna hårddisken håller.

Men vad är det för IDE och kompilator man ska använda för att bränna över C-kod till Raspberry Pi Zero's CPU?
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14867
Blev medlem: 16 april 2006, 17:04:10

Re: Matrisberäkningar med för STM32?

Inlägg av mrfrenzy »

Som många här tycker jag det är roligt att hitta lösningar och dela med sig.

Man kompilerar med arm-gcc som vanligt. Efter länkningen får man en fil som sparas på sd-kortet.
När raspberryn startar läses helt enkelt denna fil med din kod in i ram och körs igång.

Det finns många olika bibliotek för att få kontakt med hårdvaran. Läs dom fem första trådarna i forumet jag länkade och se vilket som verkar smidigast att komma igång med.

Eftersom det är helt vanlig C kan du säkert fortsätta använda Eclipse om du trivs med det.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

mrfrenzy skrev: Man kompilerar med arm-gcc som vanligt. Efter länkningen får man en fil som sparas på sd-kortet.
När raspberryn startar läses helt enkelt denna fil med din kod in i ram och körs igång.
Och inget OS behövs?

Så jag kan ta mitt kompilerade program som är komplimerad med arm-none-eabi-gcc och bara lägga in .a filen på SD kortet och sedan är det klart? Måste läsa på mer om detta. Gjorde en sökning, men fann ingen resultat om detta.
bearing
Inlägg: 11265
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Matrisberäkningar med för STM32?

Inlägg av bearing »

Fast skulle du inte köra GTK+?
Då behövs väl ett linux, gissar jag?

Om du ska använda ett samplingsintervall på 1s lär det väl inte vara några problem att ha ett OS körandes i bakgrunden. Jag skulle tippa på max en millisekunds jitter, om du nu inte kör några tunga processer i bakgrunden.

Men om jittret måste ner i mikro- eller nanosekunder, är ett OS kanske inte optimalt. Men det borde väl iofs gå att köra med en vanlig hårdvarutimer som ger interrupt och samplar, utan att operativsystemet "vet om" detta, för att få försumbart jitter även med ett OS.

Men grafik går såklart att göra även utan ett OS. Så om grafiken kan göras på annat sätt än GTK+, behövs inte linux.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Med tanke på att målet var att jag skulle utveckla ett bibliotek för att göra linjär algebra på inbyggda system så vill jag att biblioteket ska fungera på alla plattformar. Jag har använt mig av CLapack som jag har gjort om lite för att den ska inte vara beroende av operativsystem.

När jag insåg att mitt C-program kräver mycket ramminne så var jag inne på att köra mitt C-program på vanliga datorer t.ex. min dator eller en Raspberry Pi. Då var jag först inne på JavaFX för att göra det grafiska. Men det kändes onödigt att ens utveckla ett C program för Java, när jag kunde lika gärna använda mig av jBLAS eller OjAlgo för numeriska beräkningar inom Java.

Men jag behövde prestanda. Varje millisekund räknas. Då gick jag över till att inspektera GTK+, men GTK+ saknade grafer. Det blir alltså för stort projekt skrivet i C och vid stora projekt vill jag använda mig av objektorientering, och då kan jag lika gärna använda C++ för det är ett bättre verktyg än C vid stora projekt. Så hur jag än vred på det så insåg jag att mitt C-bibliotek blev helt enkelt onödigt om jag väljer OS, Java, GTK osv.

Men då kom MrFrenzy ovan och sade att jag kunde programmera C direkt på Raspberry Pi utan att ens använda Linux. Då slipper jag att mitt C program ska ligga ovanpå ett OS. Jag kräver konstant samplingsintervall. Så länge jag bara läser från mitt SD-kort på Pajen så kommer mitt SD-kort att hålla över 100 år.

Så nu har man ju en anledning och motivering att driva mig till att programmera ARM på den låga nivån, för jag har ingen annan CPU att använda. STM32 är för klent för mig och Raspberry Pi CPU är både billiga och snabba. Så jag för helt enkelt lära mig skriva C-kod för dessa uC:er.

Så mitt arbete för att utveckla ett C-bibliotek som följer MATLAB-standard, är optimerat och 100 % portabelt för realtidssystem fortsätter :)
Här har jag en länk som kan enkelt styra GPIO pinnarna på en Paj:
http://wiringpi.com/
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Matrisberäkningar med för STM32?

Inlägg av Krille Krokodil »

Här har du ett realtids-OS med GUI som du kan kika på:

"ChibiOS/RT is the high performance RTOS part of the ChibiOS embedded collection. RT has been designed with the idea of creating a very feature-complete RTOS that could excel in performance and code size."

"ChibiStudio is a free ARM development environment based on Open Source tools and components. It has been created in order to support the development of ChibiOS itself and is now available as a free download.

Everything is required to start working with ChibiOS is encapsulated in a single download. It takes just two minutes to have your development board working with ChibiOS."
http://chibios.org/

https://www.playembedded.org/blog/

"µGFX is a lightweight embedded library for displays and touchscreens providing everything required to build a fully featured embedded GUI. The library is very small and fast because every unused feature is disabled and not linked into the finished binary."
https://ugfx.io/
bearing
Inlägg: 11265
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Matrisberäkningar med för STM32?

Inlägg av bearing »

Jag kräver konstant samplingsintervall
Konstant 1 sekunds samplingsintervall?
Med vilka toleranser / vilket jitter är acceptabelt?

Om du bara behöver uppdatera grafen en gång per sekund finns det ju andra sätt att lösa grafiken på. T.ex. skicka datapunkterna till en mobil via en seriell-bluetooth-omvandlare. Finns färdiga appar som ritar grafer från inkommande bluetooth.
guckrum
Inlägg: 1691
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Matrisberäkningar med för STM32?

Inlägg av guckrum »

Jag har använt mig av CLapack som jag har gjort om lite för att den ska inte vara beroende av operativsystem.
Återigen, tänk på att du måste respektera licensvillkoren i kod du inkluderar.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

Krille Krokodil skrev:Här har du ett realtids-OS med GUI som du kan kika på:

"ChibiOS/RT is the high performance RTOS part of the ChibiOS embedded collection. RT has been designed with the idea of creating a very feature-complete RTOS that could excel in performance and code size."

"ChibiStudio is a free ARM development environment based on Open Source tools and components. It has been created in order to support the development of ChibiOS itself and is now available as a free download.

Everything is required to start working with ChibiOS is encapsulated in a single download. It takes just two minutes to have your development board working with ChibiOS."
http://chibios.org/

https://www.playembedded.org/blog/

"µGFX is a lightweight embedded library for displays and touchscreens providing everything required to build a fully featured embedded GUI. The library is very small and fast because every unused feature is disabled and not linked into the finished binary."
https://ugfx.io/
Jo. Men ramminnet är för klent för dem.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

guckrum skrev:
Jag har använt mig av CLapack som jag har gjort om lite för att den ska inte vara beroende av operativsystem.
Återigen, tänk på att du måste respektera licensvillkoren i kod du inkluderar.
Licensen är inkluderad i varje fil.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Matrisberäkningar med för STM32?

Inlägg av Al_Bundy »

bearing skrev:
Jag kräver konstant samplingsintervall
Konstant 1 sekunds samplingsintervall?
Med vilka toleranser / vilket jitter är acceptabelt?

Om du bara behöver uppdatera grafen en gång per sekund finns det ju andra sätt att lösa grafiken på. T.ex. skicka datapunkterna till en mobil via en seriell-bluetooth-omvandlare. Finns färdiga appar som ritar grafer från inkommande bluetooth.
Jag tror jag ska sikta på 0.5 sekunder. Ja, jag vill ha så nära konstant som möjligt. +- 0.001 millisekund skulle inte vara fel.
Skriv svar