DeveloppementR8CSousLinux
Sommaire |
Introduction
Le R8C est un petit micro contrôleur développé par Renesas (Ex Hitachi/Mitsubishi). C'est une version allégée du M16C de Renesas/Mitsubishi.
Grâce à Elecktor, qui fournit une carte facilement adaptable sur des platines d'expérimentation (contre une modeste participation de 12 euros), on peut aisément développer des maquettes de montages à base de micro-contrôleurs puissants.
Les softs fourni par Elecktor/Glynn/Renesas sont gratuit... mais ne fonctionnent que sous Windows... Nous allons donc voir comment ce débrouiller autrement sous notre système favoris.
La compilation
Bon, c'est vrais que l'assembleur c'est super... surtout pour impressionner ces potes... heureusement le R8C est suffisamment puissant pour pourvoir utiliser du code générer par du C.
Or il advient que notre compilateur préféré ( [http:// gcc ) supporte déjà notre petit micro-contrôleur (en réalité il doit supporter surtout son grand frère le M16C, mais vu que les jeux d'instructions sont identiques...). Vous pouvez notamment le récupérer chez Kpit.
Il vous faut récupérer le gnum16cm32c_vXXXX.i386.rpm (désolé pour les gens ayant une autre distrib, mais un petit coup de alien fera l'affaire), pour cela il faut t'authentifier et donner une adresse e-mail, mais les messieurs ne génèrent pas beaucoup de trafique de toute façon.
Une fois installé, il vous faudra mettre à jour votre variable d'environnement PATH pour intégrer le compilateur. Chez moi, les outils de compilations sont préfixés par m32c-elf-
Vous pourrez également constater que le package installe quelques programmes à compiler dans /usr/local/gnum16cm32c_v0701_elf-1/samples. En ce qui nous concernent, on ira dans le sous répertoire R8C pour trouver quelques exemples.
Attention, ces exemples sont destinés au R8C/11 et R8C/17, et non à notre petit R8C/13. Qu'à cela ne tienne, les R8C ce ressemblent beaucoup, et nous avons commencé la rédaction d'un fichier ior8c13.h mis à jour pour les registres de ce dernier.
Liens externes
- Page sur le produit Renesas R8C
- http://www.kpitgnutools.com Chaine de compilation libre GNU officielle pour le M16C
- Site sur le développement pour R8C à partir de GNU/Linux
Le flashage
Comme vous avez put le constater sur le site de NLC, il existe un soft pour flasher le R8C sous Linux, il suffit d'un simple montage pour y arriver. Vous pouvez le retrouver sur ce site.
Le flasher de NLC fonctionne bien, mais il ne supporte pas la gestion du ID diff2rent de 00:00:00:00:00:00:00.
Pour palier à ça, nous avons modifier le flasher M16C de Gaspar Sinai.
Vous trouverez ici un dépot subvesion
svn co http://fr.dotsec.net/svn/zen_flasher/trunk/ zen_flasher
Après une installation traditionnelle
cd zen_flasher make sudo make install
Il y a différentes façons d'utiliser ce programme, notamment en manipulant un fichier rc pour les réglages de base:
cat > .flasherrc << EOF # R8C/M16C flasher rc file # Note values need to be delimited with doule quotes (") # ID programmed in the mcu id="00:00:00:00:00:00:00" # Default serial port used port="/dev/ttyS0" # Defautl serial port speed baud="19200" # Format of the input file format="hex" # Program range from="0x0fe00" to="0x0ffff" # Output file out="flash2.out" # Ignore errors ignore="0" # Quiet mode quiet="0" #sets the communication log level comm_log_level="1" #set the communication log file comm_log_file="/tmp/comm.log" EOF
Vous pour des indices sur les variables :
flasher -h
Ensuite pour flasher le micro-contrôleur a proprement parlé, il vous faudra convertir le .mot (format SREC de Motorola ) généré par votre compilateur en format Needham_Hexadecimal
srec_cat fichier.mot -Needham_Hexadecimal fichier.hex
Ensuit, il reste que à flasher:
flasher -c write-flash fichier.hex