Tartalomjegyzék:
- 1. lépés: DOLGOK BEÁLLÍTÁSA/TÖLTÉS
- 2. lépés: ÁRAMKÖR
- 3. lépés: BOOTABLE Mini SD
- 4. lépés: ELLENŐRIZZE a Mini SD -t
- 5. lépés: KÓD1
- 6. lépés: CODE2: Turn_Led_ON
Videó: Csupasz fém Raspberry Pi 3: Villogó LED: 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Kövesse a szerző további információit:
Körülbelül:.oO0Oo. További információ a moldypizza -ról »
Üdvözöljük a BARE METAL pi 3 villogó LED bemutatójában!
Ebben az oktatóanyagban végigjárjuk a lépéseket az elejétől a végéig, hogy egy LED villogjon egy Raspberry PI 3, egy kenyérlap, egy ellenállás, egy led és egy üres SD -kártya segítségével.
Tehát mi az a BARE METAL? A BARE METAL nem sallang programozás. A csupasz fém azt jelenti, hogy teljes mértékben mi irányítjuk, hogy a számítógép mit fog tenni. Ez tehát alapvetően azt jelenti, hogy a kódot az összeállításban, az élesítési utasításkészlet segítségével írják le. A végére létrehoztunk egy programot, amely villogni kezd egy LED -et, elérve a Raspberry Pi egyik GPIO lábának fizikai címét, és konfigurálva a kimenetet, majd be- és kikapcsolva. Ennek a projektnek a kipróbálása nagyszerű módja annak, hogy elkezdjük a beágyazott programozást, és remélhetőleg jobban megértsük a számítógép működését.
Mire van szükséged?
Hardver
- Málna PI 3
- SD-kártya, előre telepített rendszerindító képpel
- Kenyeretábla
- Férfi Női jumper vezetékek
- Férfi Férfi jumper vezetékek
- VEZETTE
- 220 ohmos ellenállás (nem kell pontosan 220 ohm, a legtöbb ellenállás működik)
- mini sd kártya
- mini sd kártya, előre telepítve málna pi operációs rendszerrel (általában a pi -vel együtt)
Szoftver
- GCC fordító
- GNU beágyazott eszköztár
- szöveg szerkesztő
- sd kártya formázó
Rendben, kezdjük el!
1. lépés: DOLGOK BEÁLLÍTÁSA/TÖLTÉS
Oké… az első lépés a hardver megszerzése. Az alkatrészeket külön is megvásárolhatja, vagy van egy készlet, amely több mint elegendő alkatrészt tartalmaz. LINK
Ez a készlet mindent tartalmaz, ami a málna pi 3 és több beállításához szükséges! az egyetlen dolog, ami nem szerepel ebben a készletben, egy extra mini sd kártya. Várjon! Ne vásároljon még egyet. Ha nem tervezi a kártyára előre betöltött linux telepítés használatát, akkor csak másolja át a mellékelt mini sd kártya tartalmát későbbre, és formázza újra a kártyát (erről később). FONTOS MEGJEGYZÉS: ügyeljen arra, hogy a fájlokat a mellékelt kártyán őrizze meg, és később szükségük lesz rájuk!
A következő lépés a szoftver beállítása. Ez az oktatóanyag nem tartalmaz részletes utasításokat a szoftver telepítéséhez. Az interneten sok forrás és oktatóanyag található ezek telepítésére:
WINDOWS FELHASZNÁLÓK:
Töltse le és telepítse a gcc -t
Ezután töltse le és telepítse a GNU ARM beágyazott eszköztárat
LINUX/MAC
- A Linux disztribúciókhoz előre telepített gcc tartozik
- Töltse le és telepítse a GNU ARM beágyazott eszköztárat.
Rendben, tehát ha minden jól megy, akkor képesnek kell lennie megnyitni a terminált (linux/mac) vagy a cmd sort (Windows), és megpróbálni gépelni
kar-nincs-eabi-gcc
A kimenetnek hasonlónak kell lennie az első képhez. Ez csak annak ellenőrzése, hogy helyesen van -e telepítve.
Rendben, most, hogy az előfeltételek nem állnak rendelkezésre, ideje elkezdeni a szórakoztató dolgokat.
2. lépés: ÁRAMKÖR
Köridő! Ennek áramköre egyszerű. Csatlakoztatunk egy led -et a GPIO 21 -hez (40 -es tű) a pi -n (lásd a 2. és 3. képet). Egy ellenállás is sorba van kötve, hogy megakadályozza a led sérülését. Az ellenállás a kenyértáblán lévő negatív oszlophoz lesz csatlakoztatva, amely a GND -hez (39. láb) csatlakozik. A LED csatlakoztatásakor feltétlenül csatlakoztassa a rövid végét a negatív oldalhoz. Lásd az utolsó képet
3. lépés: BOOTABLE Mini SD
Három lépésben lehet elérni, hogy a pi 3 felismerje az üres mini sd kártyát. Meg kell találnunk és másolnunk kell a bootcode.bin, start.elf és fixup.dat fájlokat. Ezeket a fájlokat a mellékelt mini sd -kártyán szerezheti be, ha megvásárolta a canakit -ot, vagy készít egy indítható sd -kártyát a pi 3 -hoz linuxos elosztással. Akárhogy is, ezek a fájlok szükségesek ahhoz, hogy a pi felismerje az SD -kártyát indítható eszközként. Ezután formázza a mini sd -t fat32 -be (a legtöbb mini sd -kártya fat32 -ben van formázva. Olcsó mini sd -kártyát használtam a sandisk -ból), helyezze át a bootcode.bin, start.elf, fixup.dat fájlt az sd -kártyára. És kész! Még egyszer, és a képek sorrendjében a lépések a következők:
- Keresse meg a bootcode.bin, start.elf, fixup.dat fájlt.
- Győződjön meg róla, hogy az SD -kártya fat32 formátumú.
- Mozgassa a bootcode.bin, start.elf és fixup.dat fájlokat a formázott sd kártyára.
Ezt így találtam ki, link.
4. lépés: ELLENŐRIZZE a Mini SD -t
Rendben, van egy indítható mini sd kártya, és remélhetőleg ezen a ponton van pi 3. Tehát most tesztelnünk kell, hogy megbizonyosodjunk arról, hogy a pi 3 felismeri a mini sd kártyát indíthatóként.
A pi -n, a mini usb port közelében két kis led van. Az egyik vörös. Ez a teljesítményjelző. Amikor a pi áramot kap, ennek a lámpának világítania kell. Tehát ha most csatlakoztatja a pi -t mini sd kártya nélkül, akkor pirosan kell világítania. Rendben, most húzza ki a pi -t, és tegye be az előző lépésben létrehozott indítható mini sd -kártyáját, és csatlakoztassa a pi -t. Lát egy másik fényt? Közvetlenül a piros mellett zöld jelzőfénynek kell lennie, amely azt jelzi, hogy az SD kártyát olvassa. Ezt a ledet ACT lednek hívják. Akkor világít, ha életképes SD -kártyát helyez be. Villogni fog, amikor a mini sd kártyához fér hozzá.
Oké, tehát két dolognak kellett volna történnie, miután behelyezte a bootolható mini sd kártyát és csatlakoztatta a pi -t:
- A piros LED -nek világítania kell, jelezve a tápellátást
- A zöld LED -nek világítania kell, jelezve, hogy betöltődött a mini sd kártyára
Ha valami nem sikerült, ismételje meg az előző lépéseket, vagy kattintson az alábbi linkre további információkért.
A link itt jó referencia.
5. lépés: KÓD1
Ez a projekt ARM összeállítási nyelven íródott. Ebben az oktatóanyagban feltételezzük az ARM összeállítás alapvető ismereteit, de itt van néhány dolog, amit tudnia kell:
.equ: értéket rendel egy szimbólumhoz, azaz abc.equ 5 abc most ötöt jelent
- ldr: memóriából töltődik be
- str: memóriába ír
- cmp: két értéket hasonlít össze kivonással. Zászlókat állít be.
- b: ág a címkéhez
- add: számtant végez
Ha nincs tapasztalata a kar szerelésével kapcsolatban, nézze meg ezt a videót. Ez jól fogja érteni a kar szerelési nyelvét.
Rendben, most van egy áramkörünk, amely a málna pi 3 -hoz van csatlakoztatva, és van egy sd -kártyánk, amelyet a pi felismer, így a következő feladatunk az, hogy kitaláljuk, hogyan léphetünk kapcsolatba az áramkörrel a pi betöltésével egy futtatható programmal. Általában azt kell tennünk, hogy meg kell mondanunk a pi -nek, hogy feszültséget adjon ki a GPIO 21 -ből (a piros vezetékhez csatlakoztatott érintkező). Ezután szükség van egy módra, hogy kapcsoljuk a ledet, hogy villogjon. Ehhez további információkra van szükségünk. Ezen a ponton fogalmunk sincs, hogyan mondhatjuk a GPIO 21 -nek a kimenetet, ezért el kell olvasnunk az adatlapot. A legtöbb mikro-vezérlő rendelkezik adatlappal, amely pontosan meghatározza, hogyan működik minden. Sajnos a pi 3 -nak nincs hivatalos dokumentációja! Van azonban egy nem hivatalos adatlap. Itt van két link hozzá:
- github.com/raspberrypi/documentation/files…
- web.stanford.edu/class/cs140e/docs/BCM2837…
Rendben, ezen a ponton tartson néhány percet, mielőtt a következő lépésre lépne, és nézze át az adatlapot, és nézze meg, milyen információkat talál.
6. lépés: CODE2: Turn_Led_ON
A málna pi 3 53 regisztrál a kimeneti/bemeneti érintkezők (perifériák) vezérlésére. A csapok össze vannak csoportosítva, és minden csoport hozzá van rendelve egy regiszterhez. A GPIO esetében hozzá kell férnünk a SELECT regiszterhez, a SET regiszterhez és a CLEAR regiszterekhez. Ezekhez a nyilvántartásokhoz való hozzáféréshez szükségünk van a nyilvántartások fizikai címére. Az adatlap olvasásakor csak a cím eltolását (lo bájt) szeretné megjegyezni, és hozzáadni az alapcímhez. Ezt meg kell tennie, mert az adatlap felsorolja a linux virtuális címét, amelyek alapvetően az operációs rendszerek által hozzárendelt értékek. Nem operációs rendszert használunk, ezért közvetlenül hozzá kell férnünk ezekhez a nyilvántartásokhoz a fizikai cím használatával. Ehhez a következő információkra van szüksége:
- Perifériák alapcíme: 0x3f200000. A pdf (6. oldal) azt mondja, hogy az alapcím 0x3f000000, azonban ez a cím nem fog működni. Használjon 0x3f200000
- A FSEL2 eltolása (SELECT) nem a regiszter teljes címe. A pdf felsorolja az FSEL2 -t 0x7E20008 -ban, de ez a cím a linux virtuális címére vonatkozik. Az eltolás ugyanaz lesz, ezért ezt szeretnénk megjegyezni. 0x08
- A GPSET0 (SET) eltolása: 0x1c
- GPCLR0 eltolása (CLEAR): 0x28
Tehát valószínűleg észrevette, hogy az adatlap 4 SELECT regisztert, 2 SET regisztert és 2 CLEAR regisztert tartalmaz, akkor miért választottam azokat, amelyeket tettem? Ennek oka az, hogy a GPIO 21 és a FSEL2 vezérlőket szeretnénk használni a GPIO 20-29, a SET0 és a CLR0 vezérlőket a GPIO 0-31. Az FSEL regiszterek három bitet rendelnek minden GPIO -pinhez. Mivel FSEL2-t használunk, ez azt jelenti, hogy a 0-2 bitek vezérlik a GPIO 20-at, és a 3-5 bitek a GPIO 21-et és így tovább. A Set és a CLR regiszterek egyetlen bitet rendelnek minden tűhöz. Például a SET0 és a CLR0 0. bitje vezérli a GPIO 1 -et. A GPIO 21 vezérléséhez a SIT0 és a CLR0 21. bitjét kell beállítani.
Oké, szóltunk arról, hogyan lehet hozzáférni ezekhez a nyilvántartásokhoz, de mit jelent mindez?
- A FSEL2 regiszter a GPIO 21 kimenetre állítására szolgál. Ahhoz, hogy egy tűt kimenetre állítson, a három bit lo sorrendjét 1-re kell állítani. Tehát ha a 3-5-ös bitek vezérlik a GPIO 21-et, akkor azt kell megadnunk, hogy az első bitet, a 3-as bitet 1-re kell állítanunk. hogy a GPIO 21 -et szeretnénk kimenetként használni. Tehát ha megnézzük a GPIO 21 3 bitjét, akkor ezeknek így kell kinézniük, miután kimenetre állítottuk, b001.
- A GPSET0 azt mondja a pi -nek, hogy kapcsolja be a csapot (feszültséget ad ki). Ehhez csak a kívánt GPIO tűnek megfelelő bitet kapcsoljuk át. A mi esetünkben a 21. bit.
- A GPCLR0 azt mondja a pi -nek, hogy kapcsolja ki a csapot (nincs feszültség). A tű kikapcsolásához állítsa a bitet a megfelelő GPIO tűre. Esetünkben a 21 -es bit
Mielőtt a villogó LED -hez érnénk, először készítsünk egy egyszerű programot, amely egyszerűen bekapcsolja a LED -et.
A kezdéshez két irányelvet kell hozzáadnunk a forráskódunk tetejéhez.
- .szakasz.init megmondja a pi -nek, hogy hová tegye a kódot
- .global _kezdje
Ezután el kell helyeznünk az összes használni kívánt címet. Az.equ használatával olvasható szimbólumokat rendelhet az értékekhez.
- .equ GPFSEL2, 0x08
- .equ GPSET0, 0x1c
- .equ GPCLR0, 0x28
- .equ BASE, 0x3f200000
Most maszkokat készítünk a beállítandó bitek beállításához.
- .equ SET_BIT3, 0x08 Ezzel beállítja a harmadik bitet 0000_1000
- .equ SET_BIT21, 0x200000
Ezután hozzá kell adnunk a _start címkét
_Rajt:
Töltse be az alapcímet a regiszterbe
ldr r0, = BÁZIS
Most be kell állítanunk a GPFSEL2 bitjét 3
- ldr r1, SET_BIT3
- str r1, [r0, #GPFSEL2] Ez az utasítás azt írja, hogy írja vissza a 0x08 bitet a GPFSEL2 címére
Végül be kell kapcsolnunk a GPIO 21 -et úgy, hogy beállítjuk a 21. bitet a GPSET0 regiszterben
- ldr r1, = SET_BIT21
- str r1, [r0, #GPSET0]
A végterméknek a képen láthatónak kell lennie.
A következő lépés a kód fordítása és egy.img fájl létrehozása, amelyet a pi futtathat.
- Töltse le a csatolt makefile -t és a kernel.ld fájlt, és ha szeretné a turn_led_on.s forráskódot.
- Tegye az összes fájlt ugyanabba a mappába.
- Ha saját forráskódját használja, szerkessze a makefile -t, és cserélje le a = turn_led_on.s kódot a =.s kódra.
- Mentse a makefile -t.
- A terminál (linux) vagy a cmd ablak (Windows) segítségével navigáljon a fájlokat tartalmazó mappához, és írja be a make és nyomja le az enter billentyűt
- A make fájlnak létre kell hoznia egy kernel.img nevű fájlt
- Másolja a kernel.img fájlt a mini sd kártyára. A kártyák tartalma a képen látható legyen (3. kép): bootcode.bin, start.elf, fixup.dat és kernel.img.
- Vegye ki a mini sd kártyát, és helyezze be a pi -be
- Csatlakoztassa a pi -t az áramforráshoz
- A LED -nek világítania kell !!!
KÖNNYEN FONTOS MEGJEGYZÉS: Nyilvánvalóan az utasításoknak problémája volt azzal, hogy a makefile nem rendelkezik kiterjesztéssel, ezért újra feltöltöttem.txt kiterjesztéssel. Kérjük, távolítsa el a bővítményt, amikor letölti, hogy megfelelően működjön.
Ajánlott:
Tesztelje a csupasz Arduino -t, játék szoftverrel kapacitív bemenet és LED segítségével: 4 lépés
Tesztelje a csupasz Arduino-t, játék szoftverrel kapacitív bemenetet és LED-et használva: " Push-It " Interaktív játék puszta Arduino táblával, nincs szükség külső alkatrészekre vagy kábelezésre (kapacitív érintéses bemenetet használ). A fenti ábra azt mutatja, hogy két különböző táblán fut. Push-Két célja van. Gyorsan bemutatni/v
Csupasz minimum - Arduino a kenyértáblán: 5 lépés
Csupasz minimum - Arduino a kenyértáblán: Az Arduino az ATMega328p chipet használja. Ezt megkaphatjuk SMD formátumban (ATMega328p-AU) vagy DIP formátumban a mélyedéses forrasztáshoz (ATMega328p-PU). De a chip önmagában nem működik. Még néhány komponensre van szüksége, és mindezt csupasznak nevezik
WALL-E fém robottartály alvázának telepítési útmutatója: 3 lépés
WALL-E fém robottartály alvázának telepítési útmutatója: ez egy fém robot tartály alváz, amely alkalmas robottartály készítésére. ilyen Arduino robot. könnyű és erős alumíniumötvözetből készült. SINONING készítette a DIY játék boltjában
Raspberry Pi nyomógomb LED -ekkel Csupasz fém: 8 lépés
Raspberry Pi nyomógomb LED -ekkel Bare Metal: Ez a második oktatóanyagom a málna pi 3 csupasz fém programozásáról! Nézd meg itt az elsőt. Múltkor megmutattam, hogyan kell létrehozni egy operációs rendszerképet a málna pi 3 számára, amely egyetlen ledet villogott, ebben az oktatóanyagban megmutatom, h
Interaktív művészet csupasz konduktív és sminkes sminkkel: 10 lépés
Interaktív művészet csupasz konduktív és sminkes sminkkel: Használjon takarékos üzletfestményt a művészet életre keltéséhez. Alkatrészek: Csupasz vezetőképes tinta Makey Makey Különböző méretű pulóverek Takarékossági bolt Festmény (vagy más művészet) Eszközök: Laptop Soundplant szoftver szalag