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".
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
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 .
Une fois que l'environnement de construction est prêt, il est temps de se préparer à créer TOPPERS / ASP.
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
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
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
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
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
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é
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
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.
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). |
:
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.
・ 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