Tips på ARM tutorials [LÖST]

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
John_E
Inlägg: 95
Blev medlem: 16 oktober 2007, 20:02:25
Ort: Bråten

Tips på ARM tutorials [LÖST]

Inlägg av John_E »

Hej!

Söker intressant läsning om ARM processorer. Programmering verkar inte vara något problem. Men att bygga ihop processor, IO, minne, flash hittar jag ingen bra tutorial om.

Ambitioner:
Bygga embeddedsystem med GPIO och ethernet.
Plocka ihop ett eget Linux system med RTAI eller RT Preempt, gcc, ssh, osv.

Tips på dev boards uppskattas också.
Senast redigerad av John_E 7 september 2015, 17:27:09, redigerad totalt 1 gång.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Tips på ARM tutorials

Inlägg av lillahuset »

För enchippare rekommenderar jag STs STM32F-familj. De har billiga utvärderingskort om du vill testa.

Ska du köra Linux kan du naturligtvis bygga själv men det blir dyrt och besvärligt om du inte ska ha stora volymer.
BeagleBoneBlack och RaspberryPi är två billiga alternativ som har många användare och mycket information.
ODROID är ett annat alternativ med färre användare.

Lycka till!
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Tips på ARM tutorials

Inlägg av Micke_s »

Vill du köra linux på arm eller är det det utan?

Rpi 2 är arm. Har gpio och ethernet.

Annars cortex-m , ex smt32f407
Edit: menar STM32F407
John_E
Inlägg: 95
Blev medlem: 16 oktober 2007, 20:02:25
Ort: Bråten

Re: Tips på ARM tutorials

Inlägg av John_E »

Jag har gjort ett par projekt med raspberry pi.

Vill nu göra någon slags egen variant som ett hobbyprojekt.

Vill lära mig hur man designar hårdvaran, installerar en bootloader, bygger verktygskedja, osv.

Bättre insikt i embedded system helt enkelt.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Tips på ARM tutorials

Inlägg av lillahuset »

Om du ska köra Linux på en vettig processor ska du nog strunta i att bygga hårdvaran.

Det finns en beskrivning på hur man använder RPi "bare metal" om du vill lära dig grunderna.

Vill du bygga Linux från grunden finns: LFS http://www.linuxfromscratch.org/

Edit: Skriva drivrutiner är också lite kul. :D
nifelheim
Den första
Inlägg: 2485
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Tips på ARM tutorials

Inlägg av nifelheim »

Du får nog dela upp det lite.
Gör allt det du skriver, utom själva hårdvaran, med Raspberry pi, om du redan har en sådan,
och se till att du förstår vad du gör.
Bygg kärnan, förstå Linux byggprocess, moduler och "Device tree" osv.
Korskompileringsverktyg bygger du själv med crosstools-ng eller motsv, förstå varför, inte bara "copy paste"


När ovanstående är "glasklart" , är det bara den enkla biten kvar, hitta en lämplig processor och koppla in ett minne :-)
John_E
Inlägg: 95
Blev medlem: 16 oktober 2007, 20:02:25
Ort: Bråten

Re: Tips på ARM tutorials

Inlägg av John_E »

Bra tips nifelheim och lillahuset.

Jag har patchat rasbian kärnan med RT Preempt tidigare, men aldrig kört från grunden.

Skall kolla in bare metal guider.
John_E
Inlägg: 95
Blev medlem: 16 oktober 2007, 20:02:25
Ort: Bråten

Re: Tips på ARM tutorials

Inlägg av John_E »

En fråga har uppstått när jag letat tutorials på ämnet "bygg egen raspberry pi kärna".

Den enda tutorial jag hittar som använder en vanilj kärna är denna. Och vad man gör i det fallet är att ladda ner en vaniljkärna samt klonar raspberrypi kärnan från github. Genererar en patch och bygger vaniljkärnan med den patchen. Ganska meningslöst om jag inte missförstått någonting.

Varför har raspberry pi projektet en hel kopia av kärnan och inte bara en patch och en .conf fil?
Vad kan man tänka att de har ändrat på i kärnan?
Är det vanligt att man behöver ändra kärnans kod för att den skall gå att köra på en ARM processor?
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Tips på ARM tutorials

Inlägg av lillahuset »

Nja, de kör lite S&M om jag förstår det hela rätt:
We could have cloned this repository, built it and ran a linux on our Pi.... yes we could, but we are a bit sadistic and as they say in my fitness club : "No pain, no gain". So let's try something fun : cloning the mainline kernel ( the latest stable version ) and adapt it for the Pi.
Jag är absolut ingen expert på ämnet, brukar föredra färdiga kärnor, och om sanningen ska fram, resten också.
När det gäller själva ARM-koden så är den ganska väldefinierad och finns förmodligen i "mainline". Jag vet att TI har ansträngt sig mycket för att man ska kunna köra deras Sitara med standardlinux.
Det som gör att man har patchade kärnor är (om jag fattat det hela rätt) att nästan alla ARM som kör Linux idag är SOC (system on chip) och då behövs det antagligen en del patchar för att det ska fungera bra.
John_E
Inlägg: 95
Blev medlem: 16 oktober 2007, 20:02:25
Ort: Bråten

Re: Tips på ARM tutorials

Inlägg av John_E »

Tack!
John_E
Inlägg: 95
Blev medlem: 16 oktober 2007, 20:02:25
Ort: Bråten

Re: Tips på ARM tutorials

Inlägg av John_E »

Ok...

Jag kommer att börja experimentera med en raspberry pi.
Det blir buildroot och den officiella kärnan till att börja med.

När det funkar kommer jag nog att börja experimentera med pi:ens device tree. Kanske ställa in riktningen på gpio till en början. Kommer även att prova på att skriva lite drivrutiner.

Väntar med linux from scratch. Tror att det är nog att ta in så här.

Öppnar en ny tråd när det är dags att börja bygga någonting eget ARM baserat.


Tack för hjälpen.
Användarvisningsbild
abcabc
Inlägg: 188
Blev medlem: 13 september 2014, 21:59:16

Re: Tips på ARM tutorials [LÖST]

Inlägg av abcabc »

Har ni sett denna: http://www.cl.cam.ac.uk/projects/raspbe ... orials/os/?

Det är en beskrivning i "kursform" med uppgifter hur man skapar en liten kärna på raspberry pi helt utan operativsystem, hur sätta upp byggmiljö, bootstrap, introduktion arm-assembler, hur kontrollera serieport, skriva text och grafik via hdmi, läsa usb-tangentbord, sätta upp så man kan skriva i C etc.

Det var tydligen ett sommarprojekt av snubbe som heter Alex Chadwick på en kurs i Cambridge.

Jag tyckte den var mycket trevlig, jag sträckläste eller snarare "sträcklabbade" den, kunde inte låta bli.

En annan bra men mer avancerad med ändå lättbegriplig "kurs" i arm-assembler (senare i kursen ganska avancerat) är http://thinkingeek.com/2013/01/09/arm-a ... chapter-1/, det finns för närvarande 25 delar. Den är baserad på att man labbar på raspbian / lunux i raspberry pi.
Senast redigerad av abcabc 11 september 2015, 22:01:05, redigerad totalt 2 gånger.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Tips på ARM tutorials [LÖST]

Inlägg av lillahuset »

Jo den ser bra ut. Jag har inte läst/labbat igenom den men det lilla jag har kollat ser mycket seriöst ut.

Edit: Det här är också intressant: https://en.wikibooks.org/wiki/Bare-meta ... rogramming
Användarvisningsbild
abcabc
Inlägg: 188
Blev medlem: 13 september 2014, 21:59:16

Re: Tips på ARM tutorials [LÖST]

Inlägg av abcabc »

Något jag själv har labbat med är Arduino Due, det är ett labbkort med ARM Cortex M3 CPU, 96 kb ram, och 512 kb flash. Om man vill kan man använda exakt samma byggmiljö som Arduino Uno, men jag har använt en kommandorads-gcc-byggmiljö istället för att få en renare miljö och mer kontroll och kan enkelt skriva i assembler.

Fördelen jämfört med raspberry pi är att man har mer kontroll, enklare miljö, något enklare att få full dokumentation. Nackdelen är att den är för liten för att kunna köra linux om man skulle vilja. Kan vara bra att bekanta sig med innan man börjar bygga egen hårdvara.

Min plan var (eller är?) att porta unix version 7 (alltså den historiska från 70-talet), men annat har kommit emellan...

Numera har det släppts en ny Arduino Zero med ARM Cortex M0+ CPU, 32 kb ram, 256 kb flash, något mindre kraftfull, men tycks finnas bättre möjlighet att debugga på låg nivå med en slags inbyggt jtag-funktionalitet utan dyra jtag-donglar.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Tips på ARM tutorials [LÖST]

Inlägg av lillahuset »

Jag vet ju inte vad du har för Cortex M3 men ST har ett antal olika utvärderingskort som är nästan gratis och innehåller SWD som du kan använda för att debugga andra kort.
http://www.digikey.com/product-detail/e ... ND/4357642
Skriv svar