Taula de continguts:
- Pas 1: baixeu Sunxi-tools
- Pas 2: descomprimiu el codi font
- Pas 3: descarregueu el codi:: blocs
- Pas 4: proveu el vostre IDE
- Pas 5: completar la prova
- Pas 6: Creeu un projecte nou
- Pas 7: afegiu fitxers al projecte
- Pas 8: Feu que Gcc segueixi la norma de llenguatge ISO C del 1999
- Pas 9: cerqueu la dependència que falta
- Pas 10: desempaqueteu el Mman
- Pas 11: i afegiu-los al projecte
- Pas 12: camí correcte
- Pas 13: Exorcisme
- Pas 14: NOTES
Vídeo: Orange PI HowTo: Compilar l'eina Sunxi per a Windows amb Windows: 14 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
PREQUISITS:
Necessitarà
- Un ordinador (d'escriptori) amb Windows.
- Una connexió a Internet.
- Una pissarra de color taronja.
L'últim és opcional, però estic segur que ja el teniu. En cas contrari, no llegireu aquesta instrucció.
Quan compreu l’ordinador de placa única Orange PI, queda només un tros de metall mort fins que es configuri correctament. I el seu fitxer de configuració principal: "script.bin" és la primera clau per donar-li vida. Aquest fitxer es troba a la partició d’arrencada de la vostra targeta SD d’arrencada. I per sort per a nosaltres, a la majoria de distribucions de Linux des del lloc oficial (https://www.orangepi.org/downloadresources/) aquesta partició és FAT32 i es pot veure fàcilment en qualsevol equip Windows. Realment simplifica les coses, ja que encara no hi ha cap manera fiable d’escriure a les particions Linux ext2 des de sota del Windows.
Per desgràcia per a nosaltres, el fitxer de configuració script.bin té un format binari totalment poc amigable per a l'edició humana. Es necessita algun tipus d'eina de programari per desxifrar-la i tornar-la a criptar després de fer les modificacions necessàries. I aquest conjunt d’eines existeix. És infame SUNXI-TOOLS. La tesi de l’ungüent és que està pensat per funcionar sota Linux i hem de conservar una màquina Linux dedicada només per utilitzar les eines sunxi o bé trobar una manera de compilar-les per a Windows.
Simplement podria compilar-lo i compartir l’executable, però mai se sap si els agradaria fer una versió nova i necessitareu una nova compilació el més aviat possible. Així que vaig decidir fer una guia per compilar l’eina essencial a partir de les fonts. Comencem.
Pas 1: baixeu Sunxi-tools
Obteniu la versió més recent (o necessària) del codi font sunxi-tools. Aneu a l'URL: https://github.com/linux-sunxi/sunxi-tools/releases i trieu la descàrrega com a arxiu zip.
Pas 2: descomprimiu el codi font
Un cop finalitzada la descàrrega, descomprimiu el codi font a la carpeta que trieu. (A més, assumiré que aquesta carpeta és c: / sunxitools \, així que substituïu aquest camí pel vostre camí).
Pas 3: descarregueu el codi:: blocs
Si teniu instal·lada una còpia d'algun compilador de c ++ operatiu per a Windows. i si sabeu utilitzar-lo, podeu passar directament al pas 3. Altres haurien d'obtenir un compilador de c ++ adequat i un intèrpret d'ordres (IDE) per utilitzar-lo còmodament. L’elecció meva és code:: blocks per a Windows juntament amb la cadena d’eines MinGW preinstal·lada. Podeu obtenir-lo des d’aquí:
Baixeu-lo i instal·leu-lo.
Pas 4: proveu el vostre IDE
Per comprovar si les coses van bé, inicieu els blocs de codi, feu clic a "crea un projecte nou", trieu "aplicació de consola", trieu c o c ++, escriviu el títol del projecte de pagament, mantingueu els valors predeterminats intactes a la finestra següent i feu clic a "finalitza" ".
Pas 5: completar la prova
A continuació, feu clic a un triangle verd al tauler superior de l'IDE o utilitzeu el punt del menú Construeix> Executa. Si les coses van anar bé, hauríeu de veure un missatge de la vostra aplicació "Hello world" autogenerada a la finestra negra "DOS".
Si no, vol dir que l'IDE i el compilador no funcionen correctament i que haureu d'investigar com ajustar-lo bé. Probablement haureu de descarregar una altra versió de les eines de programació o comprovar-ne els permisos al vostre tallafoc / antivirus.
Pas 6: Creeu un projecte nou
Ara hauríeu de tenir un conjunt d'eines de programador C / C ++ operatiu i els codis font de sunxi-tools desempaquetats a la carpeta c: / sunxitools / de l'ordinador. És hora de muntar un projecte. Creeu un projecte nou al vostre IDE. Trieu el projecte normal C (no c ++) del tipus "aplicació de consola".
Assegureu-vos que esteu creant el projecte a la carpeta c: / sunxitools / i no en cap altre lloc. (Els blocs de codi EG tendeixen a crear una subcarpeta amb el mateix nom que el projecte. Per tant, si heu anomenat el vostre projecte, digueu "prova" i intenteu col·locar-lo a c: / sunxitools \, podeu acabar amb el projecte desaparegut). a c: / sunxitools / test / si no esteu prou atent.) Sunxi-tools conté diverses utilitats, però per al nostre propòsit només en necessitarem una: l'anomenada utilitat "fexc".
Pas 7: afegiu fitxers al projecte
La utilitat exactament "fexc" és responsable de la conversió de l'script.bin en format de text i de la conversió posterior en binari. És essencial que l'executable d'aquesta utilitat tingui el nom "fexc.exe", de manera que és bo si heu anomenat el vostre projecte com "fexc". Tanmateix, podeu utilitzar qualsevol altre nom del projecte, ja que sempre podeu canviar el nom de l'executable després de la compilació, o bé Podeu triar "Projecte-> Propietats" al menú desplegable superior i, a la finestra que apareix, feu clic a la pestanya "Construeix objectius", i editeu-hi el camp "Nom de fitxer de sortida" per substituir el nom de l'executable.
Al vostre projecte autogenerat, només heu d'afegir cinc fitxers font:
- fexc.c
- script.c
- script_bin.c
- script_fex.c
- script_uboot.c
i set fitxers de capçalera:
- list.h (moveu-lo al formulari c: / sunxitools / include / folder a la carpeta c: / sunxitools)
- fexc.h
- script.h
- script_bin.h
- script_fex.h
- script_uboot.h
- versió.h
Assegureu-vos d'excloure el main.c autogenerat del projecte, perquè fexc.c ja té la funció "int main". (Recordeu que qualsevol programa només hauria de tenir una funció principal?).
Tots els fitxers de codi font necessaris ja es troben a la subcarpeta, on heu descomprimit els codis font. Els fitxers de capçalera mereixen un parell de paraules, on obtenir-los. "list.h": normalment es troba a la subcarpeta "include" del conjunt de codis font desempaquetats. "version.h": només cal que el creeu vosaltres mateixos. Posa-hi una cadena com:
#define VERSIÓ "Win32"
A continuació, deseu i tanqueu el fitxer. (Podeu decorar-lo amb # define's i # ifdef's si voleu.)
Si ara intenteu compilar el projecte, es queixarà de molts errors i falta un fitxer. Els errors es deuen principalment a una mica d’excessiva llibertat d’estil, als programadors de sunxi-tools que solien aplicar i el fitxer que falta és la dependència que no s’inclou al paquet del codi font. Anem a tractar-ho pas a pas.
Pas 8: Feu que Gcc segueixi la norma de llenguatge ISO C del 1999
Perquè el compilador no es queixi de l'estil de programació massa lliure, configureu l'estàndard "с99" de la compilació. Als blocs de codis, aneu al menú "Projecte -> Opcions de compilació" i al menú "Configuració del compilador -> Banderes del compilador" marqueu la casella de selecció "Feu que gcc segueixi l'estàndard de llenguatge ISO C del 1999". O només podeu afegir "-std = c99" a la vostra cadena d'opcions del compilador. Ara, si intenteu compilar el projecte, haurien de començar aquestes tones d'errors i sou un a un amb la dependència que falta.
Pas 9: cerqueu la dependència que falta
La dependència que falta és el fitxer "mman.h": la capçalera d'algun tipus de gestor de memòria Linux. El Windows C no té nativament aquest fitxer, però afortunadament hi ha un port de Windows. Aneu a https://github.com/witwall/mman-win32 per a Windows. Baixeu la instantània del repositori git.
Pas 10: desempaqueteu el Mman
Desempaqueteu els fitxers mman.c i mman.h, col·loqueu-los a la carpeta c: / sunxitools \.
Pas 11: i afegiu-los al projecte
Pas 12: camí correcte
I al fitxer "fex.c" línia raplece:
#incloure
fins al
#include "mman.h"
En aquest pas, el vostre compilador no s'ha de queixar de res i obtindreu la llarga espera fexc.exe com a sortida. No siguis feliç massa aviat. La utilitat encara no és completament funcional. Podeu assegurar-ho descifrant algun fitxer script.bin vàlid al formulari de text - fitxer script.fex amb el consegüent xifratge del fitxer script.fex al script.bin. Podeu tenir en compte que la mida del script.bin resultant difereix lleugerament de la mida del script.bin original. I si intenteu desxifrar el resultat resultant una vegada més, fallarà. Tampoc l'Orange PI funcionarà amb aquest script.bin. Per obtenir la utilitat funcional hem de descarregar una bomba de codi que algú ha posat al codi font de sunxi-tools. Serà el nostre següent pas.
Pas 13: Exorcisme
Per descarregar el codi bomba, obriu el fitxer de codi fexc.c i trobeu-hi una cadena de text del següent contingut:
else if ((fora = obert (nom de fitxer, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
Només cal substituir-lo per la següent cadena:
else if ((fora = obert (nom de fitxer, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
Si no, els dígits malignes "666" de la primera cadena, crec que el codificador acaba d'oblidar-se d'utilitzar el senyalador O_BINARY. Però el número de la bèstia clarifica les seves intencions de manera transparent. Vaja, que enginyós és: a causa de la subtil diferència en com es processen els fitxers a Windows i Linux, la bomba no té cap efecte quan la utilitat es compila i s’utilitza sota Linux. Però ho arruïna tot quan s’utilitza la utilitat a Windows.
Després de desarmar la bomba, finalment podeu compilar i utilitzar amb seguretat la utilitat fexc a l'ordinador d'escriptori Windows.
Pas 14: NOTES
1) Per utilitzar la utilitat fexc còmodament, hauríeu d'obtenir dos fitxers per lots:
bin2fex.bat - i - fex2bin.bat.
Podeu obtenir-los amb algunes versions fexc.exe fallides per a Windows o bé podeu escriure-les:
- bin2fex.bat ha de contenir "fexc -I bin -O fex script.bin script.fex"
- fex2bin.bat ha de contenir "fexc -O bin -I fex script.fex script.bin"
2) Si és difícil trobar l'administrador de mman per a Windows, en podeu evitar l'ús. Tanmateix, es necessita molta més edició del fitxer fexc.c i requereix almenys alguns coneixements de c. Per la vostra conveniència, comparteixo el codi font editat del fexc des de sunxi-tools v1.4 lliure de la dependència a mman.h juntament amb el fitxer de projecte codeblocks i amb un script script.bin d’exemple d’alguns pi taronja. Podeu descarregar fexc_nomman.zip
3) És possible que en les consegüents versions de sunxi-tools afegeixin algunes dependències més. No dubteu a trobar-los a Internet i afegir-los al vostre projecte de compilació.
5) Finalment, aquí teniu la versió precompilada de fexc.exe per a Win32:
fexc_nomman.zip
Si teniu prou mandra, no dubteu a utilitzar ver. Tingueu en compte, però, que no s’actualitzarà si / quan estiguin disponibles les versions més recents de SunxiTools / Windows. Per tant, és millor aprendre a compilar-los que dependre d’alguna compilació binària fixa, suposo.
4) El "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner", etc … són marques comercials corresponents dels seus respectius propietaris.
5) Si el compilador es queixa de no trobar funcions mman, com ara:
referència no definida a "_imp_mmap"
tingueu en compte que definiu els amants de la comunitat de desenvolupament mman que han oblidat que el codi es pot compilar no només com a biblioteca dll. També pot ser una biblioteca estàtica o un codi independent com el que tenim aquí. Per solucionar el problema, editeu el fitxer "mman.h" de la següent manera:
a) cerqueu les cordes:
#if definit (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
b) afegiu la cadena
#define MMANSHARED_EXPORT
just a sota de les cadenes trobades al pas anterior
Recomanat:
Feu una eina de polidora per a màquines de trepar: recàrrega fàcil: 3 passos (amb imatges)
Feu una eina de polir per a màquines de trepar: recàrrega fàcil: Hola, en aquesta instrucció, aprendreu a fer una eina de polir desmuntable molt senzilla per a totes les màquines de trepar. El projecte és tan senzill que es pot fer en menys d’un minut sense cap coneixement profund sobre eines i maquinària. Aplicacions: Fusta
Kahoot! Eina web 2.0: instruccions per a la realització de proves per a professors: 10 passos
Kahoot! Eina Web 2.0: instruccions per a la realització de qüestionaris per als professors: la següent instrucció està destinada a mostrar als professors com utilitzar la funció de creació de qüestionaris per a l'eina Web 2.0, Kahoot! Kahoot! es pot utilitzar com a eina de jocs digitals per revisar i avaluar els coneixements dels continguts dels estudiants en diverses matèries i
Reggie: una eina intuïtiva per a portes no intuitives: 5 passos (amb imatges)
Reggie: una eina intuïtiva per a portes no intuitives: Reggie és una eina senzilla per burlar-se de manera lúdica del disseny de la porta poc intuïtiu. Fes el teu. Porteu-ne una amb vosaltres i, quan us trobeu amb aquesta porta, feu-la copejar. Portes etiquetades amb un " push " o " estirar " el signe normalment ressalta casos d'ús.R
Orange PI HowTo: configureu-lo per utilitzar-lo amb una pantalla LCD TFT HDMI de 5 ": 8 passos (amb imatges)
Orange PI HowTo: configureu-lo per fer-lo servir amb una pantalla LCD TFT HDMI de 5 ": si teniu la suficient prudència per demanar una pantalla LCD TFT HDMI junt amb la vostra Orange PI, probablement us desanimaràs per les dificultats per intentar forçar-lo a funcionar Mentre que d'altres ni tan sols podrien notar cap obstacle, la clau és que hi hagi
Orange PI HowTo: configureu-lo per utilitzar-lo amb pantalla de retrovisió del cotxe i adaptador HDMI a RCA: 15 passos
Orange PI HowTo: Configureu-lo per utilitzar-lo amb pantalla de retrovisió del cotxe i adaptador HDMI a RCA: PREFACIÓ. Sembla que tots els altres fan servir un monitor o un televisor gran o fins i tot més gran amb una ximple targeta Orange PI. I sembla una mica excessiu quan està pensat per a sistemes incrustats. Aquí necessitem quelcom petit i econòmic. Com un