Configuration du logiciel DigiX/Arduino ARM DUE math bibliothèque (2 / 2 étapes)

Étape 2: Ajouter des bibliothèques de mathématiques de bras pour le logiciel arduino.

Le logiciel arduino est livré avec des fonctions DSP beaucoup de belle (mais assez difficile à comprendre). Celles-ci incluent des fonctions FFT discrètes comme arm_rfft_q15 (& S, out, outsq) que je souhaite utiliser. Mais ils sont ratés de l’éditeur de liens. Cette étape ajoute à l’environnement arduino.

Vraisemblablement, cette technique peut servir de lien à n’importe quelle bibliothèque C.

Si vous voulez un exemple d’un code qui utilise ces fonctions alors je vous suggère google pour « Chute d’eau DueVGA par stimmer ». C’est où j’ai obtenu la technique d’et le code contient des consignes de l’originales que j’ai utilisé le compte.

En tout cas, Voici les changements que j’ai fait l’installation de l’arduino 1.5.5, ceux-ci ne fonctionnera pas pour l’échéance de l’Arduino, il y a quelques suggestions sur la façon d’adapter, pour le jury de DigiX.

1. Ajouter un lien de sym aux bibliothèques pour les variantes arduino_due_x/digix Conseil :

Cela fonctionne pour l’échéance (testé avec 1.5.4) :

# cd /usr/local/arduino-1.5.5/hardware/arduino/sam/variants/arduino_due_x/
# ln -s... /.. /System/CMSIS/CMSIS/lib/gcc/libarm_cortexM3l_math.a.

Mais, si vous avez un DigiX (avec 1.5.5), procédez comme suit :

# cd /usr/local/arduino-1.5.5/hardware/digistump/sam/variants/digix/
# ln -s... /.. /System/CMSIS/CMSIS/lib/gcc/libarm_cortexM3l_math.a.

2. modifiez le fichier boards.txt dans deux endroits ajoutant - larm_cortexM3l_math à la ligne de build.extra_flags :

Pour le respect de l’Arduino :

# cd /usr/local/arduino-1.5.5/hardware/arduino/sam
# diff -u boards.txt.0 boards.txt
---12:56:00.498907451 boards.txt.0 2014-02-15 + 0000
+++ 12:57:41.803409801 boards.txt 2014-02-15 + 0000
-13,7 + 13,8
arduino_due_x_dbg.Build.usb_product="Arduino Due »
arduino_due_x_dbg.Build.Board=SAM_DUE
arduino_due_x_dbg.Build.Core=Arduino
-arduino_due_x_dbg.build.extra_flags=-D__SAM3X8E__ - mthumb {build.usb_flags}
+ # MDTE : arduino_due_x_dbg.build.extra_flags=-D__SAM3X8E__ - mthumb {build.usb_flags}
+arduino_due_x_dbg.Build.extra_flags=-D__SAM3X8E__ - mthumb {build.usb_flags}-larm_cortexM3l_math
arduino_due_x_dbg.Build.ldscript=linker_scripts/GCC/Flash.LD
arduino_due_x_dbg.Build.variant=arduino_due_x
arduino_due_x_dbg.Build.variant_system_lib=libsam_sam3x8e_gcc_rel.a
-34,7 + 35,8
arduino_due_x.Build.usb_product="Arduino Due »
arduino_due_x.Build.Board=SAM_DUE
arduino_due_x.Build.Core=Arduino
-arduino_due_x.build.extra_flags=-D__SAM3X8E__ - mthumb {build.usb_flags}
+ # MDTE : arduino_due_x.build.extra_flags=-D__SAM3X8E__ - mthumb {build.usb_flags}
+arduino_due_x.Build.extra_flags=-D__SAM3X8E__ - mthumb {build.usb_flags}-larm_cortexM3l_math
arduino_due_x.Build.ldscript=linker_scripts/GCC/Flash.LD
arduino_due_x.Build.variant=arduino_due_x
arduino_due_x.Build.variant_system_lib=libsam_sam3x8e_gcc_rel.a

Pour le DigiX, apporter des modifications similaires aux fichiers sous /usr/local/arduino-1.5.5/hardware/digistump/sam

3. modifiez le fichier platforms.txt :

Pour l’Arduino Due (testé sous 1.5.4) :

Dans /usr/local/arduino-1.5.5/hardware/arduino/sam, remplacez platform.txt pour ajouter ce qui suit juste après :

Ajouter ceci: "build.variant.path}/libarm_cortexM3l_math.a {"
Juste après « {build.variant.path}/{build.variant_system_lib} »
À la ligne après le commentaire qui dit « Combiner gc-sections, archives et objets »

Voici un diff des changements :

# diff -u platform.txt.0 platform.txt
---12:58:59.011792641 platform.txt.0 2014-02-15 + 0000
+++ 13:00:18.792188245 platform.txt 2014-02-15 + 0000
-55,7 + 55,8
Recipe.ar.Pattern="{Compiler.Path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}"

## Combiner gc-sections, archives et objets
-recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags}-mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" -o "build.path}/{build.project_name}.elf {" "-L{build.path}" -lm - lgcc - mthumb -Wl,--cref -Wl,--check-sections - Wl, - gc-sections - Wl,--entrée = Reset_Handler -Wl,--en suspens-symboles = rapport-tous - Wl, - avertir-common - Wl, - avertir-section-align - Wl, - avertir-suspens-symboles - Wl,--start-groupe "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--groupes terminaux
+ # MDTE : recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags}-mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" -o "build.path}/{build.project_name}.elf {" "-L{build.path}" -lm - lgcc - mthumb -Wl,--cref -Wl,--check-sections - Wl, - gc-sections - Wl,--entrée = Reset_Handler -Wl,--en suspens-symboles = rapport-tous - Wl, - avertir-common - Wl, - avertir-section-align - Wl, - avertir-suspens-symboles - Wl,--start-groupe "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--groupes terminaux
+ recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags}-mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" -o "build.path}/{build.project_name}.elf {" "-L{build.path}" -lm - lgcc - mthumb -Wl,--cref -Wl,--check-sections - Wl, - gc-sections - Wl,--entrée = Reset_Handler -Wl,--en suspens-symboles = rapport-tous - Wl, - avertir-common - Wl, - avertir-section-align - Wl, - avertir-suspens-symboles - Wl,--start-groupe "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.variant.path}/libarm_cortexM3l_math.a" "{build.path}/{archive_file}" -Wl ,--groupes terminaux

Pour le Digix, comme dans les étapes ci-dessus, apporter des modifications similaires au fichier platforms.txt dans :

/usr/local/Arduino-1.5.5/Hardware/digistump/Sam/

Maintenant votre croquis devraient être en mesure d’inscrire des appels à n’importe quoi à libarm_cortexM3l_math.a !

Youpi !

Compilation de ligne de commande avec arduino IDE 1.5 +

Cela semble fonctionner pour le jury de DigiX :

/usr/local/Arduino-1.5.5/Arduino--digistump:sam:digix--/root/Arduino/sketchbook/xblinky/xblinky.ino upload--verbose à bord

Articles Liés

Le ESP8266-12f de programmation à l’aide du logiciel/IDE Arduino

Le ESP8266-12f de programmation à l’aide du logiciel/IDE Arduino

Le ESP8266 est comme un Arduino avec un intégrée WiFi, le MCU et WiFi circuits sont dans la même puce. Envisager Arduino + bouclier WiFi = ESP8266. Dans ce instructable je vais vous donner un guide étape par étape pour se procurer et programmation d'
Transmetteur RF Attiny85 Arduino Uno récepteur (Manchester bibliothèque/w, Arduino 1.0)

Transmetteur RF Attiny85 Arduino Uno récepteur (Manchester bibliothèque/w, Arduino 1.0)

Pour ce projet, vous aurez besoin :Arduino UnoAttiny85Émetteur de 315 MhzRécepteur 315 MhzCondensateur 10uFConseil de painCâbles de démarrage du painCâbles d'un cavalierÉtape 1: Télécharger logiciel Arduino, Attiny soutien et bibliothèque de Radio Ma
Plateforme de robotique Arduino simple de Carduino - A avec sa propre bibliothèque

Plateforme de robotique Arduino simple de Carduino - A avec sa propre bibliothèque

il s'agit, comme le titre l'indique, une plate-forme robotique Arduino, avec sa propre bibliothèque. Le modèle « standard » est livré avec deux moteurs arrière, deux omni-roues à l'avant, et un capteur de distance montés à l'avant. Il a également l'e
Bibliothèque de clavier avec Arduino sans à l’aide du clavier (premier tutoriel)

Bibliothèque de clavier avec Arduino sans à l’aide du clavier (premier tutoriel)

Pavé utilisé habituellement dans la plupart des projets permettant aux clients de traiter avec le projet tel que (Real Time Clock (RTC) pour ajuster le jour, temps, contrôle d'accès,... etc) mais si vous l'utilisez avec la bibliothèque d'Arduino clav
Robot Arduino Arm mixologue

Robot Arduino Arm mixologue

« Mais attendez, » vous dites, « je pensais que RobotGeek déjà publié une instructable sur l'utilisation d'un bras robot pour livrer des boissons! » À qui nous disons: «Oui, mais pas comme ça." Le dernier projet pourrait à plat une boisson à plusieur
Le ESP8266 WeMos-D1R2 de programmation à l’aide du logiciel/IDE Arduino

Le ESP8266 WeMos-D1R2 de programmation à l’aide du logiciel/IDE Arduino

Dans ce Instructable je vous guidera dans les étapes nécessaires pour installer, configurer et programmer le jury WeMos-D1R2 à l'aide de l'IDE Arduino.WeMos-D1R2 est un ESP8266-12 unité microprocesseur activé WiFi pour un encombrement de Arduino-UNO.
Arduino PID bibliothèque - réglage de la luminosité

Arduino PID bibliothèque - réglage de la luminosité

définitions de PID :Le contrôleur proportionnel/intégrale/dérivé ou le régulateur PID ou le PID juste, est techinics de contrôle d'un processus qui relient des actions proportionnelles intégrale et dérivées, ce qui provoque le signal d'erreur est min
Ce qui est un Arduino ? Pourquoi est-ce que je devrais posséder un ?

Ce qui est un Arduino ? Pourquoi est-ce que je devrais posséder un ?

Si vous vous demandez est-ce qu'une carte Arduino ? Et comment il peut vous aider à faire votre propre projet. Alors ce poste est pour vous d'obtenir une image claire de ce qu'il est.Arduino est un microcontrôleur monocarte et c'est un matériel open
Arduino Serial Terminal Oled avec bibliothèque Adafruit SSD1306

Arduino Serial Terminal Oled avec bibliothèque Adafruit SSD1306

J'ai utilisé la bibliothèque et les graphiques Adafruit_GFX Adafruit_SSD1306 que j'ai fait la plateforme Arduino utilisée comme terminal sérieet les caractères reçus atravez un mini écran OLED, ce n'est que la première partie d'un projet un peu plus
Arduino TFT affichage et polices de la bibliothèque

Arduino TFT affichage et polices de la bibliothèque

Je suis assez fan de l'Arduino comme il y a tellement logiciels déjà disponibles sur l'internet, ce qui rend remplir plus facilement de nouveaux projets !Récemment j'ai acheté quelques écrans TFT 1.8" à bas prix pour un projet, au début je ne pouvais
Bibliothèque de pilote LCD Arduino I2C et PackMan

Bibliothèque de pilote LCD Arduino I2C et PackMan

Ce projet est un port d'Arduino complète d'une Instructable antérieure qui peut être trouvé ici ;Qui s'intitulait instantané...« Microchip PIC Library pour contrôler une 20 de 4 LCD sur I2C »C' est mon premier rendez-vous à l'écriture d'une bibliothè
Bibliothèque d’Arduino pour moteur pas à pas 28BYJ-48 et pilote ULN2003

Bibliothèque d’Arduino pour moteur pas à pas 28BYJ-48 et pilote ULN2003

Le moteur pas à pas 28BYJ-48 avec le pilote ULN2003 semble maintenant tout à fait une configuration courante. Le moteur et le conducteur sont facilement disponibles et à peu de frais. Toutefois, la bibliothèque de moteur stepper arduino standard ne f
Comment utiliser la bibliothèque SRIO pour Arduino

Comment utiliser la bibliothèque SRIO pour Arduino

avec SRIO Library, vous pouvez étendre votre Arduino d'e/s avec registre à décalage 4021 et 74HC595vous pouvez trouver ce tutrorial ici : http://www.e-licktronic.com/en/content/19-tutorial-library-sriohttp://www.e-licktronic.com/en/content/19-tutoria
Importer une bibliothèque de Code pour Arduino

Importer une bibliothèque de Code pour Arduino

Importer une bibliothèque de Code dans l'environnement du logiciel Arduino.Il s'agit d'une compétence que tous ceux qui travaillent au-delà des principes du code de base de l'IDE Arduino auront à un moment donné à apprendre.Ce petit instructable fera