[LINUX] Construire et exécuter TOPPERS / ASP (version 10/03/2020)

introduction

Auparavant, " Générez et exécutez TOPPERS / ASP ", " Build and run TOPPERS / ASP3 " J'ai publié un article sur TOPPERS / ASP, mais ** daté du 10 mars 2020 * J'ai trouvé un article indiquant que les packages dépendants pour ARM Cortex-M4 et ARM Cortex-M7 ont été mis à niveau, j'ai donc utilisé cette nouvelle version du code source pour ** construire ** et ** exécuter * à nouveau. J'ai décidé d'essayer *.

・ Page d'accueil de TOPPERS  https://www.toppers.jp/

-ASP 1.9.6 ARM Cortex-M4 architecture-paquet de pièces dépendant de GCC  https://www.toppers.jp/asp-d-download.html#arm_m4

· Architecture ASP 1.9.5 ARM Cortex-M7 · Package dépendant de GCC  https://www.toppers.jp/asp-d-download.html#arm_m7

Dans les articles Qiita jusqu'à présent, seul le code de la carte micro-ordinateur ** NUCLEO-F401RE ** publié par ** ST Microelectronics ** (ci-après ** ST Micro **) avec ARM Cortex-M4 comme noyau Je construisais et exécutais, mais cette fois j'ai construit et utilisé le code pour les 4 cartes suivantes, y compris la carte avec ** Cortex-M7 ** comme noyau.

・ NUCLEO-F401RE ・ NUCLEO-F446RE ・ NUCLEO-G474RE ・ STM32F7-DÉCOUVERTE

Par ailleurs, "NUCLEO-G474RE" est une carte ajoutée dans cette mise à niveau de version de "ARM Cortex-M4 Architecture".

gra_f401_1.jpggra_f446_1.jpg gra_g474_1.jpggra_f7disc1.jpg

Qu'est-ce que TOPPERS / ASP?

Comme mentionné dans l'article précédent de Qiita, je vais également le présenter brièvement ici. ** TOPPERS / ASP ** est un projet TOPPERS (TOPPERS: ** T ** oyohashi ** OP ** en ** P ** plateforme pour ** E ** mbedded ** R ** eal-time ** S ** ystems) est l'un des RTOS de spécification ITRON géré et publié. TOPPERS RTOS qui peut être utilisé avec un micro-ordinateur monopuce en tant que noyau de nouvelle génération. Veuillez vous référer à la page suivante pour des détails tels que les fonctions.

・ Page du noyau TOPPERS / ASP  https://www.toppers.jp/asp-kernel.html

À propos de l'environnement de construction

Dans cet environnement de construction, comme dans l'article précédent de Qiita, nous allons installer une chaîne d'outils telle qu'un compilateur croisé pour Arm Cortex-M sur Linux et construire un code source tel que TOPPERS / ASP. " Générez TOPPERS / ASP et exécutez-le. "Préparation à l'exécution de TOPPERS / ASP" et "Création d'un environnement de construction", et cette fois, TOPPERS / ASP peut également être construit dans cet environnement, donc Article .

Préparation de la construction TOPPERS / ASP

Une fois que l'environnement de construction est prêt, il est temps de se préparer à créer TOPPERS / ASP.

1. 1. Obtenir le fichier source

Lors de la construction, téléchargez le code source de la partie indépendante de la cible de TOPPERS / ASP et de la partie dépendante de la cible de Cortex-M4 et Cortex-M7, qui est la cible de cette fois, à partir de ce qui suit.

・ Partie indépendante de la cible  https://www.toppers.jp/download.cgi/asp-1.9.3.tar.gz

・ Partie dépendante de la cible  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

En plus du code source TOPPERS / ASP, téléchargez le configurateur nécessaire à la construction.

-Configurator Version 1.9.6  https://www.toppers.jp/download.cgi/cfg-1.9.6.tar.gz

2. Construire un outil de configuration

Extrayez ** cfg-1.9.6.tar.gz ** dans n'importe quel répertoire sur Ubuntu. Une fois développé, un répertoire ** cfg ** sera créé et les fichiers et répertoires seront développés en dessous.

tar xzf cfg-1.9.6.tar.gz
cd cfg

Je veux exécuter **. / Configure ** ici, mais comme le code de saut de ligne du fichier de configuration est créé avec ** 0x0d 0x0a **, si je l'exécute tel quel, la configuration échouera avec une erreur. Par conséquent, le code de saut de ligne est converti en ** 0x0a ** uniquement par l'opération suivante.

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

Après la conversion, créez l'outil de configuration avec la commande suivante.

./configure
make

Si la construction réussit, la commande suivante sera générée, mais pour l'instant, procédez comme elle est.

./cfg/cfg ・ ・ ・ ・ * 1

3. 3. Déploiement de la source du noyau TOPPERS / ASP

Extrayez les fichiers source suivants pour le noyau TOPPERS / ASP.  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

Tout d'abord, lorsque vous développez asp-1.9.3.tar.gz, le corps principal du noyau TOPPERS / ASP sera développé sous le répertoire asp.

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

Ensuite, développez ** asp_arch_arm_m4_gcc-1.9.6.tar.gz ** et ** asp_arch_arm_m7_gcc-1.9.5.tar.gz **, respectivement, puis développez le répertoire ** arch ** et * sous le répertoire ** asp **, respectivement. Le code de chaque dépendance cible pour ** Cortex-M4 ** et ** Cortex-M7 ** est développé dans le répertoire * target **.

Configuration lorsque asp_arch_arm_m4_gcc-1.9.6.tar.gz est développé par lui-même

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

Configuration lorsque asp_arch_arm_m7_gcc-1.9.5.tar.gz est développé par lui-même

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

Après la décompression, copiez la commande ** cfg ** créée précédemment * 1 dans le répertoire asp / cfg / cfg.

mkdir -p asp/cfg/cfg
cp -a cfg/cfg/cfg asp/cfg/cfg/
asp
 |-- arch
 |-- cfg
 |   `-- cfg
 |       `--cfg ← Copiez la commande cfg ici
 `-- doc

4. Création d'un répertoire pour la création d'applications

Créez un répertoire d'application et un répertoire de construction d'application. Ici, le nom du répertoire est défini de sorte que le type de micro-ordinateur puisse être compris comme le répertoire de l'application, mais n'importe quel nom de répertoire peut être utilisé.

mkdir -p f401/obj
mkdir -p f446/obj
mkdir -p g474/obj
mkdir -p f7disc/obj
asp
 |-- arch
 |  :
 |
 |--f401 ← Répertoire des applications
 |   `--obj ← Répertoire de construction de l'application
 |
 |-- f446
 |   `-- obj
 |
 |-- g474
 |   `-- obj
 |
 `-- f7disc
     `-- obj

Exécution de build TOPPERS / ASP

1. 1. Configuration du noyau TOPPERS / ASP

Ensuite, allez dans le répertoire ** / obj ** du type de micro-ordinateur à construire et configurez le noyau. Les significations des options de la commande configure sont les suivantes. -T: sélection cible Spécifiez les chaînes de caractères suivantes dans chaque répertoire en fonction de la carte à utiliser cette fois.    stm32f401nucleo_gcc    stm32f446nucleo64_gcc    stm32g474nucleo64_gcc    stm32f7discovery_gcc Autres en spécifiant le nom du répertoire sous asp / target Il est possible de choisir une cible. -d: Sélection de l'environnement d'exécution Allouez le code après la construction à la zone de mémoire Flash en spécifiant autre que "** RAM **".

Accédez à chaque répertoire et exécutez la commande configure.

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. Vérifier et modifier Makefile

Si la configuration réussit, ** Makefile ** sera généré sous le répertoire ** obj **. Vérifiez les définitions de ** 51e ligne ** et ** 79e ligne ** du ** Makefile ** généré.

TARGET = stm32f401nucleo_gcc ← Nom de la cible spécifié par la commande configure
DBGENV := TOPPERS_ROM

Ajoutez la définition sur la ligne suivant la ligne ** 331 ** afin que le fichier de code généré par la construction contienne le fichier binaire.

  $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec
  $(OBJCOPY) -O binary -S $(OBJFILE) $(OBJNAME).bin ← ajouté

3. 3. Exécution de la construction

Exécutez la commande ** make ** dans le répertoire ** obj **. Si la construction réussit, les fichiers nécessaires à l'exécution de TOPPERS / ASP tels que ** asp.bin ** seront générés.

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

Exécuter sur une carte micro-ordinateur

1. 1. Ecrire sur le micro-ordinateur

Connectez la carte micro-ordinateur au PC via USB. Une fois connecté, il sera reconnu comme stockage de masse par le PC et vous pourrez copier des fichiers avec Explorer. Ensuite, copiez le fichier ** asp.bin ** généré par la compilation sur Ubuntu sur la carte du micro-ordinateur via l'Explorateur. Lorsque la copie est terminée, l'écriture au conseil est terminée.

2. Exécuter

Lorsque le pilote ST Micro est installé, l'USB de chaque carte de micro-ordinateur est également reconnue comme un port COM virtuel. Lorsque vous démarrez un logiciel de terminal série tel que TeraTerm et que vous connectez le port COM de chaque carte de micro-ordinateur à ** 115200 bps **, les informations de journal produites par le noyau TOPPERS / ASP sont affichées sur le logiciel du terminal série, ainsi que sur le noyau TOPPERS / ASP et le programme d'exemple Peut être confirmé pour fonctionner. Étant donné que tous les mêmes exemples de programmes sont en cours d'exécution cette fois, l'affichage est presque le même, mais comme la cible, le nom du noyau du micro-ordinateur et la date et l'heure de construction sont affichés sur la première ligne immédiatement après le démarrage, différentes cartes et différents programmes fonctionneront. Vous pouvez voir que c'est le cas.

・ Exemple de sortie de 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).   |
           :

・ Exemple de sortie de 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).   |
           :

・ Exemple de sortie de 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).   |
           :

・ Exemple de sortie 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).   |
           :

à la fin

Quand j'ai écrit le précédent article TOPPERS / ASP, j'ai écrit que je voulais faire un article sur la façon de s'inscrire au programme utilisateur et Makefile, mais à chaque fois, l'exemple de programme fourni avec TOPPERS / ASP n'est pas intéressant, donc la prochaine fois Je souhaite écrire un article sur les applications utilisant l'environnement de construction créé cette fois-ci.

Annexe: Liste des liens

・ Construisez TOPPERS / ASP et essayez-le  https://qiita.com/Yukiya_Ishioka/items/9ecbe080939600c323c6

・ Construisez TOPPERS / ASP3 et essayez-le.  https://qiita.com/Yukiya_Ishioka/items/63618319d47ac743a631

・ Page du noyau TOPPERS / ASP  https://www.toppers.jp/asp-kernel.html

-ASP 1.9.6 ARM Cortex-M4 architecture-paquet de pièces dépendant de GCC  https://www.toppers.jp/asp-d-download.html#arm_m4

· Architecture ASP 1.9.5 ARM Cortex-M7 · Package dépendant de GCC  https://www.toppers.jp/asp-d-download.html#arm_m7

・ Partie indépendante de la cible  https://www.toppers.jp/download.cgi/asp-1.9.3.tar.gz

・ Partie dépendante de la cible  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

-Configurator Version 1.9.6  https://www.toppers.jp/download.cgi/cfg-1.9.6.tar.gz

Recommended Posts

Construire et exécuter TOPPERS / ASP (version 10/03/2020)
Construisez TOPPERS / ASP3 et essayez-le
__version__ pièges et bonnes pratiques