Lösungen zum Erstellen von Ping und NFS in einer eingebetteten Linux-Entwicklungsumgebung

Lösungen zum Erstellen von Ping und NFS in einer eingebetteten Linux-Entwicklungsumgebung

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:

  • a. Legen Sie das Stammdateisystemverzeichnis rootfs und die internen Speicherdateiverzeichnisse bin, dev, lib, sbin, sys, usr, mnt usw. fest.
  • b. Fügen Sie dem Dateisystem im Linux-Kernelverzeichnis "/home/S4-Driver/linux-smart210/" ein Kernelmodul hinzu.

" 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

  • c. Installieren Sie den Cross-Compiler Busybox im Stammverzeichnis "/.../rootfs", konfigurieren Sie den Kernel -> kompilieren Sie den Kernel -> installieren Sie die Kopie make install;
  • d. Mounten Sie das Root-Dateisystem mithilfe von NFS. Damit lässt sich ein Echtzeit-Online-Root-Dateisystem rootfs erstellen.

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:
  • So implementieren Sie die Ein-Klick-Bereitstellung von NFS unter Linux
  • Detaillierte Schritte zum Erstellen eines NFS-Dateifreigabeservers unter Linux
  • Methode zur Sicherheitshärtung für Linux NFS-Dienste
  • Detaillierte Erläuterung des NFS-Konfigurationstutorials unter Linux
  • Analyse von Installations- und Konfigurationsideen für Linux NFS-Server
  • So installieren und konfigurieren Sie einen Linux-NFS-Server (mit Bildern und Text)
  • Linux NFS-Installationskonfiguration und häufige Probleme, /etc/exports-Konfigurationsdatei, Befehl showmount
  • So mounten Sie das NFS-Netzwerkdateisystem zwischen Linux-Systemen
  • Funktionsprinzip und Beispielanalyse des Linux-NFS-Mechanismus

<<:  Der Unterschied zwischen Update und Select in MySQL für einzelne und mehrere Tabellen sowie Ansichten und temporäre Tabellen

>>:  Anzeige der Tabellenliste für die Front-End-Anwendungsentwicklung von Vue Element

Artikel empfehlen

js zur Realisierung von Login- und Registrierungsfunktionen

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Bereitstellung des Alibaba Cloud Servers (grafisches Tutorial)

Ich habe vor Kurzem Front-End- und Back-End-Techn...

So ändern Sie das Kennwort von mysql5.7.20 unter Linux CentOS 7.4

Nach dem Upgrade von MySQL auf Version 5.7 wurde ...

Zusammenfassung der MySQL-Nutzungsspezifikationen

1. Es muss die InnoDB-Speicher-Engine verwendet w...

So verbergen Sie die Grenze/Trennlinie zwischen Zellen in einer Tabelle

Nur den oberen Rand anzeigen <table frame=above...

Analyse von SQL-Integritätsbeschränkungsanweisungen in der Datenbank

Integritätsbeschränkungen Integritätsbedingungen ...

Grundlegende Ideen zum Auffinden von Fehlern in der Web-Frontend-Entwicklung

Die WEB-Entwicklung besteht hauptsächlich aus zwe...

Sammlung einer Zusammenfassung der HTML-Iframe-Nutzung

Detaillierte Analyse der Iframe-Nutzung <iframe...

Installieren Sie Mininet aus dem Quellcode auf Ubuntu 16.04

Mininet Mininet ist eine leichtgewichtige, softwa...

Block- und Zeilenelemente, Sonderzeichen und Verschachtelungsregeln in HTML

Wenn wir die Verschachtelungsregeln grundlegender...

Vue-Komponente zur Realisierung einer Karussell-Animation

In diesem Artikelbeispiel wird der spezifische Co...