![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
Ce document a pour objectif de faciliter la prise en main d'AvrIO.
Pour utiliser AvrIO sous Windows, il faut disposer d'un environnement de développement correctement configuré. C'est un peu plus compliqué que sous linux mais il nous faut :
Pour faire simple, ATMEL a développé AvrStudio qui est un logiciel gratuit tout à fait compatible avec AvrIO. Son gros avantage est de fournir une fonction mise au point (debug) capable de gérer les débuggers les plus courants (dont AVR Dragon). Son principal inconvénient est sa lourdeur, raison pour laquelle on pourra aussi utiliser des logiciels plus léger comme CodeLite ou même Geany.
Remarque: ATMEL a été racheté par Microchip, ceci aura peut-être des conséquences sur l'avenir de AvrStudio....
Si vous ne disposez pas de ces logiciels sur votre ordinateur, il faut les télécharger et les installer.
Si les logiciels sont déjà installés vous pouvez passer au paragraphe Configuration de l'environnement.
Pour procéder à l'installation, il faut avoir un compte avec les droits
Administrateur
, le mieux est d'avoir un compte personnel non partagé avec d'autres personnes qui développent avec AvrIO.
Télécharger la dernière version de AvrStudio
(qui inclut avr-gcc et ses
outils, make et évidement l'IDE) sur :
Télécharger la dernière version deGit for Windows
qui inclut git, bash et
les utilitaires unix (sed, awk ...) sur :
Choisir la version correspondant à votre version de Windows (Git-X.XX.X.X-64-bit.exe pour un système 64 bits ...)
Le mieux est d'avoir une version AvrStudio supérieure ou égale à 7.0.1188
Remarque importante
Si vous choisissez la version 7.0.1188, il est possible que l'installation
bloque à la mise à jour KB3033929 Windows Update
, dans ce cas utiliser la
commande ci-dessous pour lancer l'installation:
as-installer-7.0.1188-full.exe INSTALLDIR=C:\Info\Atmel\Studio /SystemValidationErrorAsWarning
Pour utiliser la toolchain avec bash
il ne faut pas installer dans Program Files
mais dans un chemin sans espace (C:\Info
par exemple) :
ATTENTION Il faut respecter la consigne ci-dessus !
Lors de l'installation :
AVR 8-bit MCU
Il est préférable de ne pas installer dans Program Files
mais dans un chemin sans espace (C:\Info
par exemple) :
Lors de l'installation valider les choix par défaut sauf :
Use a TrueType font in all console windows
pour la sélection des composants, checkout as-is, commit as-is
pour la configuration des fins de lignes, Enable symbolic links
pour les options supplémentaires (extra)En complément des programmes précédents, il peut être intéressant d'installer quelques éléments supplémentaires:
avrdude
permettant de programmer les microcontrôleurs ATMEL à partir
de la ligne de commande bash
, de CodeLite et même de Geany.libusb-win32-devel-filter
qui permet d'utiliser les programmateurs
USB (Avr Dragon, Avr ICE ...) en dehors de AvrStudio.On commence par le téléchargement :
Weekly Build
64bits en conformité avec notre version
de Windows. epsilonrt
de AvrDUDE sur
http://www.epsilonrt.fr/files/avrdude-6.3-mingw32-epsilonrt.zip (cette version
prend en charge les derniers modèles AVR8 (mega328PB, tiny841 ...) libusb-win32-devel-filter
sur
https://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases Puis on passe à l'installation:
avrdude-6.3-mingw32-epsilonrt.zip
et copier les
fichiers dans dossier C:\Info\Atmel\Studio\7.0\shellutils
libusb-win32-devel-filter
avec les options par défautIl faut enfin configurer libusb-win32-devel-filter
pour lui ajouter le
programmateur qu'on utilise:
LibUSB Filter Wizard
puis choisir Install a device filter
Install
Pour utiliser AvrIO, il faut ajouter le chemin vers la toolchain et ses utilitaires dans le PATH
système, pour ce faire :
Ordinateur
, puis Propriétés
Propriétés système avancées
Variables d'environnement
Path
dans la liste des Variables système
Modifier
et ajouter le chemin de la toolchain et de
ses utilitaires à la fin du Path
(il faut ajouter un point virgule avant
chaque chemin ajouté). Si vous avez installé dans C:\Info
comme conseillé ci-dessus, il faut ajouter
le texte ci-dessous à la fin du Path
: ;C:\Info\Atmel\Studio\7.0\shellutils;C:\Info\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin
Puis, il faut ajouter des variables d'environnement, pour ce faire :
Ordinateur
, puis Propriétés
Propriétés système avancées
Variables d'environnement
Nouvelle...
sous la liste des Variables utilisateur pour...
Nom de la variable
: HOME Valeur de la variable
: %USERPROFILE% puis cliquer sur Ok
Voilà ce que cela devrait afficher :
Il reste à vérifier que tout fonctionne. Lancer Git Bash et exécuter les
commandes ci-dessous (les commandes à taper sont à droite des $
qui ne doivent pas être tapés ! EtudiantSN
désigne l'identifiant de
l'utilisateur en cours):
EtudiantSN@OBIWAN MINGW64 ~ $ pwd /c/Users/EtudiantSN EtudiantSN@OBIWAN MINGW64 ~ $ echo "$HOME-$AVRIO_ROOT" /c/Users/EtudiantSN-C:\Users\EtudiantSN/src/avrio EtudiantSN@OBIWAN MINGW64 ~ $ avr-gcc --version avr-gcc.exe (AVR_8_bit_GNU_Toolchain_3.6.0_1734) 5.4.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Pour la prise en charge des caractères accentués dans Git bash, il faut configurer la fenêtre Git Bash:
Options...
Text
et choisir Locale
fr_FR, UTF-8 pour Character Set
L'installation de AvrIO se fait à partir de Git Bash. Lancer Git Bash et exécuter les commandes ci-dessous:
mkdir ~/src
cd ~/src
git clone http://github.com/epsilonrt/avrio.git
cd avrio
make install
(pas de sudo !)Voilà la fin de la procédure:
EtudiantSN@OBIWAN MINGW64 ~/src $ git clone http://github.com/epsilonrt/avrio.git Cloning into 'avrio'... warning: redirecting to https://github.com/epsilonrt/avrio.git/ remote: Counting objects: 22430, done. remote: Compressing objects: 100% (33/33), done. remote: Total 22430 (delta 8), reused 0 (delta 0), pack-reused 22397 Receiving objects: 100% (22430/22430), 119.27 MiB | 943.00 KiB/s, done. Resolving deltas: 100% (14482/14482), done. Checking out files: 100% (2304/2304), done. EtudiantSN@OBIWAN MINGW64 ~/src $ cd avrio EtudiantSN@OBIWAN MINGW64 ~/src/avrio (master) $ make install C:/Info/Atmel/Studio/7.0/shellutils/make -w -C util/bin install make[1]: Entering directory 'C:/Users/EtudiantSN/src/avrio/util/bin' [UNINSTALL] utils from /usr/local [INSTALL] utils in /usr/local make[1]: Leaving directory 'C:/Users/EtudiantSN/src/avrio/util/bin' C:/Info/Atmel/Studio/7.0/shellutils/make -w -C util/bin install make[1]: Entering directory 'C:/Users/EtudiantSN/src/avrio/util/bin' [UNINSTALL] utils from /usr/local [INSTALL] utils in /usr/local make[1]: Leaving directory 'C:/Users/EtudiantSN/src/avrio/util/bin' Installed for MINGW64
AvrIO peut être utilisé avec n'importe quel IDE prenant en charge les fichiers
Makefile
(AvrStudio 7, CodeLite, Geany, Eclipse ...).
Pour l'instant, la création d'un nouveau projet se fait exclusivement par
la ligne de commande Git bash
La commande à utiliser est avrio-prj
, on peut avoir de l'aide sur cette
commande à l'aide de son option -h
:
EtudiantSN@OBIWAN MINGW64 ~/src/avrio (master) $ avrio-prj -h usage: avrio-prj [Options] [project_name] Ce script permet de créer un nouveau projet pour AvrIo. project_name nom du projet à créer. Si le nom de projet n'est pas fourni, c'est le nom du répertoire courant qui est utilisé. Sans l'option -s, seul un fichier projet CodeLite/AvrStudio est créé. OPTIONS: -h Affiche ce message -f Force l'écrasement de fichiers existants. -g Ajoute les fichiers créés au dépôt git (si projet git) -s Créé aussi un fichier Makefile et un fichier source C (ou C++) -4 Le fichier projet AvrStudio est pour la version 4 (Version 7 par défaut) -b MYPROJECT Création d'une nouvelle carte MYPROJECT (nom en majuscule sans espace) -p partno micro-contrôleur de la nouvelle carte (atmega328p par défaut) -F freq fréquence oscillateur de la nouvelle carte (16000000 par défaut) -c programmer-id programmateur de la nouvelle carte (dragon_isp par défaut) -P port port de programmation de la nouvelle carte (usb par défaut) -L liste les cartes connues par AvrIO
On peut maintenant tester la création d'un nouveau projet AvrIO et sa compilation:
src
par:
mkdir ~/src/monprojet
(Pas d'espaces !!!) cd ~/src/monprojet
avrio-prj -s monprojet
ls
nous permet de voir les fichiers créés:EtudiantSN@OBIWAN MINGW64 ~/src/monprojet $ ls Makefile monprojet.c monprojet.cproj monprojet.project
Makefile
est le fichier qui permet de compiler monprojet.c
est le fichier source à modifier qui contient pour l'instant
le code pour faire clignoter une led monprojet.cproj
est le fichier projet pour AvrStduio 7 monprojet.project
est le fichier projet pour CodeliteOn peut le compiler directement sur la ligne de commande avec make
:
EtudiantSN@OBIWAN MINGW64 ~/src/monprojet $ make avr-gcc (AVR_8_bit_GNU_Toolchain_3.6.0_1734) 5.4.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [CC] monprojet.c [LINK] monprojet.elf [FLASH] monprojet.hex [EEPROM] monprojet.eep [LINK] atmega328p/monprojet.elf [LISTING] atmega328p/monprojet.lss [SYMBOL] atmega328p/monprojet.sym C:\Info\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-nm.exe: atmega328p/monprojet.elf: no symbols [SIZE] AVR Memory Usage ---------------- Device: atmega328p Program: 160 bytes (0.5% Full) (.text + .data + .bootloader) Data: 0 bytes (0.0% Full) (.data + .bss + .noinit)
Si on a une carte Arduino connectée (la carte Arduino étant vue comme un port COM, il n'est pas nécessaire d'avoir LibUSB installé mais il faut AvrDUDE !), on peut la programmer directement à partir de la ligne de commande avec
make program
:
$ make program [CC] monprojet.c [LINK] monprojet.elf [FLASH] monprojet.hex [EEPROM] monprojet.eep avrdude -p atmega328p -P COM4 -c arduino -U flash:w:monprojet.hex avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e950f (probably m328p) avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "monprojet.hex" avrdude: input file monprojet.hex auto detected as Intel Hex avrdude: writing flash (160 bytes): Writing | ################################################## | 100% 0.05s avrdude: 160 bytes of flash written avrdude: verifying flash memory against monprojet.hex: avrdude: load data flash data from input file monprojet.hex: avrdude: input file monprojet.hex auto detected as Intel Hex avrdude: input file monprojet.hex contains 160 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 0.04s avrdude: verifying ... avrdude: 160 bytes of flash verified avrdude done. Thank you.
Si cela ne fonctionne pas, c'est qu'il faut modifier le port série utilisé par
AvrDUDE pour communiquer avec la carte Arduino. Pour cela ouvrir le fichier
Makefile
, dé-commenter et modifier la ligne AVRDUDE_PORT = COM4
pour qu'elle
corresponde au port COM de la carte Arduino.
Il existe plusieurs autres cibles à fournir à make, par exemple:
make rebuild
permet de recompiler complètement le projet make clean
permet de nettoyer le projet make distclean
permet de nettoyer complètement le projet (pour le remettre
dans son état initial). Comme on l'a vu précédemment, un projet AvrIO créé un fichier .project permettant de l'utiliser avec CodeLite:
MonWorkspace
puis Add an Existing Project
et ajouter
le projet monprojet.project
Comme on l'a vu précédement, un projet AvrIO créé un fichier .cproj permettant de l'utiliser avec AvrStudio 7:
La notion de Workspace existe aussi sous AvrStudio 7, cela s'appelle une solution, par contre, une solution est automatiquement crée si on ouvre un projet isolé, donc pas besoin de la créer manuellement:
monprojet.cproj
à l'aide du menu File
Il n'est pas possible d'effectuer un debuggage sous AvrStudio 7 avec une carte Arduino (sauf à écraser son firmware), nous verrons donc cette fonctionnalité plus bas avec un projet pour une carte personnalisée.
Si votre carte n'est pas une Arduino, AvrIO connait un certain nombre de cartes
commercialisées par ATMEL, OLIMEX... Une liste des cartes supportées est
données par avrio-prj -L
:
EtudiantSN@OBIWAN MINGW64 ~/src/avrio (master) $ avrio-prj -L STK200 USBKEY BUTTERFLY DVK90CAN1 UNO ETHERNUT1 AVRUSBSTK AVRUSBSTK_M32U2 AVRCAN IDWARF_NODE IDWARF_BOX MAVRIX MAVRIX_RELOADED SOLARIX DMNET_HUB DMNET_STK200 DMNET_SERVER_IHM TOUERIS_IHM GIFAM_TESTER GIFAM_CHIP USBKEY_MSL DVK90CAN1_XBEE XPLBEE MTO_TEMPLATE SOLARPI_HUM SOLARPI_LUM SOLARPI_PRESS SOLARPI_ETEMP SOLARPI_ITEMP SOLARPI_TX SOLARPI_RX XNET_NODE CHIPIO_XNET CHIPIO_SOLARPI APRS_TRACKER APRS_SHIELD P1_HUM P6_LUM P8_PRESS P9_TEMPE P10_TEMPI
Une description des cartes disponibles est présente dans le fichier avrio/boards.txt :
$ cat boards.txt ############################################################################# # List of target boards supported by AVRIO # ############################################################################# ------------- fabriqué par ATMEL STK200 STK200 Starter Kit http://www.atmel.com/dyn/resources/prod_documents/doc1107.pdf USBKEY AT90USBKey - AT90USB Evaluation Kit http://www.atmel.com/dyn/resources/prod_documents/doc7627.pdf BUTTERFLY AVR Butterfly Evaluation Kit http://www.atmel.com/dyn/resources/prod_documents/doc4271.pdf DVK90CAN1 DVK90CAN1 - AT90CAN128 Development Kit http://www.atmel.com/dyn/resources/prod_documents/doc4381.pdf DVK90CAN1_XBEE DVK90CAN1 - AT90CAN128 Development Kit Equipé d'une carte d'extension XBee sur connecteur EXT_CON1 http://www.atmel.com/dyn/resources/prod_documents/doc4381.pdf ------------- fabriqué par ARDUINO UNO Arduino UNO http://arduino.cc/en/Main/arduinoBoardUno ------------- fabriqué par EGNITE ETHERNUT1 Ethernut 1.3 http://www.ethernut.de/pdf/enhwm13e.pdf ------------- fabriqué par OLIMEX AVRUSBSTK AVR-USB-STK development board http://www.olimex.com/dev/pdf/AVR/AVR-USB-STK.pdf AVRUSBSTK_M32U2 AVR-USB-STK development board modified with ATmega32U2 MCU http://www.olimex.com/dev/pdf/AVR/AVR-USB-STK.pdf AVRCAN AVR-CAN development board http://www.olimex.com/dev/pdf/AVR/AVR-CAN.pdf ------------- fabriqué par chip45 IDWARF_NODE iDwaRF-328 V1.2 board http://download.chip45.com/iDwaRF-328_V1.2_infosheet.pdf IDWARF_BOX iDwaRF-BOX V1.2 board http://download.chip45.com/iDwaRF-BOX_V1.2_infosheet.pdf ------------- fabriqué par epsilonRT MAVRIX Carte mère du robot mAVRix MAVRIX_RELOADED Carte mère du robot mAVRix équipée de l'extension RELOADED. SOLARIX Carte mère du projet Solarix. DMNET_HUB Hub du projet DomoNET DMNET_STK200 Emulation de DomoNET sur une carte STK200 DMNET_SERVER_IHM Carte IHM du serveur DomoNET TOUERIS_IHM Carte IHM du projet Toueris GIFAM_TESTER Carte du testeur GIFAM GIFAM_CHIP Circuit contrôleur GIFAM APRS_TRACKER Carte tracker APRS du projet SolarPi 2014 APRS_SHIELD Shield Arduino tracker APRS du projet SolarPi P1_HUM Carte capteur humidité du projet SolarPi 2014 P6_LUM Carte capteur luminosité du projet SolarPi 2014 P8_PRESS Carte capteur pression du projet SolarPi 2014 P9_TEMPE Carte capteur température extérieure du projet SolarPi 2014 P10_TEMPI Carte capteur température intérieure du projet SolarPi 2014 SOLARPI_HUM Carte capteur humidité du projet SolarPi 2016 SOLARPI_LUM Carte capteur luminosité du projet SolarPi 2016 SOLARPI_PRESS Carte capteur pression du projet SolarPi 2016 SOLARPI_ETEMP Carte capteur température extérieure du projet SolarPi 2016 SOLARPI_ITEMP Carte capteur température intérieure du projet SolarPi 2016 SOLARPI_TX Carte transmission nacelle du projet SolarPi 2016 SOLARPI_RX Carte réception station-sol (Shield Arduino) du projet SolarPi 2016 CHIPIO_SOLARPI Circuit ChipIo du serveur nacelle du projet SolarPi 2016 XNET_NODE Carte Node du système domotique XNet CHIPIO_XNET Circuit ChipIo du serveur XNet XPLBEE Carte xPLBee MTO_TEMPLATE Carte modèle pour station météo du projet domogik-plant 2017 ------------- manufactured by user. The user can use a personal configuration using avrio-make without -B option. In this case, you must change the board.mk file and the module files used by the target in the folder avrio/projects/template/board.
On peut modifier la carte cible en modifiant la variable BOARD
dans le Makefile
avec l'une des valeurs données par
Le gros avantage d'AvrIO est de pouvoir être adapté facilement à une carte personnalisée. Pour cette partie, nous allons considérer que nous avons une carte personnalisée avec les spécifications suivantes:
Nous utiliserons un Avr Dragon pour la programmation et le debug.
Nous décidons de baptiser notre carte MYBOARD. La première chose à faire est de créer un répertoire dans ~/src:
mkdir ~/src/myboard cd ~/src/myboard
Puis on crée le projet:
avrio-prj -s -b MYBOARD -p attiny841 -F 8000000 myboard
Un ls
nous permet de voir les fichiers créés:
ls board/ board.mk Makefile myboard.atsln myboard.c myboard.cproj myboard.project myboard.workspace src/ test/
Nous avons déjà présenté les fichiers Makefile, .c, .cproj et .project. Voici une description succincte des nouveaux:
myboard.workspace
fichier workspace pour CodeLite myboard.atsln
fichier solution pour AvrStudio 7 board.mk
fichier de description de la carte personnalisée. C'est dans ce
fichier que l'on trouve la configuration du modèle de microcontrôleur, de la
fréquence d'horloge et du programmateur utilisé. board/
dossier où l'on trouve les fichiers de description des fonctions de
la carte, c'est dans ce dossier qu'on va pouvoir décrire leds, boutons poussoirs,
liaisons série, i2c, 1-wire ... Chaque fonction est associée à une fichier
avrio-board-XXXX.h
(XXXX décriant la fonction). Ce dossier contient un exemple
de fichier pour chaque fonction prise en charge par AvrIO afin de servir de
modèle. test/
dossier où l'on mettra les programmes de test unitaires de la carte, à
l'initial, il n'y a qu'un test: celui des leds. src/
dossier où l'on mettra les fichiers sources spécifiques à notre carte.La première chose à faire est de modifier les fichiers avrio-board-XXXX.h
associés aux fonctions prévues sur la carte: leds, boutons poussoirs et liaison
série.
Premièrement, nous allons ouvrir le fichier solution avec AvrStudio 7 afin de pouvoir modifier les fichiers puis nous verrons comment on programme et on débogue.
Une fois AvrStudio 7 lancé et la solution ouverte, nous allons nous occuper de la fonction led.
Voilà la partie intéressante de avrio-board-led.h
qu'il va falloir modifier:
/* constants ================================================================ */ #define LED_QUANTITY 1 #define LED_LED1 _BV(5) #define LED_ALL_LEDS ( LED_LED1 ) #define LED_NO_LED (0) #define LED_DBG LED_LED1 /* types ==================================================================== */ typedef uint8_t xLedMask; /* inline public functions ================================================== */ // ------------------------------------------------------------------------------ static inline void vLedClear (xLedMask xMask) { PORTB &= ~(xMask & LED_ALL_LEDS); } // ------------------------------------------------------------------------------ static inline void vLedInit (void) { DDRB |= LED_ALL_LEDS; vLedClear (LED_ALL_LEDS); } // ------------------------------------------------------------------------------ static inline void vLedSet (xLedMask xMask) { PORTB |= (xMask & LED_ALL_LEDS); } // ------------------------------------------------------------------------------ static inline void vLedToggle (xLedMask xMask) { PORTB ^= (xMask & LED_ALL_LEDS); }
Nous avons quelques #define
à modifier et les fonctions inline
à modifier
pour faire en sorte de pouvoir commander la seule led que nous avons qui est
connecté sur PA3
et qui est active à l'état bas.
Une fois adapté, le fichier est le suivant:
/* constants ================================================================ */ #define LED_QUANTITY 1 #define LED_LED1 _BV(3) #define LED_ALL_LEDS ( LED_LED1 ) #define LED_NO_LED (0) #define LED_DBG LED_LED1 /* types ==================================================================== */ typedef uint8_t xLedMask; /* inline public functions ================================================== */ // ------------------------------------------------------------------------------ static inline void vLedClear (xLedMask xMask) { PORTA |= (xMask & LED_ALL_LEDS); } // ------------------------------------------------------------------------------ static inline void vLedInit (void) { DDRA |= LED_ALL_LEDS; vLedClear (LED_ALL_LEDS); } // ------------------------------------------------------------------------------ static inline void vLedSet (xLedMask xMask) { PORTA &= ~(xMask & LED_ALL_LEDS); } // ------------------------------------------------------------------------------ static inline void vLedToggle (xLedMask xMask) { PORTA ^= (xMask & LED_ALL_LEDS); }
Comme on peut le voir, les modifications ont consisté à remplacer _BV(5)
par _BV(3)
,
PORTB
par PORTA
, DDRB
par DDRA
et à inverser le niveau logique associé aux
fonctions vLedClear()
et vLedSet()
.
Une fois la modification effectuée, nous pouvons réaliser le test unitaire led. Il faut mettre la carte cible sous tension et y connecter un AVR Dragon sur son connecteur ISP.
Solution Explorer
cliquer droit sur test_led
puis Properties
,
dans l'onglet Device
changer ATmega1284P en ATtiny841 myboard
(ATmega328P en ATtiny841) Solution Explorer
cliquer droit sur test_led
puis Set as Startup Project
Tool
sélectionner votre AVR Dragon et choisir l'interface debugWire
test_led
puis télécharger le programme dans la cible à
l'aide de la commande Start Without Debugging
.Si le microcontrôleur n'est pas en mode debugWire (mais en mode ISP), AvrStudio va vous demander une confirmation et vous demander de débrancher la liaison ISP, de couper l'alimentation de la carte et de rebrancher la liaison.
Si tout c'est bien passé, votre led clignote !
Si l'on souhaite observer le fonctionnement du programme en mode pas à pas, il
suffit d'utiliser la commande Start Debugging and Break
puis:
F10
permet d'exécuter la prochaine instruction ou la prochaine
fonction,F11
permet de descendre dans une fonction pour la déboguer,F9
permet de poser un point d'arrêt sur la ligne du curseurF5
permet de lancer le programme jusqu'au prochain point d'arrêtStop Debugging
, le programme
continuera à tourner en mode 'autonome'.On procédera ainsi pour chaque fonction, le dossier avrio/board/epsilonrt/mto/template
contient les fichiers avrio-board-button.h
et avrio-board-tc.h
(liaison série)
correspondant à notre carte personnalisée.