Linuxbaserade processorsystem VS FreeRTOS

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

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av DanielM »

Ja. Du kan ha kamera på Zero.

Det måste vara en likvärdig jämförelse.
Typ om man vill göra bildigenkänning.

I långa loppet så kanske STM32 vinner trots allt, både i prismässigt och snabbhet, trots att pajen är minst lika dyr, men är lite långsammare i uppstart?
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av DanielM »

Nu när jag kollar upp priserna på en CPU:n F446RE så verkar en Paj Zero vara billigare.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av Rick81 »

Ja om du jämför Nucleo, inte stm32f4:
https://se.farnell.com/stmicroelectroni ... =stm32f446

35 kr/st i 500 volym...
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av DanielM »

Ser nu att man kan inte köpa Paj CPU:erna separat. Då tror jag STM32 vinner här.

Så då kan jag fortsätta :) Tackar.

Dessa funderar jag på.
https://www.banggood.com/XD-95-OV2640-C ... rehouse=CN
https://www.banggood.com/3_2-Inch-ILI93 ... rehouse=CN

LCD:n har stöd för FSMC och kameran har stöd för DCMI. Kod finns för dessa, man tror du det är värt att man börjar skriva egen kod? Eller ska man återanvända andras kod? Jag tänkte att allt handlar om att läsa databladet. Jag är helt värdelös på att läsa datablad, mest för att jag tycker dom är krångliga och är inte tydlig. De bara rabblar upp massa register. Då tänker jag "Jaha, vem ska jag skriva till först då?"
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av Rick81 »

Hänger inte riktigt på hur dina bedömningspunkter blev STM32. I ditt fall, tror jag Raspberry pi är enklare då det finns mer färdigt och jag antar du inte ska göra tusentals kretskort. Sen att jag föredrar STM32 är ju en annan femma.

Jag brukar börja med exempelkod för att snabbt komma igång och sedan när jag vill göra mer avancerade saker går jag över till databladen
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av DanielM »

Jo. Men tänk om man skulle vilja bygga egen Paj. Det går ju inte. Alltså är det rätt värdelöst att lära sig Paj om den inte kan byggas från grunden.

Detta brukar jag göra också vid behov. Trodde du skrev kod helt själv från grunden. Alltså börja med tom fil och knacka C kod.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av DanielM »

Förresten! Hur var det att implementera ett CNN nätverk i STM32? Kunde du få en otroligt bra identifiering? Eller fick bara ett litet fattigt nätverk plats?
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av Rick81 »

Jo. Men tänk om man skulle vilja bygga egen Paj. Det går ju inte. Alltså är det rätt värdelöst att lära sig Paj om den inte kan byggas från grunden.
Instämmer.
Förresten! Hur var det att implementera ett CNN nätverk i STM32? Kunde du få en otroligt bra identifiering? Eller fick bara ett litet fattigt nätverk plats?
Jag har inte implementerat CNN nätverk i STM32, bara kollat föreläsning för jag tyckte det var intressant. Kolla tex:
https://blog.st.com/stm32cubeai-neural-networks/
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av DanielM »

Om du tittar här så använder han 3 dense lager och det är ett litet nätverk. Men ändå ska den ha ca 30 kB i flash. Då är detta ett enkelt nätverk. Undra hur det skulle se ut om man hade t.ex. 100 klasser i nätverket?

DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av DanielM »

Med CubeMX AI så kan man utföra bildigenkänning på 5 till 8 personer. Notera att dom använder de absolut kraftfullaste ST korten också.

guckrum
Inlägg: 1686
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av guckrum »

Skall du syssla med objektdetektering, bildklassning eller liknande behöver du ett rejält nät i botten. Moderna nät som exempelvis något Mobilenet levererar "okej" prestanda med bara ett par miljoner koefficienter. Du behöver alltså megabyte storage med snabb access för att det skall bli något.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av Rick81 »

Antar att du menar att det är för lite? Svårt att säga då du inte speccat vad du behöver.

Som jag förstår det med CubeAI så gör man ju nätverket först i ex tensor flow och sen optimerar den för STM32 och då får man ju veta om det får plats i nån STM32.

Ska du bara styra en liten bil som undviker hinder så är det ju mycket enklare använda en ultraljudssensor eller liknande. Har själv implementerat det i en 8 bit PIC på 2 MHz.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av DanielM »

guckrum skrev: 30 juli 2020, 12:15:04 Skall du syssla med objektdetektering, bildklassning eller liknande behöver du ett rejält nät i botten. Moderna nät som exempelvis något Mobilenet levererar "okej" prestanda med bara ett par miljoner koefficienter. Du behöver alltså megabyte storage med snabb access för att det skall bli något.
Ja. Det var lite. Väldigt fattigt.
Men jag nöjer mig om jag kan identifiera 10 klasser. :)

Hittade ett exempel på GitHub som använder en av dom största ST processorna.
https://github.com/ABurrello/CubeMX-AI-demo

I den så finns det en CIFAR10 modell. Den kan alltså klassificera 10 saker. Det är dock 32x32 bilder.

Notera att han använder ingen kamera eller LCD. Utan han skickar data via UART från PC till STM32 och STM32 gör sina beräkningar och skickar sedan tillbaka. Detta STM32 kort har ca 2 MB i ram. Bara ett 320x240 16 bit kamera kort med en kamera är 163.2 kB i minne. Så man får väll kopplas att CIFAR10 inte tar mer än 1 MB i minne.

Jag tvekar.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av DanielM »

Rick81 skrev: 30 juli 2020, 12:34:25 Antar att du menar att det är för lite? Svårt att säga då du inte speccat vad du behöver.

Som jag förstår det med CubeAI så gör man ju nätverket först i ex tensor flow och sen optimerar den för STM32 och då får man ju veta om det får plats i nån STM32.

Ska du bara styra en liten bil som undviker hinder så är det ju mycket enklare använda en ultraljudssensor eller liknande. Har själv implementerat det i en 8 bit PIC på 2 MHz.
Jag bara utforskar lite. Min specifikation är:
* Detektion
* Klara minst 10 klasser
* Kamera
* LCD med taffs

Nu när jag har forskat kring vad CubeMX AI kan generera så börjar jag tro att ST har inte processorer som klarar inte mer komplexa bilder.

Någon som har tränat ett neuralt nätverk förut? Hur gick det?

Jag funderar på testa CubeMX AI nu och kolla storleken på olika nät.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Linuxbaserade processorsystem VS FreeRTOS

Inlägg av DanielM »

Nu såg jag något! Om detta är sant så kan jag ju använda en vanlig Nucleo då.

https://my.st.com/content/my_st_com/en/ ... 5.1.2.html
Allows the use of larger networks by storing weights in external Flash memory and activation buffers in external RAM
Easy portability across different STM32 microcontroller series through STM32Cube integration
Free, user-friendly license terms
Jag börjar inse att priset sticker iväg när man vill ha lite mer RAM och FLASH.
För att tillämpa ett neuralt nätverk på en STM32 så krävs det att jag utökar RAM och FLASH enormt. Minst 50 MB måste jag ha i Flash och RAM har jag ingen aning om, men det måste säkert ha en markant ökning. Jag hittar tyvärr inte sånna kraftfulla IC-chip att köpa. Så jag tror åter igen att Raspberry Pi är en både billigare, snabbare och enklare lösning än STM32. Bevisa gärna att jag har fel :)
Skriv svar