[LINUX] Bis OSD335X U-Boot auf einer benutzerdefinierten Karte ausführt (Hinweis)

2020/07/25 Erstbeschreibung

Bisherige Zusammenfassung

Ich habe OSD3358-512M-BCB gekauft. https://www.mouser.jp/ProductDetail/415-OSD3358-512M-BCB

Ich habe ein Brett gemacht. https://twitter.com/nonNoise/status/1278465569499447298?s=20

Implementiert. https://www.youtube.com/watch?v=acrJceh3bkU

115929400_3171100156300596_3359527061697752589_o.jpg

Ein

Es funktionierte.

Eine große Menge von CCCCCCC ... fließt aus der Seriennummer (UART0).

Die serielle Einstellung ist *Baud rate: 115,200 *Data bits: 8 *Parity: None *Stop bits: 1 *Flow control: None

Vorbereitung von U-Boot-Binärdaten

Anscheinend muss es kompiliert werden.

Kompilieren Sie in einer Ubuntu-Umgebung. Mit Vertual Box wurde eine neue Ubuntu-Umgebung eingerichtet.

Einrichtung der ARM GCC-Umgebung

wget -c https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz

tar xf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz

export CC=[PWD]/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

U-Boot kompilieren

git clone https://github.com/u-boot/u-boot cd u-boot/ git checkout v2018.01 -b tmp

Wenden Sie einen Patch auf U-Boot an

wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0002-U-Boot-BeagleBone-Cape-Manager.patch wget -c https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch

patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch patch -p1 < 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch

U-Boot machen.

export CC=[PWD]/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

make ARCH=arm CROSS_COMPILE={CC} distclean make ARCH=arm CROSS_COMPILE={CC} am335x_evm_defconfig make ARCH=arm CROSS_COMPILE=${CC}

Übergeben Sie die erforderlichen Dateien an Windows

Für den U-Boot von ARM sind zwei Dateitypen erforderlich u-boot-spl.bin (für den Start der ersten Stufe) und u-boot.img (für den Start der nächsten Stufe)

u-boot-spl.bin befindet sich in u-boot / spl.

Schreiben Sie mit TeraTerm

Ausländer nutzen auch TeraTerm.

Überprüfen Sie, ob CCC CC ..... und C im Terminal fließen.

Datei-> Übertragen-> XMODEM-> Senden Wählen Sie u-boot-spl.bin Überprüfen Sie 1K unten links Übertragen.

コメント 2020-07-25 014135.png

Datei-> Übertragen-> YMODEM-> Senden Wählen Sie u-boot.img Übertragen. コメント 2020-07-25 014502.png Zuerst ist es für eine Weile 0%, aber seien Sie geduldig (ca. 1 Minute), bis sich der Balken bewegt.

sicher? anfangen. コメント 2020-07-25 014806.png

Na und?

In diesem Zustand sind die beiden U-Boot-Programme jedoch immer noch im RAM erweitert. Wenn Sie also zurücksetzen oder das Gerät aus- und wieder einschalten, wird CCCC .... erneut angezeigt. Dies ist der beste Weg, um U-Boot zu debuggen.

Im U-Boot-Protokoll wird beanstandet, dass das EEPROM ein Fehler ist oder dass kein USB oder Ethernet vorhanden ist. Es kann nicht so belassen werden, wie es ist, daher scheint es, dass ein benutzerdefinierter U-Boot erforderlich ist. Vorerst habe ich nur das Verfahren zum Schreiben von U-Boot gewählt.

Das Ziel scheint lang zu sein. (Ich freue mich darauf) Fufufu.

Verweise

https://processors.wiki.ti.com/index.php?title=AM335x_U-Boot_User%27s_Guide&oldid=151545#Boot_Over_UART

https://octavosystems.com/forums/topic/osd3358-boot/

Echtes Memo (1)

Ich habe mich damit befasst, weil ich einen Fehler bekommen habe, aber ich werde es für alle Fälle belassen.

bad value (‘armv5’) for ‘-march=’ switch

Fehler mit make ARCH = arm CROSS_COMPILE = $ {CC}, wenn dieser Artikel korrekt ist oder wenn ich erneut versuche zu kompilieren

Es scheint, dass der Export durch einen Neustart von Ubuntu gelöscht wurde. (Hey ~) Also vor dem Kompilieren export CC=[PWD]/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- Der Artikel wurde geändert, um erneut zu schreiben.

Echtes Memo (2)

Beim seriellen Schreiben von U-Boot kamen X-MODEM und Y-MODEM heraus, und ich fragte mich, warum, also habe ich nachgeschlagen. https://ja.wikipedia.org/wiki/XMODEM https://ja.wikipedia.org/wiki/YMODEM Ich wusste es nicht (es tut mir leid, es tut mir leid) TeraTerm ist bequem und einfach zu bedienen, aber ich habe Probleme, wenn ich es automatisieren möchte. Deshalb habe ich in Python nach einer Bibliothek gesucht. https://pythonhosted.org/xmodem/ https://github.com/alexwoo1900/ymodem Das war's?

Recommended Posts

Bis OSD335X U-Boot auf einer benutzerdefinierten Karte ausführt (Hinweis)
So passen Sie U-Boot mit einer benutzerdefinierten Karte für OSD335X an (Hinweis)
Bis PythonCGI unter UbuntuServer18.04 + Apache2 ausgeführt wird
Ein Memo mit Python2.7 und Python3 in CentOS
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat