Inhoudsopgave
Gebruik de build root-tool om RV1126 IMG-firmware te maken
Gebruik de build root-tool om het uitvoerbare bestand dat u hebt gecompileerd, in de firmware te verpakken (img-bestand)
Introduceer twee veelgebruikte methoden
Methode 1:
Plaats het gecompileerde uitvoerbare bestand in de map buildroot/board/rockchip/rv1126_rv1109/fs-overlay-sysv/etc/init.d van de sdk, en alles compileren en verpakken.
Bijvoorbeeld, hier heb ik het gecompileerde uitvoerbare bestand test-app in de directory geplaatst
- volgende, Je hoeft alleen maar de volledige firmware opnieuw te compileren
Het commando om firmware te compileren is
- Na het compileren. U ziet de test-app, dit uitvoerbare bestand, in de map /etc/init.d aan het borduiteinde.
Dan kun je het uitvoeren, of kopieer het naar een andere map en voer het uit.
Deze methode is de eenvoudigste en meest aanbevolen
Methode 2:
Volg de SDK-compilatieregels en voeg uw eigen programma toe aan buildroot.
1) Voeg test.c-bestand toe
In de broncodedirectory, maak uw eigen APP-map met de volgende opdracht:
$mkdir-app/mytest
De hardloopresultaten worden weergegeven in de onderstaande afbeelding:
U kunt uw eigen APP-programma maken in de map mytest. Hier zal ik een testcode van test.c maken, voorbeeld
De code is als volgt
Nog steeds, in de map mytest, maak een Makefile die het test.c-programma compileert. De voorbeeldcode is als volgt:
Het creatieresultaat is voltooid, zoals weergegeven in de onderstaande afbeelding:
2) Toevoegen aan menuconfiguratie
Bij het configureren van het buildroot-pakket, iedereen moet het inschakelen op de grafische configuratie-interface, dus onze
De APP moet ook een optie genereren. Onder de broncode van het SDK-pakket, open de “buildroot/pakket/Config.in” het dossier.
Spring naar de laatste “eindmannen” en voeg de volgende voorbeeldcode toe (Notitie: het moet vóór het laatste eindmenu van dit bestand staan
Toevoegen aan). De code ziet er zo uit:
Het resultaat van de toevoeging wordt hieronder weergegeven:
Nr. 2061 Oké, het wordt gebruikt in zijn aangehaalde geciteerde”pakket/mytest/config.in ”bestand, Dus we moeten creëren
Om dit bestand te maken, De opdracht is als volgt:
$mkdir buildRoot/pakket/mytest/
Na het maken van de map (MyTest is de naam van het pakketpakket onder BuiltRoot), We moeten de Mytest -directory maken
“Config.in” het dossier, De inhoud is als volgt:
Het resultaat van de toevoeging wordt hieronder weergegeven:
- App -versie en compilatieregels
In de vorige sectie, We hebben app toegevoegd aan de configuratie -opties. Momenteel, BuiltRoot weet nog steeds niet hoe
Download, extract, compileren, enz., We moeten een configuratiebestand toevoegen om BuiltRoot te vertellen hoe te werken, En we moeten creëren “buildRoot/
pakket/mytest/mytest.mk”, de naam moet mytest.mk zijn. Kopieer de volgende voorbeeldcode naar mytest.mk
Voorbeeldcode mytest.mk code
Dit bestand vertelt BuiltRoot hoe te compileren, downloaden, kopiëren, enz. Alle gemapitaliseerde macro's beginnen met “Mytest”
De koptekst wordt bepaald op basis van de naam van ons pakket.
In de rij 1, De variabele aan het einde van _version is de broncodeversie.
In de rij 2, De variabele aan het einde van _site is het adres van de broncode -download.
In de rij 3, De variabele aan het einde van _site_method is de downloadmethode van de broncode, en lokale betekent lokale download.
Lijnen 4 en 10 ~ 12 voert de installatie automatisch uit en kopieer de bestanden die onze mytest in de bin -map kan worden uitgevoerd.
Lijn 6, De variabelen aan het einde van _build_cmds worden uitgevoerd wanneer het BuiltRoot -framework wordt samengesteld, en worden gebruikt om M toe te voegen aan de broncode.
Akefile geeft compilatie -opties en koppelingsopties door en roept Makefile van de broncode aan.
Regels 14 ~ 16 geven machtigingen aan het bestand.
Lijn 18, Deze functie bouwt het hele .mk -bestand in een script.
Binnenkomen
buildRoot/output/rockchip_rv1126_rv1109_spi_nand
Voer Make Menuconfig uit
Draai aan MyTest
Nadat de configuratie is voltooid, We kunnen testen of onze mytest kan worden samengesteld, in buildRoot/output/rockchip_rv1126_rv1109_spi_nand
Te testen in de map, De opdracht is als volgt:
$MAAK MYTEST
De hardloopresultaten worden weergegeven in de onderstaande afbeelding:

Een vraag stellen
Bedankt voor je reactie. ✨