Le débuggeur pour R8C
KD30
Le débuggeur disponible est gratuit et en plus il est bien !
Pour les impatients, lire la dernière section
Il est disponible sur le site de Renesas
L'initialisation
Il faut choisir le type de micro utilisé (bouton Refer.), les références sont celles incrites sur le micro.
Ne pas cocher la case Monitor Debug

Initialisation du débuggeur
Ensuite, selon la cible, une fenêtre de téléchargement du Rom-Monitor peut apparaître

Fenêtre de téléchargement
L'interface principale est très intuitive et avancé pour du développement embarqué.

Interface de débug avec visualisation des sources C/Assembleur
Principe
Un bout de code, appelée ROM-Monitor est logée en mémoire Flash. Il permet de dialoguer avec l'interface KD30 via l'UART1 du micro.
Cette méthodologie est efficace, mais peut perturber le bon fonctionnement du micro.

Mapping mémoire du ROM-Monitor pour R8C/10 et R8C/11
Les contraintes
Le ROM-Monitor interrompt le déroulement du programme pour remonter des informations vers l'interface graphique.
Ce mécanisme peut perturber le programme à tester et entraîner des erreurs de gestion (interruption non déclenchée à temps !).
Il est possible de limiter ses effets en utilisant le mode FreeRun. L'utilisateur doit alors stopper le micro pour savoir si un Break point est tombé.
Certaines interruptions ne peuvent être utilisées (Watchdog, MatchInterrupt, Rx1, Tx1, ...)
Intégration d'un programme
Lors du Wizard, si vous avez choisit d'utiliser les Standards I/O, n'oubliez pas de définir la routine void init()
Pour permettre une bonne cohabitation avec un programme, il faut respecter certaines règles.
La table des vecteurs principaux étant mobile (selon le registre INTB), si notre programme redéfinit cette table, il est important de conserver les interruptions relatives à l'UART1 du Rom-monitor.
Heureusement, ces adresses d'interruption Rx1 et Tx1 sont fixes.
Déclaration dans HEW
Allez dans le menu Tools - Customize, puis l'onglet Debugger

Intégration du débuggeur dans HEW
KD30 est une limitation de PD30, il est donc normale de déclarer KD30 comme étant PD30.








