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

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
bearing
Inlägg: 11272
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

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

Inlägg av bearing »

TomasL skrev:Men dt förutsätter att du har en flyttalsprocessor, annars går det garanterat långsammare, med flera magnituder.
Han har ju det, en Cortex F4/L4.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45310
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg av TomasL »

Ja, men han ber ju oss att testa koden, på våra inbyggd system.
DanielM
Inlägg: 2206
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg av DanielM »

TomasL skrev:Varför skall man testa en sak, som man inte har behov av, dessutom, använder den float, som är ett no-go i de allra flesta system.
Du får komma till 2019 då istället för att köra med äldre hårdvara.
bearing skrev:Fast det där förändras tack vare utvecklingen av beräkningsprestanda på små billiga mikrocontrollers. Och vissa operationer går ju faktiskt fortfare på flyttal än heltal.
Dessutom underlättar det utvecklingstiden :)
TomasL skrev:Men dt förutsätter att du har en flyttalsprocessor, annars går det garanterat långsammare, med flera magnituder.
Dagens processer är nog bra för att hantera flyttal.
Rick81 skrev:Har inte testat algoritmen, men denna tråd ( och flera trådar) handlar ju om det går att köra dina beräkningar på en inbyggd processor jämfört med PC och Raspberyy pi så det vore ju intressant äntligen få svaret.

Förstår inte vad du menar? Det tar mindre än en sekund?
Du KAN köra det på alla system och alla hårdvaror, om det inte är TomasL's hårdvara förståss. :)
bearing skrev: Han har ju det, en Cortex F4/L4.
Jag testar min kod på både Windows, Linux, Android samt STM och jämför med MATLAB. Fungerar glasklart.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45310
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg av TomasL »

Daniel, du får nog komma ner tillverkligheten, de flesta system har inte flyttalprocessor, av den enkla anledningen att man inte behöver den.
En duktig programmerare implementerar det hela med heltalsberäkningar, men, du är uppenbarligen en inte riktig så duktig programmerare, vilket innebär att du uppenbarligen inte är tillräckligt kompetent för att skriva funktionella program.

Typiskt för inkompetenta programmerare är just att man måste förlita sig på externa verktyg såsom matlab och liknande, eftersom kompetensen att skriva motsvarande program saknas.
Enkelt uttryckt, lär dig skriva program eller byt bransh
DanielM
Inlägg: 2206
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg av DanielM »

Du verkar vara kaxig och inte rädd att kasta sten i glashus. Jag tänker inte kaxa tillbaka för jag känner inte dig och därmed vet jag inte din erfarenhet. Lika väl från din sida, så skärp till dig.

Alla vet att det finns ett syfte med MATLAB. Annars skulle priserna på MATLAB's Toolbox inte vara så fruktanssvärt dyra. Ytterligare trams från dig.

Jag skriver kod för användarvänlighet och tänker första hand på pedagogiken vid kodskrivning. Programmeringsspråk för mig är bara ett verktyg. Jag använder dagligen 3 språk för att underlätta mitt arbete och för att även andra ska enkelt ska förstå den. Jag skriver aldrig mer än 300 rader i en C-fil exempelvis. Jag har kodat i 10 år. Framförallt Java.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45310
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg av TomasL »

Matlab mm är avsett att köras på en PC, inte inbäddade system.
Och jo, jag har hållit på med inbäddat de senaste 20-30-åren, typ.
Och jo, din erfarenhet och kunskap lyser i det du skriver här, dvs i princip obefintlig.

Användarvänligheten har ju inget med huruvida man skriver skitkod eller inte.
det är ju snarare GUIt som är viktigt ur den synpunkten.
DanielM
Inlägg: 2206
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg av DanielM »

Jag är mycket medveten om att MATLAB är till för PC. Men hade du läst så gör jag beräkningar i C och verifierar med MATLAB.
Jag kritiserade inte din kunskap eller ställde en fråga om den gällande hur många år du har programmerat. Du har säkert mycket erfarenhet inom inbyggda system, men allkunnig blir du inte.

Där har du fel! Användarvänligheten för rörande detta fall när jag uppmanade att använda C-koden, så handlar det om att koden ska vara så enkel som möjligt men samtidigt lösa problemet.

Testa koden och utför en beräkning. Allt man behöver är att ställa upp ett problem på formen \(Ax \le b\) där \(x \ge 0\) och \(c = A^Tb\).

Detta kallas linjärprogrammering. Jag använde tidigare kvadratisk programmering, men processorn kunde inte klara utav att beräkna kvadratisk programmering. Kvadratisk programmering är känt för att vara resurskrävande. Men linjärprogrammering är dock inte det.
Användarvisningsbild
ffredrik
Inlägg: 343
Blev medlem: 20 oktober 2009, 17:52:18
Ort: Göinge

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

Inlägg av ffredrik »

Jag instämmer helt med TomasL.
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 »

Du KAN köra det på alla system och alla hårdvaror, om det inte är TomasL's hårdvara förståss.
Så du kan köra 1-2 ggr/ sekund på en stm32f4 som du behöver för din process?
DanielM
Inlägg: 2206
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg av DanielM »

Med den nya algoritmen så kan jag köra snabbare än 1-2 sekund. Testade den på en 446RE och då gjorde jag 3 stycken beräkningar + LCD + temperaturgivare + massa annat.

Att avgöra hur LCD:n uppdaterades som så var det ca 0.5 Hz.

Så här skapade jag den:



Skulle vara intressant om TomasL kunde utföra detta igenom att endast använda heltal. Det verkar ju vara "piece of cake" enligt han.
Sedan jämföra tiden det tog för att skriva koden och hur snabbare koden blev jämfört med min kod. Alltså en kedjeregel:

\(\frac{\text(Utvecklingstid Heltal)}{\text(Utvecklingstid Float)}*\frac{\text(Exe Heltal)}{\text(Exe Float)} =Vinst\)
DanielM
Inlägg: 2206
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg av DanielM »

Säg bara till om någon behöver hjälp med något reglerproblem. :) :tumupp:
guckrum
Inlägg: 1692
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

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

Inlägg av guckrum »

Flyttalsaritmetik tar flera gånger större kiselarea och, värre, flera gånger mer energi än motsvarande heltalsoperationer. Dyrare på flera sätt alltså. Detta är helt otänkbart i många applikationer, typ sådana som driver teknikutvecklingen.

Dessutom är inte flyttal samma sak som matematikens reella tal. De har begränsningar och beteenden som man måste förstå om man vill vara säker på vad man gör. (Vanligaste exemplet är att summan av en flyttalsvektor kan bero på ordningen av vektorn. Flyttal kan göra att kod uppfattas som indeterministisk (vilket den såklart inte är, den är bara svåranalyserbar)).

Såklart skall man använda den teknik och metod som bäst passar situationen, och man kan inte hävda att det är uteslutande flyttal som gäller bara för att det är 2019. Det vore trångsynt.
DanielM
Inlägg: 2206
Blev medlem: 5 september 2019, 14:19:58

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

Inlägg av DanielM »

Exakt! Finns det en FPU...så varför inte använda den? :)
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 »

Största problemet med IEEE-flyttal är i mitt tycke att de är väldigt dåliga för att exakt representera tal som inte är bas-2.
T.ex. är 0,1 * 10 inte samma sak som att addera 0,1 tio gånger.
Vill man jämföra tal på ett pålitligt sätt måste man ta absolutvärdet av en subtraktion och se om resultatet är mindre än någon vald tolerans.

Men kan man leva med det och har en FPU tillgänglig så kör på.
Om det fungerar för dig är det ju helt irrelevant om processorn någon annan använder inte klarar av floats.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45310
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg av TomasL »

Säg bara till om någon behöver hjälp med något reglerproblem
., hmm nej tack, det löser vi själva
Skulle vara intressant om TomasL kunde utföra detta igenom att endast använda heltal. Det verkar ju vara "piece of cake" enligt han.
Naturligtvis går det alldeles utmärkt att realisera alla typer av beräkningar med heltal, inget konstigt och inget svårt.

Din formel för vinst visar hur okunnig du är.

För att köra med float, som du gör, behöver du en dyrare plattform.

Programutveckling är en "engångskostnad" och hamnar i balansräkningen som en tillgång och som ett IP, vilket skrivs av enligt gängse regler.
En mer kostsam plattform hamnar i resultaträkningen som en högre inköpskostnad, dvs lägre vinst.

Det är alltså i många fall bättre att lägga ned mer utvecklingstid, för att kunna använda en billigare HW-plattform, och på det sättet tjäna mer pengar.
Dock det hela beror ju på hur många exemplar systemet skall realiseras i.
Skriv svar