Home

TP ii 1

image

Contents

1. GT 2004 Informatique industrielle CodeWarrior HC12 HI WAVE Boutons LED LCD OBJECTIFS Ma triser l environnement de d veloppement crois Metrowerks Cr er un projet CodeWarrior Corriger les erreurs Utiliser l cran LCD Editer les sources Charger le programme G rer les LED Compiler les sources Utiliser le d bogueur Tester les boutons PREREQUIS Identifier les l ments du langage C Lire et crire avec un pointeur une Appeler une fonction avec des param tres adresse Lire et crire sur un port I O avec des Manipuler les bits avec des masques macros pr d finies NOTES Ce document comprend trois parties Un tutorial compl tement guid une s rie d exercices simples un guide de d pannage AUTEUR Jacques Olivier KLEIN RETOUR d EXPERIENCE Aucun pour l instant DATE de REVISION Version initiale 20 juillet 2004 R vision 24 ao t 04 TPii 1 Tutorial CodeWarrior Menu D marrer iMetrowerks CodeWarrior O x gt Programmes gt Metrowerks File Edit Search Project Debug Window Hel gt Codewarrior MOT V1 2 gt i E CodeWarrior IDE ES EA EH T ai Gg ou dans la barre d outils E La barre de menu principale de CodeWarrior appara t Vous ne fermerez cette fen tre que pour quitter CodeWarrior NE O ou iG File gt New x l Froject Fi i fen tre New s ouvre Fie Object Project name MonProietCodew arrior Da
2. 0 Oss dx Enfin pr f rez 64KB Banked E STAR12h 0 0 d dans un premier temps 64KB g o g STARTZc 0 D0 w x correspond un espace m moire GA Driver and Utilities 0 D x lin aire de 64KB alors que EA Includes H 0 0 H Banked correspond un espace m moire pagin GT 2004 TP R diter un fichier source Dans la fen tre de projet voir feuille pr c dente s lectionner l onglet Files d velopper les groupes en forme de dossier et y rep rer le fichier main c L ouvrir en double cliquant dessus Exp rimentez les diff rents outils de l diteur de texte b 482 in E main c TERE ETE E include starlii h pragma MESSAGE DISABLE C4000 pragma MESSAGE DISABLE C1420 7A capl 7A C1420 void maini woidi et n oubliez pas que vous pouvez toujours annuler plusieurs op rations gr ce la touche CTRL Z Apr s une premi re compilation vous verrez de la couleur correspondant aux diff rents l ments syntaxiques par exemple les fonctions en rouge vif les commentaires en rouge sombre les mot cl du langage en bleu les macros en vert les types et les variables en bleu clair Line 11 Cal23 4 G n rer ST RIZ init putes l Hello World nr 1 LCD sendestring ENS LED _gotoxyil Li LCD printfil rev s DATE _ 1 TIMER_wait 2 TIHER_ CLOCE FER_SECOND HESI whileilii EARGRAPH setlin POT get i 104 TIHER_wait l10 TIMER CLOCK_
3. Le probl me est peut tre s rieux HLYAVE Appelez un enseignant Communication to the target failed En premier lieu si votre composant est WRONG target MEU has no clock or wrong BDM clog aliment sur batterie v rifiez le niveau de CLOCK OR or derivative is secured charge de la batterie SECURED Ensuite v rifier l tat du c ble en nappe 6 broches du BDM Enfin tenter de d s curiser le composant Dans HIWAVE menu ICD 12 item unsecure True Time Simulator amp Real Time Debugger Unsecure derivative Load In order to check the dertvative status secured or Reset unsecured the value of the I0_OEL COUNT is needed to connect to the target a S E for CABLE 12 16 oscillator frequency in MHz C Program Files commana Hes for CABLE12H 200 oscillator frequency in MHz 1 extern i Set MEU Type endif Set MCU Speed I0 DELA COUNT 12 it To set j Set Hardware OFP ifdef EI Set Bank Cancel Help bisabhlelr Lnsecure endif n i for tir En cas d chec me signaler le probl me Vous pouvez essayer de changer d abord le c ble 6 points du BDM puis le bo tier BDM lui m me enfin la carte star12 Si du mat riel est effectivement d fectueux merci de me le signaler 1 2004 TP iid 15
4. Vous y trouverez notamment toutes les fonctions Functions d finies dans le projet pour cette cible Chaque l ment est cliquable et ouvre ainsi le fichier correspond au bon endroit dans l diteur e EE a a aa Eua H a _ ESRGR PH set Dans l diteur un clic droit sur un identificateur BARGRAPH_setlin ouvre un menu contextuel permettant de voir sa BAT get d finition 7 BAT _getvoltage Error partir de la liste des identificateurs ci 2 init contre trouvez la d finition de la fonction Errorlf Dans la fonction 2L_ read 2L_readn Errorlf avec le menu contextuel IC write trouvez la d finition de la fonction a FL writer LCD init De m me dans la fonction LCD_init ouvrez la fonction TIMER_wait Revenez en arri re avec le bouton Back Fermer toutes les fen tres sauf celle du projet et la barre de menu CodeWarrior FL writen r start read it LCD _ clear LOD ankan Lancer le d bogueur HI WAVE et charger le programme en m moire A partir de la fen tre du projet Project gt Debug ou F5 ou Si la compilation est n cessaire elle s effectuera Le d bogueur Cette tape est d licate et il ne faut pas intervenir ni sur le PC ni sur la carte pendant que le chargement s effectue m me si le chargement se passe manifestement mal En cas de probl me voir la rubrique d pannage la fin de ce document Si rien ne se passe quand vous cliquez sur pas consulte
5. FEF_ HS LCD _ gotosyi0 1 LCD printfi PTH A0 2x ex cutable Project gt Make ou F7 ou a Une fen tre pr sente l tat E MonProjetCodeWarrior mcp Files Link Order Targets 3 Fash 64KB TEMHA JE Du B a D B La ER EE d avancement de la El Sources Ki Es is B com lation du H E Startup Code pa m p eo d a 549 projet 192 dm i 5TAR12 h H STARAT2e 357 xj EEH Drivers and Utilities 1 Zi ra Ea laah ds TAT E Building MonProjetCodeWarrior mcp x Project MonProetCodearmior mep Target Fash EEE EMHA Re File Task File Count Line Count STARTZ c Compiling a 0 Totals 2 0 GT 72004 TP ii 7 u Lis Comprendre les messages et corriger les erreurs Ouvrir le fichier main c Modifier dans le source du programme le texte affich par l appel de fonction LCD_sendstring STAR12 FLASH afin qu il affiche votre nom la place de STAR12 FLASH R g n rer l ex cutable Project gt Make ou F7 ou a m 1 T A Fa l Errors and warmings for hlo Al pA Warning C1501 Implicit parameter declaration main c line 3 JA 14004 Linking C tmp MonFrojetCodeWarrior pr Elash pru a QD Link Error L18622 Symbol STARIZ initg in file c itmpiu SRE EE Eh b 400 00 pragma MESSAGE DISABLE C1420 ze C1420 Result o La fen tre des messages appara t Elle contient des informations des avertissements warni
6. e programme en cours STAR12 D CTRL R Reset Target Red marrer le programme sur la STAR12 Le coin inf rieur droit vous indique dans quel tat se trouve la STAR12 Vous devez savoir tout moment si votre programme est en cours d ex cution ou arr t Le programme s ex cute I peut tre P a arr t par le bouton ou par un pa RUNNING ooint d arr t med short Le programme a t arr t Vous pouvez placer un point d arr t observer ou modifier la m moire ou des variables progresser en pas pas F P ll Edl Edl lel Le programme peut tre relanc par Le programme est plant a essay d interpr ter une zone de m moire qui ne contient pas d instruction II faut ILLEGAL_EP A 5 red marrer le programme Lancez votre programme V rifiez qu il affiche votre nom sur la premi re ligne de l cran LCD Tournez le potentiom tre et appuyez sur les boutons Que se passe t il GT 2004 TP R Imbrication des appels de fonction Cette fen tre pr sente l imbrication des appels de lol x fonctions et les argument d appel transmis TIMER wait delais 25 Ici la fonction TIMER wait a t appel e avec LCD qotoxy x 0 y 1 l argument 25 par la fonction LCD gotoxy qui a t main t appel avec les arguments 0 et 1 par main qui a t Startup appel par la fonction de d marrage Startup Arr tez le programme Cliquez sur une fonction dans la fen tre Proc
7. edure pour voir son code Manipuler la m moire Cette fen tre repr sente l tat de la m moire La colonne de gauche repr sente les adresses Les autres colonnes repr sentent des donn es Par d faut le contenu de la m moire est pr sent en hexad cimale mais un menu contextuel bouton droit permet de choisir d autres formats d affichage Changez la valeur de l octet situ l adresse 0000 Que se passe t il sur la carte lorsqu on met la valeur 00 FF 55 Faites de m me avec l adresse 250 Quels sont les bits modifiables II faut double cliquer sur une donn e pour la s lectionner en dition faut ensuite valider la modification avec la touche entr e G1 2004 TPii a Placer un point d arr t Dans la fen tre module s lectionnez STAR12 C Avec le menu contextuel bouton droit placez un point d arr t Set Breakpoint sur la fonction BARGRAPH set Le point d arr t se mat rialise par une fl che n Lancez le programme E II doit s arr ter sur ce point d arr t LURF DDE J DIES Ir J gt iz x00 i PORT Jl connected to Li EI roi M EARGRAPH set UINTS bits UINTS Hit bit value amp 12 lt 81 UINTIS value F l lt lt 8 de de da s a DOLES m ala am am h dal h a e e e a 0x00 E yoi pH Piers UINTS bit UINTS bits bits value In value amp l lt 8 lt 5 Observer e
8. istez pas Faites CTRL ALT SUPPR une seule fois pour faire appara tre la fen tre des t ches S lectionner la t che nomm e Dpmw32 Forcer la t che s arr ter en cliquant sur Fin de t che Le d bogueur doit maintenant se lancer Si vous avez insist en essayant plusieurs fois de lancer le d bogueur vous vous retrouvez maintenant avec plusieurs d bogueurs ouverts parfois une bonne dizaine Ils tentent tous d acc der la carte simultan ment ce qui bien s r n est pas possible Fermer les tous et n en relancez qu un seul V rifier la connexion du connecteur ICD12 BDM Multilink vers le PC et vers la carte ainsi que l alimentation de la carte Valider le message par le bouton OK 12 Si le message suivant appara t Communication Device Specification Communication Device LFTI F Show Protocol F Set CLKSw bit in BDM control register MC95123 o Cancel Help Si le message suivant appara t Set MCU Speed EDM Clack Frequency CLOCK 12 as clock divider Search DI VI DER Use Search to search T Auto detect for a valid frequency Cancel Help GT 2004 TP Se connecter nouveau en validant le bouton Connect Cliquer sur le bouton Search HIWAVE doit vous proposer une valeur de diviseur d horloge raisonnable Classiquement les bonnes valeurs sont 12 ou 13 avec un oscillateur 16MHz et 2 ou 3 avec un oscillateur 50MHZ 14 Si le message suivant appara t
9. ng et des erreurs Error Ces messages sont provoqu s par le compilateur num ro commen ant par un C ou par l diteur de liens num ro commen ant par un L comme linker void main void f STARI1Z 1n1itgi puts Hello World 5 n r LCD sendatring STARIZ FLASH LCD gotozy 0 1 Line 9 Coli Ja Au moins deux ox l diteur de liens E LA E 2 Errors and wamings for Mo Al a doivent appara tre Lorsque le dernier indique que l ex cutable a t JA 11038 auccess Executable file written to C tmp MHonFrojetCode correctement cr vous pouvez poursuivre en ne lan ant le d bogueur Sinon s _ ______________ corrigez vos erreurs Si des avertissements sont pr sents vous devez les lire attentivement pour v rifier qu ils ne correspondent pas une erreur B L40004 Linking C tup MonfrojetCodeNarrioryprui flash pru as EL HE PRESS TC TEE 10 1 EE E J Line 9 Cal1z Jal Note est possible de d sactiver ou de r activer des messages dans le source avec la directive pragma MESSAGE par exemple pragma MESSAGE DISABLE C4000 Desactive le message Condition always is true pragma MESSAGE WARNING C4000 Reactive le message Condition always is true GT 2004 TP g Trouver la d finition d une variable ou d une fonction Ouvrez la liste des identificateurs Window ioli gt Browser Contents ou
10. ns la fen tre New s lectionner l onglet project choisir HCI2 Location Stationnery Avec le C MmpiMonProjetCadew arrior Let bouton Set choisir un r pertoire pour enregistrer le projet de pr f rence sur le disque local c tmp est un bon choix Nommer votre projet dans le champs project name V rifier le type de projet HC12 stationnery le chemin C tmp MonProjet et le nom de votre projet puis valider par le bouton OK Add to Project Project x GT 2004 TPii 1 2 La fen tre New Project s ouvre l i Hew Project S lectionner un stationnery correspondant la carte Select project stationery STAR12 utilis e par exemple Project Stationery STAR12 gt STAR12 en Flash puis C Bugl Target Interface valider par le bouton OK Icd 12 Target Interface Sdi Target Interface Simulator 5STAA12 auto de base Demos En Ram STAR12 40 Cachan en RAM GER ENT H H H H E A E I i MonProjetCodew 0 x s ouvre Vous pouvez choisir ES s xl diff rentes configurations Fash E4KE 16MHZ ET o D ia appel es cibles Fash 64KB 1EMHZ Flash signifie que le programme Flash Banked 16MH2 ira en m moire flash Flash 64KB 50MHz2 16 MHz ou 50 MHz doit Flash Banked SOMH 2 correspondre la fr quence de All Targets s E i l oscillateur install sur votre carte T oOo HS3 Application 0 Ds x ie c H
11. ogram call the root pr if _startuplata Elagss5TARTUP_FLACS_MNOT_INIT_ F le i f initialize the stack pointer E RO T T E fe HLI macro definition in hi Er Ii Le programme n est pas encore lanc Avant de le lancer dans la fen tre module double cliquez sur le fichier main c pour le faire appara tre dans la fen tre de l diteur Ensuite dans la fen tre de source par un cic oroit sur le mot main ouvrez le menu contextuel et s lectionnez Run To Cursor Vous viterez ainsi de ChtmpMonProetCodew arior sources main c vous perdre dans le module de d marrage startup include starl h pragma MESSAGE DISABLE C4000 Cd pragma MESSAGE DISABLE CLA40 7 Cl4z void mainivoid E T l j Set Breakpoint puts TE LCD ser Fun To Cursor LCD got Show Ereakpaints LCD pri Show Location TIER u i Open Source File whileil G1 204 TP iil J7 Contr ler l ex cution du programme Vous pouvez avancer en pas pas ou lancer arr ter l ex cution du programme ou red marrer la carte o gt gt gt STAR12 avec les ic nes de la barre d outils F10 Step Over Avancer d une ligne sans rentrer dans les fonctions ER F11 Single Step Avancer d une instruction en rentrant l int rieur des fonctions MAJ F11 Step Out Finir la fonction en cours si la fonction a une fin ER CTRL F11 Assembly Step Ex cuter une instruction assembleur USER DR F6 Arr ter l
12. r D s qu un bouton est enfonc la LED correspondante doit tre allum e Vous pouvez utiliser les macros PORTA et PTH d finies dans le fichier 6812dp256 h Les LED sont connect s au port A et les boutons au port H Vous pouvez remplacer le code pr sent dans la boucle infinie du programme stationnery An p B 3 Pointeurs et adresses D velopper la m me application mais cette fois ci sans utiliser les macros PORTA et PTH d finies dans le fichier 6812dp256 h Vous devez d finir vos propres pointeurs Le registre PORTA se trouve l adresse 0000H Le registre PTH se trouve l adresse 0260H Un fiche d crit l utilisation des pointeurs pour acc der une adresse G1 2004 TP iil 11 an g B 4 Masque de configuration 0 1 X Coder une application qui r pond au cahier des charges suivant Allumer la seule LED N 3 lorsque le bouton vert est enfonc Les autres LED doivent rester teintes La LED n 3 doit s teindre d s qu on rel che le bouton vert Les autres boutons ne doivent pas avoir d effet sauf le bouton blanc qui ne doit pas tre enfonc sinon la LED s teint Vous pouvez utiliser les macros PORTA et PTH d finies dans le fichier 6812dp256 h Quelle configuration du port H permet d allumer la LED 3 0 1 ou x pour chaque bit 7 6 5 4 3 2 1 0 mH CTTTTTTIT Y p B 5 L application 23 caract res Coder la m me application mais en respectant les contraintes suivantes En dehor
13. r la rubrique d pannage HIWAVE se lance se connecte au bo tier BDM s il est bien Le 4 connect la carte qui doit tre aliment e et au port parall le du PC puis au micro lui m me et enfin charge le executing preload cmd programme en Flash 38 BBEBRER 1 n insister GT 2004 TP A Sauter le module de d marrage startup pour arriver dans la fonction principale main i True Time Simulator amp Real Time Debugger C tmp MonProjetCodeWarrior flash ini Fie View Run ICD 12 Component Window Help i Diela e 218 gt l gt l7 l 2 WE sore ox i C MtmipiM onPraetLode amor sources ST4RATI2C Line a07 ft o hardware _Atartup i jt to set the reset vector several waya are possible JS l define the function with interrupt 07 as done below in the ft 2 add the following line to your prm file VECTOR ADDRESS x J o course even more posibilities exists ft the reset vector must be set so that the application has a defi define aTARTUP FL GS MOT INIT 5F f1 lt lt 1 1 defined i SET FESET YVECTOE 1 void _ interrupt 0 Startupivoidi else void tant Rs NES F endii f purpose l initialize the stack il 2l initialize the RAM copy down init data etc I 0 x o ooo TaRC Auo Symb Global parameters NOINE called from _PRESTART code generated by the Linker _startupData 23 gt tagitartup fort le _ forever initialize the pr
14. s de la boucle infinie Tout est permis Dans la boucle infinie Vous ne devez pas utiliser d appel de fonction Vous ne devez pas utiliser de macro define Vous devez utiliser le moins possible de caract res l int rieur de la boucle infinie Les espaces et retour la ligne ne comptent pas Le record actuel est de 23 caract res pour le corps de la boucle accolades comprises FIN GT 2004 TPii 1 19 NO CONNECT OR NO POWER GT 2004 D pannage La LED de l alimentation sur la carte STAR12 est teinte et rien ne s allume quand on met la carte sous tension Si le d bogueur ne se lance pas quand vous cliquez sur Fermer le programme Navigation en cours uc_monitor55 Metrowerks Codew arrior Sans titre Paint TP Li STdoc doc WordPad Navigation en cours tmp Loadaqm Wptray Imgicon Aduzermor Atiptass AVERTISSEMENT si vous appuyez de nouveau sur Ctr lt S uppr votre ordinateur red marrera Vous perdrez toutes les informations non enregistr es dans tous les programmes en cours d ex cution i Arr ter Annuler Si le message suivant appara t HI WAUE Communication to 1C0 1 2 failed fCD 1 24 15 not connected or has no power TP V rifiez le fusible S il a fondu demandez en un autre votre enseignant ou aux techniciens Sous Windows 95 98 il arrive fr quemment que le d bogueur HIWAVE ne se lance pas C est un bug N ins
15. t modifier des variables Dans la fen tre des variables globales Data 1 rep rez les variables PORTA et PTM Essayez de changer la valeur de PORTA et PTM Que se passe t il dans la fen tre m moire aux adresses 0000 et 0250 Sur la carte GT NM M TP iid JliHll ERROR c FAGD C FANST C FCHPF C FCONY C FMUL C FFEGS C tshcle VREGS C CTYPE C TITI IT TT 7 1 E Data i CRETE 10 xl START2c Auo FOETA 255 volatile unsiqned char FTM 195 volatile unsigned char 10 Manipulations Maintenant fermez le d buggeur HIWAVE fermez l environnement CodeWarrior et cachez vos notes Vous allez le plus rapidement possible cr er et faire tourner sur la carte STAR12 un projet nomm HC12BIDON dans le r pertoire c tmp qui affiche CACHAN THE BEST sur la premi re ligne de l cran LCD Si vous mettez plus de trois minutes vous tres trop long Recommencez avec un nouveau projet HC12 BIDON 2 qui afffiche 2eme essai sur l cran LCD e Sivous mettez moins de 1 minute 45 vous tes bon F licitation C est l heure de la pause e Le record officiel homologu est de 1 minute et 2 secondes e L auteur du sujet un BOUNTY au premier qui descendra sous la minute CC Pause an g 4 Lire l tat des boutons et imposer l tat des LED D velopper une application qui reproduit en permanence sur les quatre LED du bas l tat des quatre boutons poussoi

Download Pdf Manuals

image

Related Search

Related Contents

  D-Link DCS-G900 Digital Camera User Manual  MS2510 Current Loop Receiver User Manual  Operating instructions Vibratory bowl feeder  Manuale di funzionamento parte I (IT)  

Copyright © All rights reserved.
Failed to retrieve file