1. Eingebettete Softwareebene 1) Bootloader->Bootloader Die Lade- und Startaufgaben des gesamten eingebetteten Systems werden vollständig an den Bootloader übergeben. Seine Hauptaufgabe besteht darin, das Kernel-Image von der Festplatte in den RAM zu lesen und dann zum Kernel-Eintrag zu springen, um den Kernel (Betriebssystem) zu starten! Einfach ausgedrückt besteht die Aufgabe des Bootloaders darin, die Hardware zu initialisieren und das Betriebssystem zu starten. U-BOOT ist der am häufigsten verwendete Bootloader. Nachdem Sie uboot in den NAND-Flash (ROM) der Entwicklungsplatine heruntergeladen haben, können Sie mit der Simulationssoftware Secure CRT erste Einstellungen auf der Entwicklungsplatine vornehmen. Einschließlich der Umgebungsvariablen, IP und anderer Einstellungen des Entwicklungsboards, die die Grundlage für den späteren Download des Kernels und das Laden des Dateisystems bilden. 2) Linux-Kernel Konfigurieren Sie unterschiedliche Systemkernel, um verschiedene Hardware- und Softwareanforderungen zu erfüllen. Generell basierend auf der bestehenden Kernel-Modifikation Kernel konfigurieren -> Kernel kompilieren -> Kernel installieren -> Kernel-Prozessdateien bereinigen (make clean) Konfigurieren Sie den Kernel: make menuconfig ARCH=arm Wählen Sie den erforderlichen Treiber und die Protokolldatei in der menübasierten interaktiven Oberfläche aus Kompilieren Sie den Kernel: make uImage(Kernelname) ARCH=arm CROSS_COMPILE=arm-linux- Installieren Sie den Kernel: Laden Sie uImage basierend auf uboot über den TFTP-Server „tftp uImage 20007fc0“ auf 20000fc0 (Startadresse der Entwicklungsplatine 210) herunter. 3) Dateisystem Einfach ausgedrückt ist ein Dateisystem eine Verzeichnisstruktur. Da die Geräte des Linux-Betriebssystems in Form von Dateien im System vorhanden sind, werden diese Dateien klassifiziert und verwaltet und es wird eine Schnittstelle für die Interaktion mit dem Kernel bereitgestellt, die eine bestimmte Verzeichnisstruktur bildet, nämlich das Dateisystem. Grundlegender Ablauf:
" make module ARCH=arm CROSS_COMPILE=arm-linux- " Kernelkompilierung " make module——install ARCH=arm INSTALL_MOD_PATH=/home/S5-/rootfs " Kopiere die Kerneldatei in das Root-Dateiverzeichnis
SecureCRT -> Konfigurieren Sie die Parameter der Entwicklungsplatine über uboot (NFS-Konfigurationselemente) -> Laden Sie den Linux-Kernel vom TFTP-Server herunter -> Führen Sie bootm 20007fc0 aus, um ihn zu mounten! 2. Gelegentliche Probleme 1. Eine Reihe von Problemen mit dem Ping des Entwicklungsboards 1) Aufbau der Modellstruktur: PC -> kabelgebundene Netzwerkkarte -> Router -> direktes Netzwerkkabel -> Netzwerkport der Entwicklungsplatine; 2) a. Stellen Sie die virtuelle Maschine auf den Bridge-Modus ein, um sicherzustellen, dass das externe Netzwerk die IP der virtuellen Linux-Maschine finden kann. b. Wenn der PC eine kabelgebundene Netzwerkkarte verwendet, wählen Sie Realtak USB (kabelgebundener Netzwerkanschluss) für den PC und den virtuellen Linux-Netzwerkadapter; c. Stellen Sie sicher, dass sich die IP-Adressen der virtuellen Linux-Maschine, des PCs und der Entwicklungsplatine im selben Netzwerksegment befinden. 3) Schalten Sie die Firewall der virtuellen Linux-Maschine und des PCs aus, damit der PC Linux und das Entwicklungsboard anpingen kann Nach Behebung des Hardware-Schnittstellenproblems ist eine Kommunikation möglich. 2. NFS-Mount-Problem Während der NFS-Montage können Probleme wie „Server antwortet nicht“ und „Root kann nicht montiert werden“ auftreten. Der Hauptgrund dafür sind Probleme mit den Einstellungsparametern und der Download-Adresse der NFS-Montage. Beispielsweise lautet die Downloadadresse von smart210 20007fc0 (nicht 20008000). NFS verwendet standardmäßig das UDP-Kommunikationsprotokoll. Die Mounting-Parameter können online gesucht werden. Probieren Sie es einfach ein paar Mal aus, dann gibt es kein Problem. Voraussetzung ist, dass der Linux-NFS-Server normal verwendet werden kann. Oben finden Sie alle wichtigen Informationen zum Einrichten der eingebetteten Linux-Entwicklungsumgebung und zum Lösen von Problemen mit Ping und NFS. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
>>: Anzeige der Tabellenliste für die Front-End-Anwendungsentwicklung von Vue Element
<meta name="viewport" content="B...
In diesem Artikel wird der spezifische JavaScript...
In diesem Artikelbeispiel wird der spezifische Co...
Ich habe vor Kurzem Front-End- und Back-End-Techn...
Nach dem Upgrade von MySQL auf Version 5.7 wurde ...
1. Es muss die InnoDB-Speicher-Engine verwendet w...
1 Laden Sie das komprimierte Paket der MySQL 5.6-...
Nur den oberen Rand anzeigen <table frame=above...
Integritätsbeschränkungen Integritätsbedingungen ...
1. Führen Sie zuerst die Select-Anweisung aus, um...
Die WEB-Entwicklung besteht hauptsächlich aus zwe...
Detaillierte Analyse der Iframe-Nutzung <iframe...
Mininet Mininet ist eine leichtgewichtige, softwa...
Wenn wir die Verschachtelungsregeln grundlegender...
In diesem Artikelbeispiel wird der spezifische Co...