[LINUX] Erstellen und Ausführen von TOPPERS / ASP (Version 2020-03-10)

Einführung

Zuvor " Erstellen und Ausführen von TOPPERS / ASP ", " TOPPERS / ASP3 erstellen und ausführen " Ich habe einen Artikel über TOPPERS / ASP veröffentlicht, aber ** vom 10. März 2020 * Ich habe einen Artikel gefunden, in dem die abhängigen Pakete für ARM Cortex-M4 und ARM Cortex-M7 aktualisiert wurden. Daher habe ich diese neue Version des Quellcodes verwendet, um ** zu erstellen ** und ** erneut auszuführen *. Ich beschloss, es zu versuchen *.

・ TOPPERS-Homepage  https://www.toppers.jp/

-ASP 1.9.6 ARM Cortex-M4-Architektur-GCC-abhängiges Teilepaket  https://www.toppers.jp/asp-d-download.html#arm_m4

· ASP 1.9.5 ARM Cortex-M7-Architektur · GCC-abhängiges Paket  https://www.toppers.jp/asp-d-download.html#arm_m7

In den bisherigen Qiita-Artikeln wurde nur der Code für die Mikrocomputerplatine ** NUCLEO-F401RE ** von ** ST Microelectronics ** (im Folgenden ** ST Micro **) mit ARM Cortex-M4 als Kern veröffentlicht Ich baute und lief, aber dieses Mal baute und betrieb ich den Code für die folgenden 4 Karten, einschließlich der Karte mit ** Cortex-M7 ** als Kern.

・ NUCLEO-F401RE ・ NUCLEO-F446RE ・ NUCLEO-G474RE ・ STM32F7-ENTDECKUNG

"NUCLEO-G474RE" ist übrigens ein Board, das in diesem Versions-Upgrade von "ARM Cortex-M4 Architecture" hinzugefügt wurde.

gra_f401_1.jpggra_f446_1.jpg gra_g474_1.jpggra_f7disc1.jpg

Was ist TOPPERS / ASP?

Wie im vorherigen Qiita-Artikel erwähnt, werde ich ihn auch hier kurz vorstellen. ** TOPPERS / ASP ** ist ein TOPPERS-Projekt (TOPPERS: ** T ** oyohashi ** OP ** en ** P ** Plattform für ** E ** mbedded ** R ** eal-time ** S. ** ystems) ist eine der ITRON-Spezifikationen, die RTOS verwaltet und veröffentlicht. TOPPERS RTOS, das mit einem Ein-Chip-Mikrocomputer als Kernel der neuen Generation betrieben werden kann. Einzelheiten wie Funktionen finden Sie auf der folgenden Seite.

・ TOPPERS / ASP-Kernelseite  https://www.toppers.jp/asp-kernel.html

Informationen zur Build-Umgebung

In dieser Build-Umgebung werden wir wie im vorherigen Qiita-Artikel eine Toolkette wie einen Cross-Compiler für Arm Cortex-M unter Linux installieren und Quellcode wie TOPPERS / ASP erstellen. " Erstellen und Ausführen von TOPPERS / ASP für den Speicherort, die Extraktionsmethode und die Vorsichtsmaßnahmen der zum Erstellen der Umgebung erforderlichen Dateien. Es wird in "Vorbereitung zum Ausführen von TOPPERS / ASP" und "Erstellen einer Build-Umgebung" in "" beschrieben. Dieses Mal kann TOPPERS / ASP auch in dieser Umgebung erstellt werden, also Artikel .

TOPPERS / ASP Build Vorbereitung

Sobald die Build-Umgebung fertig ist, ist es Zeit, sich darauf vorzubereiten, TOPPERS / ASP tatsächlich zu erstellen.

1. 1. Quelldatei abrufen

Laden Sie beim Erstellen den Quellcode des zielunabhängigen Teils von TOPPERS / ASP und des zielabhängigen Teils von Cortex-M4 und Cortex-M7, der das Ziel dieser Zeit ist, aus dem Folgenden herunter.

・ Zielunabhängiger Teil  https://www.toppers.jp/download.cgi/asp-1.9.3.tar.gz

・ Zielabhängiger Teil  https://www.toppers.jp/download.cgi/asp_arch_arm_m4_gcc-1.9.6.tar.gz  https://www.toppers.jp/download.cgi/asp_arch_arm_m7_gcc-1.9.5.tar.gz

Laden Sie zusätzlich zum TOPPERS / ASP-Quellcode den zum Erstellen erforderlichen Konfigurator herunter.

-Konfigurator Release 1.9.6  https://www.toppers.jp/download.cgi/cfg-1.9.6.tar.gz

2. Konfigurationstool erstellen

Extrahieren Sie ** cfg-1.9.6.tar.gz ** in ein beliebiges Verzeichnis unter Ubuntu. Beim Erweitern wird ein ** cfg ** -Verzeichnis erstellt und Dateien und Verzeichnisse darunter erweitert.

tar xzf cfg-1.9.6.tar.gz
cd cfg

Ich möchte **. / Configure ** hier ausführen, aber da der Zeilenvorschubcode der Konfigurationsdatei mit ** 0x0d 0x0a ** erstellt wird, schlägt die Konfiguration mit einem Fehler fehl, wenn ich sie so ausführe, wie sie ist. Daher wird der Zeilenvorschubcode nur durch die folgende Operation in ** 0x0a ** konvertiert.

mv configure configure.org
tr -d '\r' < configure.org > configure
chmod a+x configure

Erstellen Sie nach der Konvertierung das Konfigurationstool mit dem folgenden Befehl.

./configure
make

Wenn der Build erfolgreich ist, wird der folgende Befehl generiert. Fahren Sie jedoch vorerst so fort, wie er ist.

./cfg/cfg ・ ・ ・ ・ * 1

3. 3. Bereitstellen der TOPPERS / ASP-Kernelquelle

Extrahieren Sie die folgenden Quelldateien für den TOPPERS / ASP-Kernel.  asp-1.9.3.tar.gz  asp_arch_arm_m4_gcc-1.9.6.tar.gz  asp_arch_arm_m7_gcc-1.9.5.tar.gz

cd ..
tar xzf asp-1.9.3.tar.gz
tar xzf asp_arch_arm_m4_gcc-1.9.6.tar.gz
tar xzf asp_arch_arm_m7_gcc-1.9.5.tar.gz

Wenn Sie asp-1.9.3.tar.gz erweitern, wird zunächst der Hauptteil des TOPPERS / ASP-Kernels im asp-Verzeichnis erweitert.

asp
|-- arch
|   |-- gcc
|   |-- logtrace
|   `-- m68k_gcc
|-- doc
|-- extension
|-- include
|-- kernel
|-- library
|-- pdic
|-- sample
|-- syssvc
|-- target
|   `-- dve68k_gcc
|-- test
`-- utils

Erweitern Sie als Nächstes ** asp_arch_arm_m4_gcc-1.9.6.tar.gz ** und ** asp_arch_arm_m7_gcc-1.9.5.tar.gz ** und erweitern Sie dann das Verzeichnis ** arch ** und * das Verzeichnis ** asp **. Der Code jeder Zielabhängigkeit für ** Cortex-M4 ** und ** Cortex-M7 ** wird in das Verzeichnis * target ** erweitert.

Konfiguration, wenn asp_arch_arm_m4_gcc-1.9.6.tar.gz von selbst erweitert wird

asp
|-- arch
|   |-- arm_m_gcc
|   |   |-- common
|   |   |-- stm32f4xx
|   |   |-- stm32g4xx
|   |   |-- stm32l4xx
|   |   `-- stm32wbxx
|   `-- gcc
|-- target
|   |-- stm32e407_gcc
|   |-- stm32f401nucleo_gcc
|   |-- stm32f429board_gcc
|   |-- stm32f446nucleo144_gcc
|   |-- stm32f446nucleo64_gcc
|   |-- stm32f4discovery_gcc
|   |-- stm32g431nucleo64_gcc
|   |-- stm32g474nucleo64_gcc
|   |-- stm32l476discovery_gcc
|   |-- stm32l476nucleo64_gcc
|   |   `-- stm32l4xx
|   |-- stm32l4r5nucleo144_gcc
|   `-- stm32wb55nucleo_gcc
`-- tools
    |-- TrueSTUDIO
    |   `-- stm32f401nucleo
    `-- rommon

Konfiguration, wenn asp_arch_arm_m7_gcc-1.9.5.tar.gz von selbst erweitert wird

asp
|-- arch
|   |-- arm_m_gcc
|   |   |-- common
|   |   |-- stm32f7xx
|   |   `-- stm32h7xx
|   `-- gcc
|-- target
|   |-- stm32f723discovery_gcc
|   |-- stm32f746nucleo144_gcc
|   |-- stm32f767nucleo144_gcc
|   |-- stm32f769discovery_gcc
|   |-- stm32f7discovery_gcc
|   `-- stm32h743nucleo144_gcc
`-- tools

Kopieren Sie nach dem Entpacken den zuvor erstellten Befehl ** cfg ** * 1 in das Verzeichnis asp / cfg / cfg.

mkdir -p asp/cfg/cfg
cp -a cfg/cfg/cfg asp/cfg/cfg/
asp
 |-- arch
 |-- cfg
 |   `-- cfg
 |       `--cfg ← Kopieren Sie den Befehl cfg hier
 `-- doc

4. Erstellen eines Verzeichnisses zum Erstellen von Anwendungen

Erstellen Sie ein Anwendungsverzeichnis und ein Anwendungserstellungsverzeichnis. Hier wird der Verzeichnisname so eingestellt, dass der Mikrocomputertyp als Anwendungsverzeichnis verstanden werden kann, aber jeder Verzeichnisname verwendet werden kann.

mkdir -p f401/obj
mkdir -p f446/obj
mkdir -p g474/obj
mkdir -p f7disc/obj
asp
 |-- arch
 |  :
 |
 |--f401 ← Anwendungsverzeichnis
 |   `--obj ← Anwendungserstellungsverzeichnis
 |
 |-- f446
 |   `-- obj
 |
 |-- g474
 |   `-- obj
 |
 `-- f7disc
     `-- obj

Ausführung von TOPPERS / ASP-Builds

1. 1. TOPPERS / ASP-Kernelkonfiguration

Wechseln Sie als Nächstes in das Verzeichnis ** / obj ** des zu erstellenden Mikrocomputertyps und konfigurieren Sie den Kernel. Die Optionen des Befehls configure haben folgende Bedeutung. -T: Zielauswahl Geben Sie die folgenden Zeichenfolgen in jedem Verzeichnis entsprechend der diesmal zu bedienenden Karte an.    stm32f401nucleo_gcc    stm32f446nucleo64_gcc    stm32g474nucleo64_gcc    stm32f7discovery_gcc Andere durch Angabe des Verzeichnisnamens unter asp / target Es ist möglich, ein Ziel auszuwählen. -d: Auswahl der Ausführungsumgebung Ordnen Sie den Code nach dem Erstellen dem Flash-Speicherbereich zu, indem Sie einen anderen Wert als "** RAM **" angeben.

Gehen Sie zu jedem Verzeichnis und führen Sie den Befehl configure aus.

cd f401/obj
../../asp/configure -T stm32f401nucleo_gcc -dROM
cd ../..
cd f446/obj
../../asp/configure -T stm32f446nucleo64_gcc -dROM
cd ../..
cd f446/obj
../../asp/configure -T stm32g474nucleo64_gcc -dROM
cd ../..
cd f7disc/obj
../../asp/configure -T stm32f7discovery_gcc -dROM

2. Überprüfen und ändern Sie das Makefile

Wenn die Konfiguration erfolgreich ist, wird ** Makefile ** im Verzeichnis ** obj ** generiert. Überprüfen Sie die Definitionen der ** 51. Zeile ** und ** 79. Zeile ** des generierten ** Makefiles **.

TARGET = stm32f401nucleo_gcc ← Mit dem Befehl configure angegebener Zielname
DBGENV := TOPPERS_ROM

Fügen Sie die Definition in die folgende Zeile ein ** 331 **, sodass die vom Build generierte Codedatei die Binärdatei enthält.

  $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec
  $(OBJCOPY) -O binary -S $(OBJFILE) $(OBJNAME).bin ← hinzugefügt

3. 3. Build-Ausführung

Führen Sie den Befehl ** make ** im Verzeichnis ** obj ** aus. Wenn der Build erfolgreich ist, werden die zur Ausführung von TOPPERS / ASP erforderlichen Dateien wie ** asp.bin ** generiert.

make
$ ll asp*
-rwxrwxr-x 1 ubuntu ubuntu 301548 25. März 02:54 asp*
-rwxrwxr-x 1 ubuntu ubuntu 28600 25. März 02:54 asp.bin*
-rwxrwxr-x 1 ubuntu ubuntu 85868 25. März 02:54 asp.srec*
-rw-rw-r--1 ubuntu ubuntu 8125 25. März 02:54 asp.syms

Laufen Sie auf einer Mikrocomputerplatine

1. 1. Schreiben Sie an den Mikrocomputer

Verbinden Sie die Mikrocomputerplatine über USB mit dem PC. Wenn die Verbindung hergestellt ist, wird sie vom PC als Massenspeicher erkannt, und Sie können Dateien mit dem Explorer kopieren. Kopieren Sie anschließend die vom Build unter Ubuntu generierte Datei ** asp.bin ** über den Explorer auf die Mikrocomputerplatine. Wenn die Kopie fertig ist, ist das Schreiben an die Tafel abgeschlossen.

2. Lauf

Wenn der ST Micro-Treiber installiert ist, wird der USB-Anschluss jeder Mikrocomputerplatine auch als virtueller COM-Anschluss erkannt. Wenn Sie eine Software für serielle Terminals wie TeraTerm starten und den COM-Anschluss jeder Mikrocomputerplatine mit ** 115200 Bit / s ** verbinden, werden die vom TOPPERS / ASP-Kernel ausgegebenen Protokollinformationen in der Software für serielle Terminals sowie im TOPPERS / ASP-Kernel und im Beispielprogramm angezeigt Kann bestätigt werden, dass es funktioniert. Da dieses Mal alle gleichen Beispielprogramme ausgeführt werden, ist die Anzeige nahezu identisch. Da jedoch das Ziel, der Name des Mikrocomputerkerns sowie das Erstellungsdatum und die Erstellungszeit unmittelbar nach dem Start in der ersten Zeile ausgegeben werden, funktionieren verschiedene Karten und Programme. Sie können sehen, dass es ist.

・ Ausgabebeispiel für NUCLEO-F401RE

TOPPERS/ASP Kernel Release 1.9.3 for stm32f401-nucleo(Cortex-M4) (Mar 24 2020, 01:13:55)
Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
                            Toyohashi Univ. of Technology, JAPAN
Copyright (C) 2004-2014 by Embedded and Real-Time Systems Laboratory
            Graduate School of Information Science, Nagoya Univ., JAPAN
Copyright (C) 2015-2016 by Education Working Group TOPPERS PROJECT

System logging task is started on port 1.
Sample program starts (exinf = 0).
task1 is running (001).   |
task1 is running (002).   |
task1 is running (003).   |
           :

・ Ausgabebeispiel für NUCLEO-F446RE

TOPPERS/ASP Kernel Release 1.9.3 for stm32f446-nucleo-64(Cortex-M4) (Mar 24 2020, 01:27:50)
Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
                            Toyohashi Univ. of Technology, JAPAN
Copyright (C) 2004-2014 by Embedded and Real-Time Systems Laboratory
            Graduate School of Information Science, Nagoya Univ., JAPAN
Copyright (C) 2016 by Education Working Group TOPPERS PROJECT

System logging task is started on port 1.
Sample program starts (exinf = 0).
task1 is running (001).   |
task1 is running (002).   |
task1 is running (003).   |
           :

・ Ausgabebeispiel für NUCLEO-G474RE

TOPPERS/ASP Kernel Release 1.9.3 for stm32fg474-nucleo-64(Cortex-M4) (Mar 24 2020, 01:36:13)
Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
                            Toyohashi Univ. of Technology, JAPAN
Copyright (C) 2004-2014 by Embedded and Real-Time Systems Laboratory
            Graduate School of Information Science, Nagoya Univ., JAPAN
Copyright (C) 2016-2019 by Education Working Group TOPPERS PROJECT

System logging task is started on port 1.
Sample program starts (exinf = 0).
task1 is running (001).   |
task1 is running (002).   |
task1 is running (003).   |
           :

・ Ausgabebeispiel STM32F7-DISCOVERY

TOPPERS/ASP Kernel Release 1.9.3 for stm32f7-discovery(Cortex-M7) (Mar 24 2020, 01:31:49)
Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
                            Toyohashi Univ. of Technology, JAPAN
Copyright (C) 2004-2014 by Embedded and Real-Time Systems Laboratory
            Graduate School of Information Science, Nagoya Univ., JAPAN
Copyright (C) 2015-2016 by Education Working Group TOPPERS PROJECT, JAPAN

System logging task is started on port 1.
Sample program starts (exinf = 0).
task1 is running (001).   |
task1 is running (002).   |
task1 is running (003).   |
           :

schließlich

Als ich den vorherigen TOPPERS / ASP-Artikel schrieb, schrieb ich, dass ich einen Artikel über die Registrierung im Benutzerprogramm und im Makefile erstellen wollte, aber jedes Mal ist das an TOPPERS / ASP angehängte Beispielprogramm nicht interessant Ich möchte einen Artikel zu Anwendungen schreiben, die die diesmal erstellte Build-Umgebung verwenden.

Anhang: Liste der Links

・ Erstellen Sie TOPPERS / ASP und probieren Sie es aus  https://qiita.com/Yukiya_Ishioka/items/9ecbe080939600c323c6

・ Erstellen Sie TOPPERS / ASP3 und probieren Sie es aus.  https://qiita.com/Yukiya_Ishioka/items/63618319d47ac743a631

・ TOPPERS / ASP-Kernelseite  https://www.toppers.jp/asp-kernel.html

-ASP 1.9.6 ARM Cortex-M4-Architektur-GCC-abhängiges Teilepaket  https://www.toppers.jp/asp-d-download.html#arm_m4

· ASP 1.9.5 ARM Cortex-M7-Architektur · GCC-abhängiges Paket  https://www.toppers.jp/asp-d-download.html#arm_m7

・ Zielunabhängiger Teil  https://www.toppers.jp/download.cgi/asp-1.9.3.tar.gz

・ Zielabhängiger Teil  https://www.toppers.jp/download.cgi/asp_arch_arm_m4_gcc-1.9.6.tar.gz  https://www.toppers.jp/download.cgi/asp_arch_arm_m7_gcc-1.9.5.tar.gz

-Konfigurator Release 1.9.6  https://www.toppers.jp/download.cgi/cfg-1.9.6.tar.gz

Recommended Posts

Erstellen und Ausführen von TOPPERS / ASP (Version 2020-03-10)
Erstellen Sie TOPPERS / ASP3 und probieren Sie es aus
__version__ Fallen und Best Practices