Home

Manuel Technique - La Taverne des 3i

image

Contents

1. Op rations affectation LISTE DES INSTRUCTIONS DU HCS12 G n rales CLR CLRA CLRB LDAA LDAB LDD LDS LDX LDY LEAS LEAX LEAY STAA STAB STD STS STX STY MOVB MOVW SEX TAB TBA TAP TFR TPA TSX TSY TXS TYS EXG XGDX XGDY De bits CLC CLLCLV SEC SELSEV De pile PSHA PSHB PSHC PSHD PSHX PSHY PULA PULB PULC PULD PULX PULY Op rations arithm tiques et logiques Mise a 0 Chargement Rangement Transferts m moire Transferts de registres Echanges de registres Choix d indicateurs Mise en pile Retrait de pile Arithm ADCA ADCB ADDA ADDB ADDD Addition SBCA SBCB SUBA SUBB SUBD Soustraction MUL EMUL EMULS EMACS Multiplication EDIV EDIVS FDIV IDIV IDIVS Division DEC DECA DECB DES DEX DEY D cr mentation INC INCA INCB INS INX INY Incr mentation CMPA CMPB CPD CPS CPX CPY Comparaison MAXA MAXM MINA MINM EMAXD EMAXM EMIND EMINM Minimax TST TSTA TSTB Test comp a 0 ABA ABX ABY CBA SBA Diverses D calages ASL ASLA ASLB ASLD Arithm tique 4 gauche ASR ASRA ASRB ASRD Arithm tique droite LSL LSLA LSLB LSLD Logique gauche LSR LSRA LSRB LSRD Logique a droite ROL ROLA ROLB Rotation 4 gauche ROR RORA RORB Rotation a droite Logiques ANDA ANDB ANDCC ORAA ORAB ORCC EORA EORB Et Ou Ouexclusif BITA BITB Test de bits NEG NEGA NEGB N gation COM COMA COMB Compl mentation Ruptures de s quence Inconditionnelles Conditionnelles Appel de routine
2. Go Lancement de l ex cution du code utilisateur Format de ligne de commande lt Ad gt Description des param tres Ad Un nombre hexa de 16 bits ou une expression simple Description de la commande Lance l ex cution du code utilisateur en temps r el Avant de commencer tous les points d arr t pos s par la commande BR sont plac s en m moire L ex cution du programme utilisateur se poursuit jusqu rencontrer un point d arr t une interruption ou l appui sur le bouton reset du HC12EVB Quand le code utilisateur s arr te pour une de ces raisons et que D Bugl2 reprend le contr le un message s affiche indiquant les raisons de l arr t S affichent galement les contenus des registres du CPUI2 et le d sassemblage de l instruction l adresse du PC courant Si l adresse de d part n est pas pr cis e dans la ligne de commande l ex cution du programme commence l adresse courante du PC Restrictions Si le compteur ordinal pointe sur une instruction CALL On ne peut pas utiliser la commande Go pour continuer l ex cution du programme Cette limitation est due au fait que D Bug12 trace une instruction avant de continuer l ex cution du programme On ne peut pas tracer l instruction CALL car cela interf re avec le fonctionnement de D Bug12 Exemple g 1000 User Bkpt Encountered SP D CCR SXHI NZVC 38 1004 3 00 OFFF 0000 01 00 1001 0000 xx 1004 26FD BNE 1003 gt GT Go unTil E
3. EMINM 16 EMINM D sed MIN D M M 1 gt D MIN of 2 Unsigned 16 Bit Values N Z Vand C status bits reflect result of intemal compare D 1 MIN D 1 gt M M 1 MIN of 2 Unsigned 16 Bit Values Z Vand status bits reflect result of intemal compare D M M 1 D x Y gt 16 by 16 Bit Multiply unsigned Q zl F gt SI oh D x Y gt Y D 16 Bit Multip 13 Codage Machine 88 ii BB hh 11 Op ration A M Exclusive OR with Memory EORA opr8 EORA EORA EORA oprx0_xysp EORA oprx9 xysp oprix16 xysp EORA D xysp B M gt B Exciusive OR with Memory opri6a EORB xysp EORB 9 EORB 16 EORB D xysp EXG abcdxys abcaxys r1 lt gt 12 if rt and r2 same size or 00 r1 gt 72 if r18 bit r2716 bit or r1 lt gt 02 if r1 16 bit 12 8 08 11 and r2 may be A B CCR D X Y or SP D X gt X Remainder gt D 16 by 16 Bit Fractional Divide D 09 gt X Remainder D 16 by 16 Bit Integer Divide unsigned M 01 gt M Increment Memory Byte INC INC oprxO xysp INC
4. bascule patte de sortie sur comparaison en cas de d bordement 0 pas de bascule Registre de contr le N 1 du timer 80048 To 017 6 OL6 OMS OLS OM4 OL4 TCTL1 Reset 0 0 0 0 0 0 0 Registre de contr le N 2 du timer 0049 OM3 OL3 OM2 OL2 OLI OMO OLO TCTL2 Reset 0 0 0 0 0 0 0 0 OMx Mode de sortie OLx Niveau de sortie Ces huit paires OLx Action de bits de d finir oo de sortie a om on ex cuter a la suite d une comparaison OCx r ussie Hu Quand l un au moins des bits OMx ou OLx est a 1 la patte Bauk lt ne lt sorte ox associ e 4 OCx devient une sortie attach e 4 OCx 1 Mise 1 de la ligne de sortie OCx Registre de contr le N 3 du timer 004A 7 EDG7A EDG6B EDGSB EDGSA EDG4A TCTL3 Reset 0 0 0 0 0 0 0 0 Registre de contr le N 4 du timer 50048 EDG3B EDG3A EDG2B EDGIB EDGIA EDGOA_ TCTL4 0 0 0 Reset 0 0 0 EDGxB EDGxA Contr le des frontsde capture d entr e Ces nr T huit paires de bits de contr le configurent les circuits d tecteurs de front des captures d entr e Les quatre paires de bits de contr le de TCTLA configurent aussi les accumulateurs d impulsions 8 bits PACO 3 Action Capture d valid e Capture sur fronts montants Capture sur fronts descendants Capture sur fronts 44 Registre de validation des interruptions soc Cs C3I 21
5. 000E 0 o o 0 0 ESTR EBICTL Reset 0 0 0 0 0 0 0 0 Sans effet en mode single chip Registre 000F r serv Registre d initialisation de la position de la RAM interne MMC 0010 RAMIS RAMI4 0 RAMHAL INITRM 0 0 0 Reset 0 1 0 0 1 Les 5 bits poids forts initialisent l adresse de base de RAM interne RAMHAL 1 la m moire s aligne sur le haut 0 sur le bas On lit 21 sur le kit 41 Registre d initialisation de la position des registres internes MMC o REGI4 REGI3 REGII 0 0 INITRG 0 0 0 Reset 0 0 0 0 0 Les 5 bits poids forts initialisent l adresse de base du bloc des registres On lit 0 sur le kit Registre d initialisation de la position des registres de P EEPROM interne MMC 0012 EE15 EEI4 FEB 12 0 EEON INITEE Reset 0 0 0 0 0 0 0 1 Les 5 bits poids forts initialisent l adresse de base de l EEPROM EEON 1 valide P EEPROM lit 09 sur le kit Registre de contr le syst me divers MMC 9 o EXSTRI EXSTRO ROMON MISC Reset 0 0 0 0 1 1 0 1 EXSTRI et EXSTRO n ont aucun sens en single chip li s l tirement d horloge ROMHM 1 ROM ou EEPROM seulement dans les adresses hautes gt 7FFF ROMON 1 valide la ROM ou EEPROM Registre de test r serv MMC 0014 o 0 0 0 0 0 0 o MrsTI Registres de contr le des tests d interrupton INT Pas utilisables en mode single chip
6. l interruption valid e PIEJx O interruption invalid e Registre d indicateurs d interruptions du port J 0268 Pm D I TI 0 0 PIFJO PIFJ Reset 0 0 0 0 Chaque indicateur est mis sur un front actif de la patte d entr e associ e front montant ou descendant selon le registre PPSJ Pour remettre le bit PIFJx 0 crire un 1 dessus L criture d un 0 est sans effet 56 Carte d application EVB12 Les sch mas de la carte de TP qui figurent a la suite sont tir s des fichiers HCS12 TBV100 MANUAL PDF et HCS12TVB100 SCHEMA PDF Ils d crivent la carte originale nue sans pr juger des annexes qu on sera amen y ajouter durant les TP 57 Implantation des composants C23 2 58 102 VDO OUT mp C19 128n F RNSUD 5 188n SUPPLY BOM EXT BRI Open external URH CloseC URHZUDDA BR2 BR OpenOO Xtal Clock 80 4 x e SDA 52 Close OSC Clock 8 82 optional DE x ar 12 E O ES DH 12 D DH 15 C Se Ce A 2 PK RXD DK PK MISO DK S 5 al 2 0 see else 2 5 8 5 5 512 T Board T j T N 7 52 z http www elektronikladen de hcsi2tb html 2i gt 022002 by Oliver Thamm MCT Elektronikladen GbR Leipzig 1
7. 9 INC opr 16 INC D xysp INC foprxt6 xysp INCA 01 gt A Increment Acc A B 01 gt B Increment Acc B X 0001 gt X increment Index Register X Y 0001 gt Y Increment Index Register Y Routine address PC Jump JMP 9 16 JMP D xysp SP 2 gt SP RTN H RTN L M SP M SP 1 Subroutine address Jump to Subroutine JSR xysp JSR oprx9 xysp JSR oprx16 xysp Long Branch if Carry Clear 0 Long Branch if Cary Set C 1 Long Branch if Equal Z 1 Long Branch Greater Than or Equal 48 N V 0 signed Long Branch if Greater Than 43 Z HN V 0 signed Long Branch if Higher TZ 0 unsigned 443 LBEQ re f6 LBGE reit 2 gy rr LBHI re t6 22 qq rr LBHS re 16 Long Branch if Higher or Same 43 24 aq rr 0 unsigned Same function as LBCC LBLE Long Branch if Less Than or Equal 483 2F qq rr Z V 1 signed Long Branch if Lower 43 25 qq xr 1 unsigned Same function as LBCS LBLS 1 Long Branch if Lower or Same 4 3 23 qq rr C Z 1 unsigned LBLT rert6 Long Branch if Less Than 4 3 20 qq rr N V 1 signed LBMI 76 Long Bran
8. B ou D par rapport X Y SP ou PC oprx3 Toute valeur enti re positive entre 1 et 8 pour un pr post incr ment d cr ment oprx5 Tout entier entre 16 et 15 oprx9 Tout entier entre 256 et 255 oprx16 Tout entier entre 32 768 et 65 535 page valeur 8 bits de PPAGE Certains assembleurs exigent le symbole avant la valeur rel8 Adresse relative de destination d un branchement entre 256 et 255 rel9 Adresse relative de destination d un branchement entre 512 et 511 rel16 Adresse relative sur 64 K d espace m moire trapnum Tout entier de 8 bits entre 30 et 39 ou entre 40 et FF X ou Y ou SP Xysp X ou Y ou SP ou PC Op rateurs Addition Soustraction e Et logique OU logique inclusif OU logique exclusif x Multiplication Division M N gation Compl ment 1 inverse chaque bit de M Concat nation Exemple A B signifie la valeur 16 bits form e en concat nant l accumulateur 8 bits A avec l accumulateur 8 bits B A est le poids fort Transfert Exemple M signifie que le contenu de l accumulateur A est transf r dans l emplacement m moire Echange Exemple D amp X signifie l change du contenu de D avec celui de X Dur e La colonne dur e indique la dur e de chaque instruction en cycles machine Les instructions de branchement conditionnel ont deux dur es suivant que la condition est r
9. pa gt PPAGE register Program address gt PC Call subroutine in extended memory Program may be located on another expansion memory Indirect modes get program address and new pg value based on pointer Compare 8 Bit Accumulators Does not change Accumulators CLRB 02M Clear Memory Location 0 A Clear Accumulator A 0 B Clear Accumulator B opr a opr16a xysp CMPA oprx9 xysp oprx16 xysp D xysp A M Compare Accumulator A with Memory Does not change Accumulator or Memory D DB QI GI P oprxO xysp CMPB oprx9 xysp oprx16 xysp CMPB D xysp B M Compare Accumutator B with Does not change Accumulator or Memory 12 Source Mode COM COM opt xysp COM 9 COM oprx16 xysp COM COM oprx16 xysp COMA COMB M 2 M equivalent to FF M T s Complement Memory Location A gt A Complement Accumulator Complement Accumulator oe EXT IDX IDX1 IDX2 D IDXI IDX2 INH INH CPD opr16i CPD opr8a CPD opr16a oprx0 xysp 9 CPD oprx16 xysp CPD D xysp 1 Compare D to Memory 16 Bit Does not change Accumulator or Memory DIR EXT IDX IDX1 IDX2
10. tre l adresse absolue de destination L assembleur calculera l offset du branchement On termine la fonction d assemblage d sassemblage par un point apr s l invite de l assembleur Exemple asm 1000 xx 1000 1000 LDX 51000 gt 1003 09 DEX gt xx 1004 26FD BNE 1003 gt xx 1006 20FE BRA 1006 gt BF Block Fill Remplir un bloc m moire d une donn e Format de ligne de commande BF lt Ad d but gt lt Ad fin gt lt Donn e gt nv Description des param tres Ad d but Un nombre hexa de 16 bits ou une expression simple Ad fin Un nombre hexa de 16 bits ou une expression simple Donn e Un nombre hexa de 8 bits Description de la Commande Remplit avec le m me octet tous les emplacements d une zone m moire Ad d but gt est le premier rempli et Ad fin gt le dernier Si on omet le param tre lt Donn e gt il la valeur 00 Exemple bf c00 fff 00 x x ff 55 gt 22 BReakpoint Pose Affiche les points d arr t Format de ligne de commande BR lt Ad gt Description des param tres Ad Un nombre hexa de 16 bits ou une expression simple Description de la Commande Pose un point d arr t une adresse donn e ou affiche les pr c dents La fonction d un point d arr t est d arr ter l ex cution du programme quand il atteint l adresse du point d arr t Alors D Bug12 d sassemble l instruction au point d arr t affiche le contenu des registres
11. D IDXI SP M M 1 Compare SP to Memory 16 Bit Does not change Accumulator or Memory CPX xysp CPX 9 CPX oprx16 xysp CPX D xysp X MM 1 Compare X to Memory 16 Bit Does not change Accumulator or Memory oprx9 xysp oprx16 xysp CPY ID xysel Y 1 Compare Y to Memory 16 Bit Does not change Accumulator or Memory s DEC DEC oprx9 xysp DEC DEC D xysp DEC foprxt6 xysp DECA DECB 501 gt Decrement Memory Location A 01 A Decrement B 01 Decrement 5 0001 gt X Decrement Ind Reg X gt Remainder gt D 16 Bit 16 Bit Divide unsigned si A mama wala D Do D N O B Q Dok X gt Y Remainder D 16 Bit 16 Bit Divide signed N EMAXD oprxO xysp EMAXD oprx9 xysp EMAXD oprx16 xysp MAX D 1 gt D MAX of 2 Unsigned 16 Bit Values N Z V and C status bits reflect result of internal compare D M M 1 MAX D MM 1 gt M M 1 MAX of 2 Unsigned 16 Bit Values N Z V and C status bits reflect result of internal compare D M M 1 EMIND oprxG xysp EMIND oprx xysp EMIND 16 EMIND D xysp EMIND foprx 16 EMINM EMINM 9
12. INTERRUPTIONS D Bugl2 comporte des gestionnaires d interruption par d faut pour tous les vecteurs d interruptions reconnus par MC9S12DP256 Cependant pour permettre au programmeur de travailler sous interruption D Bug12 fournit une table de vecteurs en RAM Chacune des 64 entr es de la table consiste en une adresse sur deux octets la table commen ant en 3E00 Initialement toutes les cases du tableau contiennent l adresse 0000 Y mettre une adresse diff rente entra ne l ex cution de la t che point e par l adresse quand l interruption associ e se produit La t che fournie par l utilisateur doit se terminer par l instruction RTI pour que le programme principal puisse reprendre l o il avait t interrompu En cas d interruption non masquable si la case correspondante du tableau contient l adresse par d faut 0000 D Bug12 prend la main et affiche un message indiquant la source de l interruption ainsi que les registres du CPU au moment de l interruption La Figure 4 montre la correspondance entre la source d interruption et le vecteur en RAM sur deux octets Noter que bien qu il y ait une case dans la table pour SCIO un remplacement de cette adresse sera ignor puisque D Bug12 se sert du SCIO pour toute sa communication RAM Vector Bus 3E40 R serv FF84 3E04 SCME 3E44 Mie he R serv FF88 3E08 D bordement Pulse Accumulator B 3E48 Modulus Down Counter Underflow 3E4A Arr t d urgence PWM 3E0C I
13. M C gt B Subtract with Borrow from B opr8a STAA opr16a STAA oprxO xysp STAA oprx9 xysp STAA oprx16 xysp STAA D xysp STAA 16 5 A M Store Accumulator to Memory STAB opr a STAB STAB xysp STAB oprx9 xysp STAB oprx16 xysp STAB D xysp B gt M Store Accumulator B to Memory STD STD oprx0_xysp STD oprx9 xysp STD 16 STD D xysp B M 1 Store Double Accumulator 1 3 3 3 3 4 6 6 1 3 3 3 3 4 5 5 2 3 2 3 3 4 4 2 3 2 3 3 4 4 2 3 2 3 3 4 4 SP 2 gt SP RTN H RTN L gt M SP SP SP 2 gt P Y H Y L gt M SP sP 1 SP 2 gt SP X H X L gt M SP t SP 1 SP 2 gt SP 2 M SP 521 SP 1 SP CCR gt M 55 STOP Clocks Registers stacked to allow quicker recovery by interrupt If S control bit 1 the STOP instruction is disabled and acts like a 17 AAO Op ration SSC Dur e Mode SP H SP L gt Mai Store Stack Pointer Codage Machine 5 dd STS STS STS STS oprx9 xysp STS 16 STS Ger X HX L 1 Store Index Register X STX STX oprx9 xysp Y uH Y L gt M M t Store Index Register Y A S
14. Reset 0 0 0 0 0 0 0 0 DDRKx 1 configure PKx en sortie 0 configure PKx en entr e Registres attach s au CRG Clock and Reset Generators 0034 SYNS SYN4 SYN3 SYN2 SYNI SYNO SYNR 0035 0 0 REFDV3 REFDV2 REFDVI REFDVO REFDV 0036 0 0 0 0 0 0 CTFLG 0037 0 LOCKIF LOCK TRACK SCMIF SCM CRGFLG 0038 0 LOCKIE 0 0 SCMIE 0 CRGINT 0039 SYSWAI ROAWAI PLLWAI CWAI RTIWAI COPWAI CLKSEL 003A AUTO ACQ 0 PRE PCE SCME PLLCTL 003B RTRS RTR4 RTR3 RTR2 RTRO RTICTL 003C 0 0 0 CR2 CRO COPCTL 003D 0 0 0 0 0 0 FORBYP 003E 0 0 0 0 0 0 CTCTL 003F BITS BIT4 BIT3 BIT2 BITO ARMCOP 43 REGISTRES DU TIMER Registre de s lection capture d entr e sortie sur comparaison du timer 0040 1057 1056 1055 1084 1053 1052 1051 1050 5 Reset 0 0 0 0 0 0 0 0 IOSx 1 le canal x fonctionne en sortie sur comparaison 0 le canal x fonctionne en capture d entr e Registre de forcage de sortie sur comparaison 0041 FOC7 FOC6 FOCS FOC4 FOC3 FOC2 FOCI FOCO CFORC Reset 0 0 0 0 0 0 0 0 Force l action de sortie sur comparaison sur les canaux 0 7 L criture d un 1 sur le bit x fait ex cuter imm diatement l action programm e pour la sortie sur comparaison N x Registre de masquage de sortie sur comparaison 7 0042 OC7M7 OC7M6 OC7M5 OC7MA OC7M3 OC7M2 OC7MI OC7MO 7 Reset 0 0 0 0 0 0 0 0 Voir notice d taill e Registre de donn es de la sortie sur co
15. SCAN 1 s quences continues de conversion O une seule s quence MULT La s quence de conversion concerne O un seul canal 1 plusieurs canaux Registre d tat N 0 de l ATDO 80086 SCF 0 ETORF 0 CC2 5 Reset 0 0 0 0 0 0 0 0 SCF est mis la fin d une s quence de conversion Si elles s enchatnent SCAN 1 il est mis la fin de chaque s quence Remis 0 dans les cas suivants Ecriture d un 1 sur SCF criture dans ATDCTLS nouvelle s quence lecture d un r sultat si AFFC 1 ETORF est mis en mode d clenchement par front ETRIGLE 0 si on d tecte d autres fronts pendant la conversion Remis 0 dans les cas suivants Ecriture d un 1 sur ETORF criture sur ATDCTL2 ATDCTL3 ATDCTLA ou ATDCTLS FIFOR indique qu on a crit dans un registre r sultat avant effacement de son bit de conversion compl te CCF Ce flag descend la suite d une des actions suivantes Ecriture d un 1 sur FIFOR criture sur ATDCTLS nouvelle s quence CC2 CCO Compteur de conversions qui pointe sur le registre destinataire de la conversion en cours En mode FIFO FIFO 1 le compteur n est pas initialis et reboucle sur lui m me Sinon le compteur est mis 0 en d but et en fin de s quence de conversion Registre r serv wes Phares Reset 0 0 0 0 0 0 0 0 Registrel de test de ATDO 80089 0 90 SC__ ATDTEST1 0 0 0 0 0 Reset 48
16. alis e ou non Notation des modes d adressage INH Inh rent pas d op rande dans le code objet IMM Imm diat op rande imm diat dans le code objet DIR Direct l op rande est l octet poids faible d une adresse entre 0000 et 00FF EXT L op rande est une adresse 16 bits REL D placement relatif en compl ment deux pour les instructions de branchement IDX Index sans octet d extension comprend D placement constant 5 bits partir de X Y SP ou PC Pr post incr ment d cr ment de 1 8 D placement sur l accumulateur A B ou D IDX1 d placement sign sur 9 bits partir de X Y SP ou PC 1 octet d extension IDX2 d placement sign sur 16 bits partir de X Y SP ou PC 2 octets d extension IDX2 Indirect index d placement 16 bits partir de X Y SP ou PC IDX Indirect index d placement accumulateur D partir de X Y SP ou PC Codage Machine dd Adresse directe 8 bits de 0000 00FF L octet poids fort est suppos 00 ee Octet poids fort d un d placement constant 16 bits en adressage index eb Post octet d change ou de transfert ff 8 bits de poids faible d un d placement constant sign sur 9 bits en adressage index ou octet poids faible d un d placement constant sur 16 bits en adressage index hh Octet poids fort d une adresse tendue 16 bits ii Valeur imm diate 8 bits jj Octet poids fort d une valeur imm
17. mm 800 0800 00 0801 00 ff 0802 00 0801 FF 0802 00 0803 00 55 0803 55 MMW Modify Memory Words modifie les mots m moire au format hexa Format de ligne de commande MMW lt Ad gt lt Donn e gt Description des param tres lt Ad gt Un nombre hexa de 16 bits ou une expression simple lt Donn e gt Un nombre hexa de 16 bits Description de la commande Permet d examiner et ou de modifier le contenu m moire sous forme de donn e hexa 16 bits Si le param tre donn e 16 bits est pr sent dans la ligne de commande l octet d adresse lt Adresse gt est remplac par Donn e Sinon D Bug12 entre dans le mode interactif de modification m moire Dans ce mode chaque mot est affich sur une ligne s par e la suite de son adresse Une fois entr e la commande de modification m moire on dispose de plusieurs sous commandes pour modifier et v rifier les contenus m moire Ces sous commandes sont Data cR Mise jour optionnelle de l emplacement courant et affichage du suivant Data lt Data gt or Mise jour optionnelle de l emplacement courant et r affichage lt Data gt or Mise jour optionnelle de l emplacement courant et affichage du pr c dent lt Data gt Mise jour optionnelle de l emplacement courant et sortie de MM 26 Sauf le retour chariot sous commande doit tre s par e de donn e entr e par au moins un espace En cas de sous comm
18. 5 5 5 11 x 6 x 6 x 5 Y 11 6 v 11 SP 6 SP 6 6 x 10 x 7 4 2 6 Y 10 Y 7 Y 10 SP 7 4SP x7 7 9 8 8 74 Y 0 4 8 9 5 8 SP 8 8 x 8 x 8 X 8 x 8 y 8 y 8 8 SP 8 SP CAO E JU SP 775P xa 10 x 6 x 6 6 10 6 Y 6 Y 6 SP 6 SP 11 5 5 5 11 Y 5 Y 5 Y 5 SP 5 8 XC 19 2 x E E 4 SP 4 SP 137 EE 5 xE 14 x 2 x 2 x 2 x 14 Y 2 y 2 y 2 y 14 sP 2 sP 2 SP xF 1 x 1 X 1 x 15 y 1 y 1 y 1 y 15 sP 1 SP 1 SP 63
19. 5 PERH3 PERH2 PERHO PERH 0 0 0 Reset 0 0 0 0 0 Ce registre configure I activation d un pull up ou d un pull down en entr e PERHx 1 pull activ PERHx 0 pull d sactiv Registre de choix de polarit du port H 80265 PPsH7 PPsHe 5 5 PPSH3 5 2 PPSHO PPSH Reset 0 0 0 0 0 0 0 0 Ce registre a deux usages choisir entre pull up et pull down et choisir la polarit du front d interruption actif PPSHx 1 pull down et front montant PPSHx 0 pull up et front descendant Registre de validation d interruptions du port H 0266 PIEH7 PIEH6 5 PIEH4 PIEH3 PIEH2 PIEH1 PIEHO PIEH Reset 0 0 0 0 0 0 0 0 Ce registre valide ou invalide pour chaque patte le front actif d interruption externe l interruption valid e PIEHx O interruption invalid e Registre d indicateurs d interruptions du port H 0267 PIFH7 PIFH6 PIFHS PIFH4 PIFH3 PIFH2 PIFH1 PIFHO PIFH Reset 0 0 0 0 0 0 0 0 Chaque indicateur est mis sur un front actif de la patte d entr e associ e front montant ou descendant selon le registre PPSH Pour remettre le bit PIFHx 0 crire un 1 dessus L criture d un 0 est sans effet 55 Registre d entr e sortie du port J 80268 PTI7 6 0 0 0 PTJO PTJ 0 0 s Reset 0 0 CAN RXCAN4 SCL SDA Si le bit de direction de donn e de la patte est 1 une lecture donne la valeur du registre de port sinon elle donne v
20. D Bug12 EE80 EEBF Table des routines utilisateur EECO EEFF Table des donn es Customization EFO0 EF8B _ Code de d marrage de D Bug12 EF8C EFFF Table secondaire de Reset Inter 000 FFFF Chargeur bootstrap Figure 5 Carte m moire de D Bug12 en mode EVB pour le MC9S12Dx256 Noter que m me si le MC9S12Dx256 contient 4K octets d EEPROM seuls sont accessibles les 3Koctets d en haut puisque le Koctet inf rieur est recouvert par le bloc des registres De m me bien que la table ci dessus d crive une carte m moire de 64K le code de D Bug12 occupe de la m moire Flash pagin e commengant la page 38 En outre la plupart des pages Fash fixes sont utilis es par D Bug12 38 Adresses d interruption en m moire Flash et en RAM sous D Bug 12 Source d interruption Reserved Reserved Reserved Reserved Reserved Reserved PWM Emergency Shutdown Port P Interrupt MSCAN 4 Transmit MSCAN 4 Receive MSCAN 4 Errors MSCAN 4 Wake up MSCAN 3 Transmit MSCAN 3 Receive MSCAN 3 Errors MSCAN 3 Wake up MSCAN 2 Transmit MSCAN 2 Receive MSCAN 2 Errors MSCAN 2 Wake up MSCAN Transmit MSCAN Receive MSCAN Errors MSCAN Wake up MSCAN 0 Transmit MSCAN 0 Receive MSCAN 0 Errors MSCAN 0 Wake up Flash EEPROM SPI2 5 Adresse Source d interruption IIC Bus DLC SCME CRG Lock Pulse Accumulator B O
21. Echange de D et Y RESUME DES PRINCIPALES INSTRUCTIONS Ce r sum pr sente en quelques lignes les principales instructions Il en existe d autres qu on trouvera dans la liste compl te du fichier CPU12RG PDF On trouvera le mode d emploi d taill de chaque instruction dans le fichier CPU12RM PDF Notations utilis es Registres du CPU Accumulateur A A oua Registre d index Y Y ou Accumulateur B B ou b Pointeur de pile SP sp ou s Accumulateur D D ou d Compteur ordinal PC pc ou p Registre d index X X ou x Registre de codes de condition CCR ou c Expressions italiques de la premiere colonne Source abc ou B ou CCR abcdxys A ou ou CCR ou D ou X ou Y ou SP Quelques assembleurs autorisent T2 ou T3 abd A ou Bou D abdxys A ou B ou D ou X ou Y ou SP dxys D ou X ou Y ou SP msk8 masque 8 bits Quelques assembleurs exigent le symbole avant la valeur opr8i valeur imm diate 8 bits opr16i valeur imm diate 16 bits opr8a adresse 8 bits utilis e avec le mode d adressage direct opr16a adresse 16 bits oprx0_xysp Post octet d adressage index 3 Pr d cr ment de X Y ou SP de 1 8 oprx3 xys Pr incr ment de X Y ou SP de 1 8 oprx3 xys Postd cr ment de X Y ou SPde 1 8 oprx3 x y s Postincr ment de X Y ou SP de 1 8 oprx5 xysp D calage constant de 5 bits par rapport X Y SP ou PC abd xysp D calage accumulateur
22. PAEN 1 Voir tableau ci contre CLKI CLKO Voir tableau ci contre Si l accu est d valid PAEN 0 Vhorloge du pr diviseur du timer sert horloge d entr e du compteur du timer PAOVI Demande d interruption sur PAOVF 0 non transmise 1 transmise PAI Demande d interruption sur PAIF 0 non transmise 1 transmise 45 1 Boma CLK1 CLK0 Horloge Source 0 0 Horloge du pr diviseur timer 0 1 PACLK 1 0 PACLK 256 1 1 PACLK 65536 Registre d indicateurs de l accumulateur d impulsions 16 bits A 0061 9 0 o 0 0 PAIF PAFLG Reset 0 0 0 0 0 0 0 0 mis si PACA 16 bits passe de FFFF 0 ou si PAC3 8 bits passe de FF 0 On le remet 40 en crivant un 1 PAIF Mis quand le front choisi est d tect sur la patte PT7 En mode v nement le front v nement d clenche PAIF et en chronom tre le front de fin de porte d clenche PAIF On le remet 0 en y crivant un 1 Registre de comptage N 3 de l accumulateur d impulsions 0062 PACNT7 15 6 14 5 13 4 12 2 10 1 9 PACNTO 8 PACN3 Reset 0 0 0 0 0 0 0 0 Registre de comptage N 2 de l accumulateur d impulsions 0063 PACNT7 6 PACNTS PACNT3 PACNT2 PACNTO 2 0 0 0 Reset 0 0 0 0 0 Les deux accus 8 bits PACN3 et PACN2 sont cascad s pour former 16 bits PACA Quand PACA est valid bit PAEN duregistre
23. Registre de contr le N 3 de PATD0 0083 0 S8C S2C SIC FIFO FRZI FRZO Reset 0 0 1 0 0 0 0 0 S8C pa 526 nombre Ne de 88 sac 52 sic NC S8C conversions par s quence cf tableau ci contre o o Ilo 11101 FIFO 0 Les conversions sont rang es 3 partir du ler _ M TEIS 0 0 0 1 1 0 1 0 gistre 1 Les conversions sont rang es la suite 2 0 1 ll FRZI FRZO Possibilit de gel de sur point d arr t 0 0 1 1 3 0141141 0 1 0 0 4 1 X X Registre de contr le N 4 de l ATDO 0084 SRES8 SMP1 SMPO PRS4 PRS3 PRS2 PRSI PRSO 0 0 Reset 0 0 0 1 0 1 SRESR 1 8 PIS n bits 8 4 5 1 SMP ongueur 2 phase d chantillonnage SMPI et SMPO d finissent la longueur 2 phase d chantillonnage 0 To 2 p riodes d horloge de conversion A D Les 5 bits suivant d finissent le pr diviseur PRS La fr quence de g l horloge de conversion est calcul e partir de l horloge du bus E par la formule Ex0 5 PRS 1 0 1 p riodes d horloge de conversion A D 1 0 8 p riodes d horloge de conversion A D 1 1 16 p riodes d horloge de conversion Registre de contr le N 5 de A D 80085 DIM DSGN SCAN 0 CC CB CA ATDOCTLS Reset 0 0 0 0 0 0 0 0 DJM R sultats justifi s 1 droite 0 gauche DSGN R sultats en repr sentation 1 sign e sign e
24. Tx 0 pull d sactiv Registre de choix de polarit du port T 0245 _PPST7 5 6 515 PPST3 PPST2 PPSTO PPST Reset 0 0 0 0 0 0 0 0 registre choisit entre pull up et pull down PPSTx 1 pull down PPSTx 0 pull up Registre d entr e sortie du port S 80248 EIS E PTS5 155 PTS3 PTS2 50 PTS Reset 0 0 0 0 0 SPI SCI gr M Uu MISOO TXDI RXDI TXDO RXDO Si le bit de direction de donn e de la patte est 1 une lecture donne la valeur du registre de port sinon elle donne valeur de patte Registre d entr e du port S 0249 PTIS7 56 PTISS 53 52 Pris Reset L criture dans ce est sans is effet Ce donne toujours l tat des pattes associ es Registre de direction de donn es du port S 8024 DDRS DDRSe 00655 DDRSS DDRS3 DDRS2 DDRS Reset 0 0 0 0 0 Ce registre uiai la de chaque E du port S DDRSx 1 patte x en sortie DDRSx 0 patte x en entr e Registre de r duction de sortance du port S 0248 RDRSS _RDRSS_ RDRS3 RDRS2 RDRSO RDRS Reset 0 0 0 0 0 Ce registre ud la sortance A chaque 2 en sortie RDRSx 1 sortance r duite au tiers RDRSx 0 sortance compl te Registre de validation du pull du port S 024 PERS PERS PERSS PERS PERS3 PERS2 PERSO PERS Reset 0 0 0 0 0 Ce registre eda nh d un mm ou d un pull down en entr e PERSx 1 pull acti
25. a d effet que suivie d une criture sur SCIBDL Registre de contr le N 1 de SCIO soca 5085 sciwar RSRC WAKE PT 8 LOOPS et RSRC d finissent le mode boucl LOOPS RSRC Fonct selon le tableau ci contre Pour plus de Fonc onmemen norm d tails 5 rter la notice du SCI a Mode boucl avec entr e Rx reli e int rieurement sortie Tx SCISWAI Arr te ou non le SCI en mode wait 1 SCI arr t 0 SCI valid Mode simple fil avec entr e Rx connect e TXD Format de donn es 1 1 start bit 9 bits de donn es 1 stop bit O 1 start bit 8 bits de donn es stop bit WAKE D termine la condition de r veil du SCI 1 Marque d adresse Address mark 0 Ligne oisive Idle line D termine quand le r cepteur commence compter les 17 logiques comme bits de caract res repos 1 Le d compte commence apr s le stop bit 0 Le d compte commence apr s le stop bit PE Valide la fonction parit ins re un bit de parit en MSB 1 Parit valid e O Pas de parit PT Choisit le type de parit 1 Parit impaire 0 Parit paire Registre de contr le N 2 de SCIO 00CB TE TCE RE TE RE RWU SBK 8 0 2 TIE Valide les interruptions sur mont e du bit d tat TDRE 1 Demande valid e 0 Demande non transmise TCIE Valide les interruptions sur mont e du bit d tat TC 1 Demande valid e 0 Demande non transmise
26. autres registres de r sultats avec les deux justifications Registres de r sultats de conversion de PATD0 0090 0091 0092 0093 0094 0095 0096 0097 0098 009A 009B 009C 009D 009E 009F 49 ATDODROH ATDODROL ATDODROH ATDODROL ATDODROH ATDODROL ATDODRIH ATDODRIL ATDODR2H ATDODR2L ATDODR3H ATDODR3L ATDODR4H ATDODRSL ATDODR5H ATDODR6L ATDODR6H ATDODR7L ATDODR7H REGISTRES DE GESTION DES PWM 500 0 PWME7 PWME6 PWMES PWME4 PWME3 PWME2 00 1 PPOL7 PPOL6 PPOLS PPOL4 PPOL3 PPOL2 PPOLI 00A2 PCLK7 PCLK6 PCLK5 PCLK4 PCLK3 PCLK2 00A3 0 PCKB2 PCKBO 0 PCKA2 500 4 CAE7 CAE6 CAES CAEA CAE3 CAE2 CAEI 00A5 CON67 45 23 CONOI PSWAI PFRZ 0 00A6 0 0 0 0 0 0 0 00A7 0 0 0 0 0 0 0 500 8 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00 9 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00 0 0 0 0 0 0 0 00AB 0 0 0 0 0 0 0 500 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00AD BIT7 BIT6 BITS BIT4 BIT3 BIT2 00 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00 0 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00 1 BIT7 BIT6 BITS BIT4 BIT3 BIT2 0082 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00 3 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00 4 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00 5 BIT7 BIT6 BITS BIT4 BIT3 BIT2 0086 BIT7 BIT6 BITS BIT4 BIT3 B
27. d entr e du timer 007A 15 4 TC13 TC12 TC11 TC10 TC9 TC8 TC1H 007B TC7 TC6 TC5 TC4 TC3 TC2 TC1 TCO Reset 0 0 0 0 0 0 0 0 Registre de rangement N 2 de capture d entr e du timer 007C 15 4 3 TC12 TC11 TC10 TC9 TC8 TC2H 007D TC7 TC6 5 TC3 TC2 TCI TCO Reset 0 0 0 0 0 0 0 0 Registre de rangement N 3 de capture d entr e du timer 007E TCI5 4 TC13 TC12 TC11 TC10 TC9 TC8 TC3H 007F TC7 TC6 TC5 TC4 TC3 TC2 TC1 TCO Reset 0 0 0 0 0 0 0 0 47 CONVERTISSEUR ANALOGIQUE NUMERIQUE ATD0 Registre de contr le N 0 de 0080 0 0 Reset 0 0 0 0 0 0 0 0 R serv I Registre de contr le N 1 de 0081 0 0 0 ATDOCTL1 Reset 0 0 0 0 0 0 0 0 R serv Registre de contr le N 2 de 0082 ADPU arc Aawa ETRIGP ETRIGE 2 Reset 0 0 0 0 0 0 0 ADPU ATD Power Up alimentation du convertisseur ETRIGLE AFFC CCF s abaisse la lecture du r sultat 1 sans 0 avec lecture pr alable du status 0 en mode wait 1 l alimentation est coup e convertisseur reste aliment ETRIGLE et ETRIGP fixent le signal d clenchant sur le canal 7 ETRIGE valide le d clenchement sur le canal 7 la mesure sur ce canal n a pas de sens ASCIE validation d inter sur s quence compl te ASCIF indicateur associ front montant bas niveau haut niveau lo
28. diate sur 16 bits kk Octet poids faible d une valeur imm diate sur 16 bits 1b Post octet de primitive de boucle DBNE 11 Octet poids faible d une adresse tendue 16 bits mm Valeur d un masque imm diat sur 8 bits pour instructions de manipulation de bits Les bits 1 indiquent les bits concern s pg Num ro de page programme banque utilis e dans l instruction CALL qq Octet poids fort d un d placement relatif 16 bits pour les branchements longs rr D placement relatif sign de 80 128 7F 127 D placement relatif l octet suivant l octet de d placement relatif ou octet poids faible d un d placement relatif 16 bits pour les branchements longs xb Post octet d adressage index Codes de condition Bit d tat non affect par l op ration 0 Bit d tat mis 0 par l op ration 1 Bit d tat mis 1 par l op ration A Bit d tat affect par l op ration Bit d tat peut tre mis 0 ou rester 1 mais n est pas mis 1 par l op ration T Bit d tat peut tre mis 1 ou rester 0 mais n est pas mis 0 par l op ration Bit d tat peut tre chang par l op ration mais l tat final n est pas d fini Bit d tat utilis de facon sp ciale 10 SXHI NZVC Dur e Op ration Add Accumulators and A M C gt A ADCA opr amp a Add with Car
29. et retour Op rations diverses Int gr es sur bits Int gr es diverses Autres BRA BRN JMP LBRA LBRN BCS LBLO BCC LBHS LBCS BLO LBCC BHS D clench s par C BVS BVC LBVS LBVC BEQ BNE LBEQ LBNE BMLBPL LBMLLBPL BLT BGE LBLT LBGE BLE BGT LBLE LBGT BLS BHLLBLS LBHI BSR CALL JSR RTC RTLRTS SWI BSET BCLR BRCLR BRSET DBEQ DBNE IBEQ IBNE TBEQ TBNE ETBL TBL MEM REV REVW WAV BGND DAA NOP TRAP STOP WAI D clench s par V D clench s par Z D clench s par N D clench s par NOV D clench s Z N V D clench s par C Z Positionnement multiple de bits Test de bits et branchement si Z Boucles Interpolation Logique floue Les mn moniques qui sont pas caract re gras sont issus du HC11 Pour des raisons de compatibilit les assembleurs HCS12 les reconnaissent et les traduisent de la suivante ABX ABY CLC CLI CLV DES INS SEC SEI SEV SEX TAP TPA TSX TSY TXS TYS XGDY VUUVUUUUUUUUUUUUUUUUU LEAX B X LEAY B Y ANDCC FE ANDCC EF ANDCC FD LEAS 1 SP LEAS 1 SP ORCC 4501 ORCC 4510 ORCC 4802 voir notice TFR A CCR TFR CCR A TFR 5 TFR SP Y TFR X SP TFR Y SP EXG DX EXG D Y X X B Y B Carry 0 Masque d IRQ 0 Overflow 0 SSP SP 1 SP SP 1 Carry 1 Masque d IRQ 1 Overflow 1 Extension de signe CCR A CCR SP SP SP X SP Y Echange de D et X
30. param tres lt Ad gt Un nombre hexad cimal 16 bits ou une expression simple Description de la commande L assembleur d sassembleur est un diteur m moire interactif qui permet la visualisation et la modification du contenu m moire sous forme de mn moniques du langage assembleur Chaque ligne source est traduite en code machine et rang e en m moire d s qu on la valide A l affichage du contenu m moire chaque instruction est d sassembl e sous forme de mn monique source et affich e avec le code machine hexa et les op randes de l instruction On peut crire les mn moniques et les op randes indiff remment en majuscules ou minuscules s par s par un ou plusieurs espaces Par d faut les valeurs num riques d op randes sont interpr t es comme des nombres d cimaux sign s L criture d un devant un nombre les fait interpr ter comme nombres hexa Apr s d sassemblage et affichage d une instruction D Bug12 affiche l invite gt la suite Si on tape alors un retour chariot on d sassemble l instruction suivante et on l affiche sur la ligne suivante Si on tape une instruction CPUI2 l instruction est assembl e et rang e en m moire Le ligne contenant la nouvelle entr e est effac e et la nouvelle instruction est d sassembl e et install e sur la m me ligne puis l instruction suivante est d sassembl e et affich e l cran Quand on entre des instructions de branchement le nombre plac dans le champ op rande doit
31. tloader v1 0 0 F130 00 OD OA 61 29 20 45 72 61 73 65 20 46 6C 61 73 a Erase Flas F140 68 OD OA 62 29 20 50 72 6F 67 72 61 6D 20 46 6C h b Program Fl gt MDW Memory Dump Word Affiche la m moire en mots hexa et en format ASCII Format de ligne de commande MDW lt Ad d part gt lt Ad fin gt Description des param tres Ad d part Un nombre hexa de 16 bits ou une expression simple Ad fin Un nombre hexa de 16 bits ou une expression simple Description de la commande La commande affiche le contenu des m moires la fois sous forme de mots en notation hexa et sous forme de caract res ASCII par lignes de 16 octets Le param tre Ad d part est n cessaire mais le param tre Ad fin est optionnel S il n est pas fourni une seule ligne s affiche Le param tre Ad d part est arrondi au multiple de 16 inf rieur tandis que le param tre Ad fin est arrondi au multiple de 16 sup rieur 1 Cela entraine que chaque ligne affiche la m moire depuis xxx0 xxxF Par exemple si l utilisateur a choisi 205 comme adresse de d part et 217 comme adresse de fin la m moire affich e va de 200 21F 25 Exemple gt mdw 1000 1000 CE10 0009 26FD 20FE 5ABD D6C4 15FB DE76 falle uis cis socal gt mdw 127 145 F120 746C 6 61 6465 7220 7631 2 30 2E30 tloader 1 0 0 F130 000D 0 1 2920 4572 6173 6520 466C 6173 Erase Flas F140 680D 0A62 2920 5072 6F6
32. 0 0 0 0 0 IRQE 1 front descendant 0 niveau bas IRQEN 1 patte externe IRQ connect e la logique d interruption Interruption I de plus hautr priorit INT 001F PSEL PSEL6 PSEL5 PSELS PSEL2 0 HPRIO 1 1 1 0 Reset 1 0 0 1 Les bits PSEL d finissent l interruption I la plus prioritaire Par d faut IRQ Registres de 0020 0027 r serv s 42 Registres de gestion des points d arr t BKP 0028 BKBDM BKTAG 0 0 0 0 50029 BKIMBL BKORWE BKORW BKIRWE BKIRW 5002 BKOVS BKOV4 BKOV3 BKOV2 BKOVI BKOVO BKPOX 002B Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 BKP0H 002C 5 Bit4 Bit2 BKPOL 002D BKOVS BKOV4 BKOV3 BKOV2 BKOVI BKOVO 002E Bit13 Bit12 Bil 10 Bit9 Bit8 1 002 Bit5 Bit4 Bit3 Bi Bitl BitO BKPIL Registre de page programme MMC 0030 0 0 PIX5 4 2 PIX PPAGE Reset On lit 38 sur le kit Registre 0033 r serv Registre de donn es 8 bits du Port K MEBI 0032 PK7 PK6 5 PK4 PK2 Reset Autres ECS 5 19 18 17 16 15 14 dans d autres modes bus d adresses tendu A19 A14 Pour ECS et XCS voir MODE Sur la carte on lit BF Registre de direction de donn es 8 bits du Port MEBI 0033 DDRK7 DDRK6 DDRK5 DDRK4 DDRK3 DDRK2 DDRK1 DDRKO DDRK
33. 0015 0 0 0 WRTINT ADR3 ADR 2 ADR 1 ADR 0 ITCR 0016 INTE INTC INTA INT8 INT6 INT4 INT2 INTO ITEST Registre de test r serv MMC 0017 0 0 0 0 0 0 0 0 MTSTO Registres 0018 et 0019 r serv s Identificateur de version 001A 5 4 12 0 BIT9 BITS PARTIDH 001B BIT7 BIT6 BITS BIT4 BIT3 BIT2 BITO PARTIDL Registre 0 de taille m moire MMC 001C reg 590 0 eeo_swl 0 ram_sw2 ram swO 5170 Reset z Registre d tat qui donne l tat des switchs de configuration de la m moire syst me On lit 25 sur le kit sw1 0 Espace allou ram sw Espace RAM mappable bits utilis s EEPROM 2 0 allou RAM region de INITRM 00 OK 000 2K 2K RAMIS RAMII 01 2K 001 4K 4K RAMIS RAMI2 10 4K 010 6K 8K RAMIS RAMI3 11 8K 011 8K 8K RAMIS RAMI3 100 10K 16K 15 14 Registre 1 de taille m moire MMC 001D rom_swl 590 0 0 0 pag 590 5171 Reset Registre d tat qui donne l tat des switchs de configuration de la m moire syst me On lit 81 sur le kit Espace allou pag 1 0 Espace Espace Flash ou ROM ext rieur int rieur OK 00 876K 128K 16K 01 768K 256K 10 48K 10 512 512K 11 64K 11 OK 1M Registre de IRQ pour d finir le fonctionnement de la patte IRQ MEBI 001E IRQEN 0 0 0 ESTR EBICTL Reset 0 0
34. 311 2007 2008 HC12 Manuel Technique SOMMAIRE CPUI12 Registres du CPU Liste des instructions du HCS12 R sum des principales instructions Vecteurs d interruption Moniteur D Bug12 Principales commandes de D Bug12 Routines utilisateur Relais RAM des vecteurs d interruption Carte m moire de D Bug12 en mode EVB Adresses d interruption Registres du microcontr leur Registres du cceur Registres du Timer Registres du convertisseur A N ATDO Registres de gestion des PWM Registres interface s rie asynchrone SCIO SCI1 Registres interface s rie synchrone SPIO Registres des ports d Entr e Sortie logiques PIM Carte d application EVB12 Implantation des composants Annexe Codage des instructions du HC12 et de l adressage index 22 31 37 38 41 44 48 50 50 52 53 57 61 CPU12 Les informations qui suivent sont tir es du fichier CPU12RG PDF qui fournit sous forme condens e la liste et le mode d emploi des instructions de programmation du CPU D autre part le fichier CPU12RM PDF constitue le manuel de r f rence auquel on se reportera pour tout renseignement compl mentaire sur le fonctionnement du CPU Registres du microprocesseur 512 Accumulateur A Accumulateur B ou Double Accumulateur D Compteur Ordinal PC Registre de contr le CCR 15 X N Z V Registre de contr le CCR Stop disable Masque de XIRQ Masque d IRQ
35. 35120P256 Date 16 03 2002 18 54 20 Sheet 172 59 Testpoint Pouer Supply IIC Bus VCC x5 PWRIACK JPL 1 2 Power Regulator 2 3 50 Direct Input AXI CANH T20UT RIIN R20UT 824 MAX232A VEF GNI PCAB2C25a UCC IF Module LIN R8232 RS485 878442721 512 http www elektronmikl aden 5121 html 02002 by Oliver Thamm REV Elektronikladen GbR Leipzig 1 88 Date 16 03 2002 18 54 20 Sheet 2 2 60 Codage des instructions du HC12 Page 1 bas 1 2 3X 4x 5X 6X 7X 0 BGND ANDCC BRA PULX NEGA NEGB NEG ind NEG ext 1 MEM EDIV BRN PULY COMA COMB COM ind COM ext 2 INY MUL BHI PULA INCA INCB INC ind INC ext 3 DEY EMUL BLS PULB DECA DECB DEC ind DEC ext 4 DBEQ DBNE ORCC 5 PSHX LSRA LSRB LSR ind LSR ext 5 JMP ind JSR ind BCS BLO PSHY ROLA ROLB ROL ind ROL ext 6 JMP ext JSR ext BNE PSHA RORA RORB ROR ind ROR ext 7 BSR JSR dir PSHB ASRA ASRB ASR ind ASR ext 8 INX PO BVC PULC ASLA LSLA ASLB LSLB ASL LSL ind ASL LSL ext 9 DEX LEAY BVS PSHC LSRD ASLD LSLD CLR ind CLR ext A RTC LEAX BPL PULD CALL ext STAA dir STAA ind STAA ext B RTI LEAS PSHD CALL ind STAB dir 5 STAB ext
36. 7 7261 6D20 466C h b Program gt MM Memory Modify modifie les octets m moire au format hexa Format de ligne de commande MM lt Ad gt lt Donn e gt Description des param tres Ad Un nombre hexa de 16 bits ou une expression simple Donn e Un nombre hexa de 8 bits Description de la commande Permet d examiner et ou de modifier le contenu m moire sous forme de donn e hexa Si le param tre donn e 8 bits figure dans la ligne de commande l octet d adresse lt Adresse gt est remplac par Donn e Sinon D Bugl2 entre dans le mode interactif de modification m moire Dans ce mode chaque octet est affich sur une ligne s par e la suite de son adresse Une fois entr e la commande de modification m moire on dispose de plusieurs sous commandes pour modifier et v rifier les contenus m moire Ces sous commandes sont lt Data gt lt cr gt Mise jour optionnelle de l emplacement courant et affichage du suivant lt Data gt ou Mise jour optionnelle de l emplacement courant et r affichage ou Mise jour optionnelle de l emplacement courant et affichage du pr c dent lt Data gt Mise jour optionnelle de l emplacement courant et sortie de MM Sauf le retour chariot la sous commande doit tre s par e de la donn e entr e par au moins un espace En cas de sous commande invalide un message d erreur s affiche et le contenu de l emplacement courant est r affich Exemple
37. 830 Breakpoints 0800 0810 0820 0830 nobr 810 820 Breakpoints 0800 0830 gt nobr All Breakpoints Removed gt Registers Display Affiche les contenus des registres du CPU12 Format de ligne de commande RD Description de la commande La commande sert afficher les registres du CPU12 Les registres s affichent dans le m me format que lorsqu on rencontre un point d arr t Exemple gt rd PP PC SP X X D A B CCR SXHI NZVC 38 1006 3 00 0000 0000 01 00 1001 0100 xx 1006 20FE BRA 1006 gt 27 Register Modify Modification interactive du contenu des registres du CPU12 Format de ligne de commande RM Description de la commande Examine et ou modifie les contenus des registres du CPU12 de mani re interactive Lors de l affichage de chaque registre D Bug12 permet l utilisateur d entrer une nouvelle valeur sous forme hexa Si on ne d sire pas modifier un retour chariot passe au registre suivant Apr s affichage du dernier registre CCR la commande boucle sur le premier registre PC On sort du mode interactif en tapant un point en premier caract re Les registres s affichent dans l ordre suivant PC SP X Y A B CCR Exemple gt 1006 1200 SP 3C00 IX 0000 1000 0000 01 B 00 CCR 94 90 PC 1200 gt SO Step Over Saut d un appel de sous programme Format de ligne de commande SO Description de la commande Quand on trace du code il n est souvent pas n cessai
38. A ECLK LSTRB R W IRQ XIRQ En mode tendu contient les contr les des changes sur bus programm s par PEAR Registre de direction de donn es 8 bits du Port E MEBI 0009 _DDRE7 DDRE6 DDRES DDRE4 DDRE3 DDRE2 0 DDRE Reset 0 0 0 0 0 0 0 0 DDREx configure PEx en sortie 0 configure PEx en entr e Les lignes PEO et PE1 sont toujours en entr e Registre d assignement du Port E 000A NOACCE 0 PIPOE LSTRE RDWE 0 PEAR Reset 0 0 0 0 1 0 0 0 En mode single chip et sur la carte d application le port E garde sa fonction de port Registre de mode MEBI 000B MODA DIS 0 Reset 1 0 0 0 0 0 0 0 Avec la carte T Board on est en mode normal single chip 1 MODB 0 Sur la carte on lit 80 c est dire que IVIS EMK EME 0 Registre de contr le de pullup des porte A B E MEBI 000C PUPKE o 90 PUPEE O 0 PUCR Reset 1 0 0 1 0 0 0 0 1 Toutes les lignes du port sont munies de pullups 0 Pas de pullup sur les entr es du port Sur la carte on lit 90 Registre de r duction desortance des ports A B E K MEBI 000D 0 90 RDPE O v RDPB RDPA RDRIV Reset 0 0 0 0 0 0 0 0 1 Toutes les lignes du port ont une sortance r duite 0 Pas de r duction sur les lignes du port Sur la carte on lit 00 Registre de contr le de l interface bus externe MEBI
39. ANORIER RXFIE CANO transmit L t CANOTIER TXEIE2 TXEIEO 80 wake up I Bit WUPIE errors I Bit CANIRIER CSCIE OVRIE receive L t transmit L t CAN2 wake up L t 2 errors L t receive L t transmit L t wake up L t CANS errors I Bit CANSRIER TXEIE2 TXEIEO CANG receive L t CANS transmit Bit CANSTIER TXEIE2 TXEIEO 98 wake up I Bit WUPIE 96 errors Bit CANARIER CSCIE OVRIE 94 receive L t transmit I Bit CANATIER TXEIE2 TXEIEO 90 Port P Interrupt L t PWM Emergency Shutdown I Bit PWMSDN PWMIE Reserved L ccr ACCA PCH SP 9 SP 8 SP 7 SP 6 SP 5 SP 4 SP 3 SP 2 SP 1 SP Ordre d empilement des registres sur interruption SP valeur avant inter 19 20 Moniteur D BUG12 On trouvera une description compl te du moniteur D BUG12 et de ses commandes dans le fichier de documentation DB12RG4 PDF Ce moniteur est tr s g n ral et peut tre utilis dans d autres contextes que celui de nos TP La liste des commandes qui suit est peu pr s compl te dans ce cadre Au cas elle pr sente des insuffisances on se reportera sans h siter au fichier de r f rence 21 PRINCIPALES COMMANDES DE D BUG 12 ASM Commande de l assembleur d sassembleur en ligne Format de la ligne de commande ASM Ad Description des
40. BSET ind BSET ext BGE wavi BSET dir STD dir STD ind STD ext BCLR ind BCLR ext BLT RTS BCLR dir STY dir STY ind STY ext BRSET ind BRSET ext BGT WAI BRSET dir STX dir STX ind STX ext F BRCLR ind BRCLR ext BLE SWI BRCLR dir STS dir STS ind STS ext Pagel haut 8x 9x Ax Bx Cx Dx Ex 0 SUBA imm SUBA dir SUBA ind SUBA ext SUBB imm SUBB dir SUBB ind SUBB ext 1 CMPA imm CMPA dir CMPA ind CMPA ext CMPB imm CMPB dir CMPB ind CMPB ext 2 SBCA imm SBCA dir SBCA ind SBCA ext SBCB imm SBCB dir SBCB ind SBCB ext 3 SUBD imm SUBD dir SUBD ind SUBD ext ADDD imm ADDD dir ADDD ind ADDD ext 4 ANDA imm ANDA dir ANDA ind ANDA ext ANDB imm ANDB dir ANDB ind ANDB ext 5 BITA imm BITA dir BITA ind BITA ext BITB imm BITB dir BITB ind BITB ext 6 LDAA imm LDAA dir LDAA ind LDAA ext LDAB imm LDAB dir LDAB ind LDAB ext 7 CLRA 5 NOP TFR EXG CLRB TSTB TST TST 8 EORA imm EORA dir EORA ind EORA ext EORB imm EORB dir EORB ind EORB ex 9 ADCA imm ADCA dir ADCA ind ADCA ext ADCB imm ADCB dir ADCB ind ADCB ex A ORAA imm ORAA dir ORAA ind ORAA ext ORAB imm ORAB dir ORAB ind ORAB ex B ADDA imm ADDA dir ADDA ind ADDA ext ADDB imm ADDB dir ADDB ind ADDB ex CPD imm CPD dir CPD ind CPD ext LDD imm LDD dir LDD ind LDD ext D CPY imm CPY dir CPY ind CPY ext LDY imm LDY dir LDY ind LDY ext E CPX imm CPX dir CPX ind CPX ext LDX imm LDX dir LDX ind LDX ext CPS imm CPS dir CPS ind CPS ext LDS imm LDS dir LDS ind LDS ext Codage des instructi
41. Bit IMM EXT IMM IDX EXT EXT EXT IDX DEST IDX IDX ii xb ii hh xb xb MUL A x AB 8 Unsigned Multiply en en un oh anjana ma h S S n NEG NEG xysp NEG oprx9 xysp NEG oprx16 xysp NEG D xysp NEG foprx16 xvsp NEGA NEGB 0 M gt M equivalent to M 1 gt Two s Complement Negate 0 gt equivalent to A 1 gt A Negate Accumulator A 0 B B equivalent to B 1 Negate Accumulator INH NOP ORAA opr8i ORAA opr a ORAA ORAA oprx _xysp ORAA oprx9 xysp ORAA 16 5 ORAA D xyspt Logical OR with Memory FM 8 Logical OR B with Memory Logical OR CCR with Memory SP 1 SP A gt M SP Push Accurnulator A onto Stack SP 1 SP B gt M SP Push Accumulator B onto Stack SP 1 gt SP CCR gt M SP Push CCR onto Stack SP 2 A B gt M SP M SP 1 Push D Accumulator onto Stack SP 2 SP X H X L gt SP SP 1 Push Index Register X onto Stack SP 2 SP Y H L 2 M SP M SP Push Index Register Y onto Stack M sP A SP 1 SP Pull Accumulator A from Stack M sP SP 1 gt SP Pull Accumutator B from Stack M sP gt SP 1 SP Pull CCR from Stack M SP M SP gt AB SP 2 SP P
42. COI TIE 0 0 0 0 Reset 0 0 0 0 1 CxI valide une demande d interruption sur mont e du bit d tat 0 pas d interruption Registre de contr le N 2 timer syst me 004D TOI o o TCRE PRI PRO TSCR2 0 Reset 0 0 0 0 0 0 0 1 demande d interruption sur TOF Timer Counter Reset Enable 1 Reset du TCNT sur un r ussi PR2 PRI PRO Prescaler Select Ces trois bits pr cisent le nombre de 2 intercaler entre l horloge du bus et le compteur principal Registre d tat N 1 du timer principal 50048 C6F CE Reset 0 0 0 0 0 PRO Facteur diviseur 0 16 1 32 0 64 1 128 COF TFLG1 0 0 0 1 occurence d un v nement capture d entr e ou sortie sur comparaison sur la patte N x On le remet en crivant un 1 Registre d tat N 2 du timer principal 50048 TOE o Reset 0 0 0 0 0 0 0 0 1 Passage 0 du compteur TCNT On le remet 0 y crivant un TC010 TCO9 08 0 2 TCO TCOO TC110 TC19 TC18 TC12 TCI TC10 TC210 TC29 TC28 TC2 TC22 TC2 TC20 TC310 TC39 TC38 TC3 TC32 TC3 TC30 TC410 49 48 TC4 TC42 TC4 TC40 TC510 TC59 TC58 TCS TC52 51 50 610 TC69 TC68 TC6 TC62 TC61 TC60 TC710 TC79 TC78 TC7 TC72 TC71 TC70 0050 015 014 013 012 TCOI1 0051 TCO7 6 5 4 TC03 Regis
43. FS IIC BDLC et SPI2 MEMOIRES FLASH FES ET EEPROM EETS LE SECOND CONVERTISSEUR ATD1 BUS CANO et CAN3 52 PORTS D ENTREE SORTIE LOGIQUES PIM Registre d entr e sortie du port T 0240 PTT 6 FG P PTTO PIT Reset 0 0 0 0 0 0 0 0 Timer IOC7 IOC6 IOC5 IOC4 IOC3 IOC2 Si le bit de direction de donn e de la patte est 1 une lecture donne la valeur du registre de port sinon elle donne valeur de la patte Registre d entr e du port T 0241 PTIT7 PTIT6 PrITS PTITS PTIT3 PTIT2 PTITO Reset L criture dans ce est sans s effet Ce donne toujours l tat des pattes associ es Registre de direction de donn es du port T 0242 DDRT7 DDRT6 DDRT5 DDRT4 DDRT3 DDRT2 DDRTI DDRTO DDRT Reset 0 0 0 0 0 0 0 0 Ce registre configure la direction de chaque patte du port T DDR Tx 1 patte x en sortie DDRTx 0 patte x en entr e Registre de r duction de sortance du port T 0243 7 RDRT6 RDRTS RDRT3 RDRT2 RDRTO RDRT Reset 0 0 0 0 0 0 0 0 Ce registre configure sortance de chaque patte en sortie RDRTx 1 sortance r duite au tiers RDRTx 0 sortance complete Registre de validation ull du port 0244 PERT ERTS PERTS ERTS PERT4 PERT3 2 PERT Reset 0 0 0 0 0 Ce registre im mem d un ou d un pull down en entr e PERTx 1 pull activ PER
44. IT2 0087 BIT7 BIT6 BITS BIT4 BIT3 BIT2 0088 BIT7 BIT6 BITS BIT4 BIT3 BIT2 0089 BIT7 BIT6 BITS BIT4 BIT3 BIT2 500 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00BB BIT7 BIT6 BITS BIT4 BIT3 BIT2 00BC BIT7 BIT6 BITS BIT4 BIT3 BIT2 00BD BIT7 BIT6 BITS BIT4 BIT3 BIT2 500 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00 BIT7 BIT6 BITS BIT4 BIT3 BIT2 800 0 BIT7 BIT6 BITS BIT4 BIT3 BIT2 800 1 BIT7 BIT6 BITS BIT4 BIT3 BIT2 00C2 BIT7 BIT6 BITS BIT4 BIT3 BIT2 800 3 BIT7 BIT6 BITS BIT4 BIT3 BIT2 800 4 PWMIF PWMIE RSTRT LVL 0 TIN 7INL Registres de 00C5 00C7 r serv s 50 m MPOL MCLK MPRCLK MCAE CTL MTST1 MPRSC2 MSCLA MSCLB MSCNTA3 MSCNTB4 MCNT0 MCNT1 MCNT2 MCNT3 MCNT4 MCNT5 MCNT6 MCNT7 MPERO MPER2 MPER3 MPER4 MPERS MPER6 MPER7 MDTYO0 MDTY1 MDTY2 MDTY3 MDTY4 MDTYS MDTY6 MDTY7 MSDN 2 INTERFACE SERIE ASYNCHRONE 8 10 SCH Registre de bauds SCIO SCIOBDH 00C8 0 0 0 SBR12 SBRII SBRIO SBR9 8 00C9 SBR7 SBR6 SBR5 SBR4 SBR3 SBR2 SBRI SBRO SCIOBDL SBRI2 SBRO Le nombre BR d fini par ces 13 bits d termine le nombre de bauds du SCI selon baud horloge 16 x BR Le g n rateur de bauds est d valid jusqu ce que le bit TE ou RE soit mis pour la premi re fois On le d valide si BR 0 Une criture sur SCIBDH met la donn e en attente Elle n
45. Left Accumulator B ASR oprt a ASR oprxO ASR oprx9 xysp b bo ASR oprx16 xysp _ ASR D xysp Arithmetic Shift Right cae Pl Arithmetic Shift Right Accumulator A ASRB Arithmetic Shift Right Accumulator B 11 Codage Machine SXH NZVC 2235 1562 24 ranch if Carry Set C 1 Branch if Equal Z 1 Branch if Greater Than or Equal V 0 signed Branch if Greater Than Z V 0 signed Branch if Higher Z 0 unsigned Branch if Higher or Same C 0 unsigned Same as opr8i opr8a BITA BITA oprxO xysp 6 A Logical AND with Memory Does not change Accumulator or Memory B M Logical AND B with Memory Does not change Accumulator or Memory G 1 unsigned Same as BCS Branch if Lower Same C 2 1 unsigned Branch if Minus N 1 Branch if Not Equat Z 0 Branch if Plus 0 BSR rel8 BVC 8 SP 2 SP RTN H RTN LSM SP SP 1 Subroutine address Branch to Subroutine CALL oprx _xysp page CALL page CALL 16 page CALL D xysp CALL foprxt6 xysp SP 2 2SP H RTN L SP M SP 1 5 2M SP
46. PACTL PACN3 et PACNG sont respectivement I octet fort et l octet faible de PACA Quand PACNG d borde de FF 0 l indicateur PAOVF du registre PAFLG passe 1 Registre de comptage N 1 de l accumulateur d impulsions 0064 PACNT7 15 6 14 PACNTS 13 4 12 2 10 PACNT1 9 PACNTO 8 0 0 Reset 0 0 0 0 0 0 Registre de comptage N 0 de l accumulateur d impulsions 30065 7 PACNT6 PACNTS PACNT3 PACNT2 PACNTO PACNO Reset 0 0 0 0 0 0 0 0 Les deux accus 8 bits PACNI et PACNO sont cascad s pour former 16 bits PACB Quand PACB est valid bit PBEN duregistre PBCTL PACNIet PACNO sont respectivement I octet fort et l octet faible de DACH Quand PACNI d borde de FF 0 l indicateur PBOVF du registre PBFLG passe Registre de contr le du module d comptage 16 bits 0066 MODMC RDMCE FLMC MCEN MCPRO MCCTL Reset 0 0 0 0 0 0 0 0 MCZI Demande d interruption sur MCZF 1 Demande transmise 0 Demande non transmise 0 Le compteur d compte depuis la valeur charg e Si 0 il s arr te 0 Si 1 Il boucle de 0 la valeur choisie RDMCL Une lecture du compteur du module ram ne 0 la valeur courante 1 La valeur charg e ICLAT En mode latch de capture l criture d un 1 dans ce bit sauvegarde les registres de capture d entr e TCO TC3 et les accus 8 bits correspondants et met 0 les accus L c
47. RIE Valide les interruptions sur mont e du bit d tat 1 Demande valid e 0 Demande non transmise ILIE Valide les interruptions sur mont e du bit d tat IDLE 1 Demande valid e 0 Demande non transmise Valide le transmetteur du SCI et configure la patte Port 57 comme TXD Transmetteur valid 0 Transmetteur invalid RE Valide le r cepteur du SCI et configure la patte Port SO comme RXD 1 R cepteur valid 0 R cepteur invalid RWU Bit de r veil du receveur Receiver Wakeup Bit SBK Bit d envoi d un break Send Break Bit Registre d tat N 1 de SCIO TC RDRF IDLE OR NF PF SCIOSR1 TDRE Transmit Data Register Empty est mis quand le registre d calage recoit un octet du registre de donn es du SCI Quand le bit est 1 le registre SCIDRH L est vide et peut recevoir une nouvelle valeur transmettre TC Transmit Complete est l tat bas si une transmission est en cours l tat haut sinon RDRF Receive Data Register Full est mis quand l octet recu est transf r du registre d calage vers le registre de donn es du SCI IDLE Idle Line ligne oisive est mis quand 10 ou 11 bits 1 cons cutifs apparaissent sur le r cepteur OR Overrun est mis si le logiciel ne peut lire SCIDR avant l arriv e d une nouvelle donn e dans le registre d calage NF Noise est mis quand le SCI d tecte du bruit sur le r cepteur FE Framing Error est m
48. Registre d tat N 1 de l ATDO 50088 7 CCF6 CCFS CCF3 CCF2 CCFO 0 0 0 Reset 0 0 0 0 0 ATDSTATI CCFx Indique la fin de la conversion N x x 7 6 5 4 3 2 1 0 1 Fin de la conversion N x 0 Conversion N x pas termin e Il passe 1 quand la x conversion a t rang e dans le registre ATDDRx Remis 0 dans les cas suivants Ecriture sur ATDCTLS nouvelle s quence Si AFFC 0 lecture de ATDSTATI suivie de celle de ATDDRx si AFFC 1 lecture de ATDDRx Registre de validation d entr e de ATDO 008D IEN7 TENG ENS IEN3 2 TENO Reset 0 0 0 0 0 0 0 0 ATDOIEN IENx Validation de la patte PTADx comme entr e logique du port AD 1 Entr e logique valid e 0 Entr e analogique valid e Registre de port de donn e de P ATD0 Reset 1 Fonction AN6 AN5 AN4 AN3 AN2 AN1 soosF 7 PTAD6 PTADS PTAD3 PTAD2 PTADO 1 1 1 1 1 1 1 ANO PORTAD Si la patte PADx est valid e comme entr e logique IENx 1 PTADx indique le niveau logique de la patte Sinon il est a 1 Registres 0 de r sultats de conversion de justifi gauche 0090 BIT9 BITS BIT7 BIT6 BITS BIT4 BIT2 0091 BITO 0 0 0 0 Reset RE 0 0 0 0 0 0 Registres 0 de r sultats de conversion de l ATDO justifi droite 0090 0 0 0 0 0 BIT8 0091 BIT7 BIT6 5 BIT4 BIT3 BIT2 BITO Reset 0 0 0 0 Dans les adresses suivantes de 0092 009F on retrouve les 7
49. S 12 PIM PDF DISTRI DOCHCS 12 PWM PDF DISTRIWDOCHCS12 SCI PDF DISTRI DOCHCS12 SPI PDF DISTRIIDOCHCS12 VREG PDF Ces fichiers d finissent les adresses relatives des registres en prenant comme adresse 0 celle du premier registre du module On trouvera les adresses r elles d implantation des modules dans le fichier DISTRIWDOCHCS 12 9S12DP256B PDF 40 REGISTRES DU COEUR MEBI MMC INT BKP Divers Registre de donn es 8 bits du Port A MEBI 0000 7 PA6 2 PAI PORTA Reset en mode tendu bus d adresses A15 A8 et de donn es D15 D8 Registre de donn es 8 bits du Port B MEBI 0000 PB7 5 PB4 PB3 PB2 PBO PORTB Reset en mode tendu bus d adresses 7 0 et de donn es D7 Registre de direction de donn es 8 bits du Port A MEBI 0002 DDRA7 DDRA6 DDRAS DDRA4 DDRA3 DDRA2 DDRAI DDRAO PORTB Reset 0 0 0 0 0 0 0 0 DDRAx configure PAx en sortie 0 configure PAx en entr e Registre de direction de donn es 8 bits du Port B MEBI 0003 DDRB7 DDRB6 DDRBS DDRB4 DDRB3 DDRB2 DDRBI DDRBO DDRB Reset DDRBx configure PBx en sortie 0 configure PBx en entr e Registres de 0004 4 0007 r serv s Registre de donn es 8 bits du Port E MEBI 0008 PES PE4 PE3 PE2 1 Reset Autres NOACC MODB MOD
50. Y oprx0_xysp LDY oprx9 oprxt6 xysp LDY D xysp 1 gt Y Load Index Register Y Effective Address gt SP Load Effective Address into SP LEAS xysp LEAS oprx9 xysp LEAS oprx16 xysp LEAX oprx0_xysp LEAX oprx9 xysp LEAX oprx16 Xysp LEAY xysp LEAY 9 Effective Address X Load Effective Address into X Effective Address Y Load Effective Address into Y LSL LSL LSL 9 ESL oprx16 xysp LSL D xysp LSL foprx16 xysp LSLA Logical Shift Left same function as ASL Logical Shift Accumulator A to Left LSLB Logical Shift Accumulator B to Left WWW GN aE EMI C B A b B bo Logical Shift Left D Accumulator same function as ASLD o ILH b7 bo Logical Shift Right LSR LSR 5 LSR oprx9 xysp LSR oprxt6 xysp LSR 0 xysp LSR oprx 16 xysp LSRA LSRB Logical Shift Accumulator A to Right Logical Shift Accumulator B to Right ee T IMT IHM b7 A b7 B bo C ajae OO OP ta Logical Shift Right D Accumutator MAX A M gt MAX of 2 Unsigned 8 Bit Values Z V and C status bits refle
51. aleur de la patte Registre d entr e du port J 0269 PTU7 Eis 0 0 o PID Pru Reset L criture dans ce registre est sans effet Ce registre donne toujours l tat des pattes associ es Registre de direction de donn es du port J 0264 _DDRI7 DDRI6 0 O v DDRIO_ DDRJ Reset 0 0 0 0 Ce registre configure la direction de chaque patte du port J DDRJx 1 patte x en sortie DDRJx 0 patte x en entr e Registre de r duction de sortance du port J 0268 _RDRI7 RDRIG Co 0 0 RDRJ RDRJO RDRJ Reset 0 0 0 0 Ce registre configure la sortance de chaque patte en sortie RDRJx 1 sortance r duite au tiers RDRJx 0 sortance complete Registre de validation du pull du port J 026 PERI PERI O O v PERJ PERJ Reset 0 0 0 0 Ce registre configure activation d un pull up ou d un pull down en entr e PERJx 1 pull activ PERJx 0 pull d sactiv Registre de choix de polarit du port J 026D PPSI7 516 0 O v PPSJI PPS PPSJ Reset 0 0 0 0 Ce registre a deux usages choisir entre pull up et pull down et choisir la polarit du front d interruption actif PPSJx 1 pull down et front montant PPSJx 0 pull up et front descendant Registre de validation d interruptions du port J 026E Teen PIE Te 0 0 PIEJO PIEJ Reset 0 0 0 0 Ce registre valide ou invalide pour chaque patte le front actif d interruption externe PIEJx
52. ande invalide un message d erreur s affiche et le contenu de l emplacement courant est r affich Exemple mmw 800 0800 OOFF 0802 0055 aa55 0804 0000 0802 AA55 0804 0000 843f 0806 0000 MOVE D place un bloc de m moire Format de ligne de commande MOVE lt Ad d part gt lt Ad fin gt lt Ad dest gt Description des param tres Ad d part Un nombre hexa de 16 bits ou une expression simple Ad fin Un nombre hexa de 16 bits ou une expression simple Ad dest Un nombre hexa de 16 bits ou une expression simple Description de la commande La commande sert d placer un bloc de m moire d un emplacement un autre octet par octet Le nombre d octets d plac s est un de plus que Ad fin Ad d part Le bloc de m moire cr commence l adresse Ad dest Il peut recouvrir partiellement le bloc de d part Restrictions On peut d placer au minimum 1 octet si Ad d part est gal Ad fin Au maximum on peut en d placer 2 us Exemple move 800 8ff 1000 gt NOBR NO BReakpoint Supprime un tous les point s d arr t RD Format de ligne de commande lt Ad gt Description des param tres Ad Un nombre hexa de 16 bits ou une expression simple Description de la commande Supprime un ou plusieurs des points d arr t pr c demment entr s En l absence d argument tous les points d arr t sont supprim s de la table Exemple br 800 810 820
53. ant lt Largeur de champ Pr cision h 1 Caract res Description signe moins Justification gauche de l argument converti Largeur de champ Entier qui pr cise la largeur minimum du r sultat L argument sera affich 444 sur au moins cette largeur Il sera au besoin compl t a droite ou gauche point S pare la largeur de champ de la pr cision Pr cision Entier qui pr cise le nombre maximum de caract res afficher pour une chaine ou le nombre minimum de chiffres pour un entier h Pour afficher un entier comme un short lettre Pour afficher un entier comme un long Les champs Largeur ou pr cision peuvent contenir une ast risque au lieu d un nombre The asterisk will cause the value of next argument in the argument list to be used instead La figure C 3 ci dessous contient les caract res de conversion pris en compte par la fonction printf D Bug12 Si le s caract re s de conversion qui sui ven t le caract re pourcent n est ni un caract re de format ni un de ceux l le comportement de la fonction printf est ind fini d i int nombre d cimal sign int nombre octal non sign sans 0 initial int nombre hexa non sign utilisant abcdef pour 10 15 int nombre hexa non sign utilisant ABCDEF pour 10 15 int nombre d cimal sign int simple Z gt char affiche une chaine jusqu un 0 void pointer r
54. aque registre lt Valeur gt peut un ne hexad cimal ou une expression simple Description de la commande Cet ensemble de commandes utilise les noms des registres du CPU comme commandes individuelles pour permettre de changer leur contenu Exemple pc 700e PP PC SP X D A B CCR SXHI NZVC 38 700E 3 00 1000 0000 02 01 1001 0000 700 FFFFFF LDS SFFFF gt x 1000 PP PC SP D CCR SXHI NZVC 38 700E 3 00 1000 0000 02 01 1001 0000 700 FFFFFF LDS SFFFF c 1 PP PC SP Y D A B CCR SXHI NZVC 38 700E 3 00 1000 0000 02 01 1001 0001 xx 700E FFFFFF LDS SFFFF gt d adf PP PC SP X Y D CCR SXHI NZVC 38 700E 3 00 1000 0000 0A DF 1001 0001 700 FFFFFF LDS SFFFF gt 29 30 ROUTINES UTILISATEUR Conventions d appel Tous les sous programmes utilisateurs ont t crits en C En g n ral les param tres sont pass s la pile faut pousser les param tres sur la pile dans l ordre inverse ils sont d clar s dans la fonction de droite a gauche except le dernier param tre le premier param tre de la d claration de la fonction qui est pass par l accumulateur D Les fonctions n ayant qu un le passent toujours Les param tres char doivent toujours tre convertis en int Cela signifie que m me si un param tre est d clar comme char 11 occupera deux octets de pile Les param tres char doivent oc
55. ble est ignor Le caract re backspace 08 est utilis par la fonction GetCmdLine pour supprimer du buffer de ligne de commande le dernier caract re re u Quand GetCmdLine re oit le caract re backspace elle renvoie le backspace en cho au terminal imprime le caract re ASCII espace 20 et envoie un second caract re backspace au terminal Cette action a pour effet d effacer le dernier caract re l cran En m me temps il est supprim du buffer de ligne de commande Un backspace re u en premier caract re est ignor Un retour chariot 0D termine la r ception de caract res Cependant le retour chariot n est pas plac dans le buffer de commande On y met la place le caract re NULL 00 Avant de finir tous les caract res entr s sont convertis en majuscules GetCmdLine renvoie toujours un code de noErr char far sscanhex char HexStr unsigned int BinNum Adresse du pointeur SEESE La fonction sscanhex sert convertir une chaine hexad cimale ASCII en entier binaire La chaine point e par Hexstr peut contenir un nombre quelconque de caract res hexa Cependant la valeur convertie ne doit pas tre sup rieure FFFF La cha ne doit se terminer soit par un espace 20 soit par un NULL 00 sscanhex retourne soit un pointeur sur le caract re terminal soit un pointeur NULL Un pointeur NULL indique soit la pr sence d un hexa dans la chaine soit une valeur s
56. ch if Minus 1 43 Long Branch if Not Equal 2 0 413 1BPL reff6 Long Branch if Plus 0 43 LBRA re f6 Long Branch Always 1 1 4 LBRN 16 Long Branch Never 1 0 3 Long Branch if Overflow Bit Clear 0 413 LBVS 16 long Branch if Overflow Bit Set V 1 4 LDAA opr8 opr a Load Accumutator LDAA opr 6a LDAA oprxO xysp LDAA oprx9 xysp LDAA oprx16 xysp LDAA D xysp LDAA oprx16 x 14 Codage Machine CR D6 dd F6 hh 11 E6 xb E6 xb ff E6 xb ee xb xb ji DC dd hh 2 xh EC xb f EC xb ee ff EC xb xb EDAB opr i 0 LDAB opr a LOAB opri6a LDAB 0 LDAB oprx9 xysp LDAB oprx18 xysp LDAB D xysp LDAB foprx16 xy LDO LDD opr8a LOD 100 oprx0_xysp LDD LDD oprx16 xysp LDD D Load Accumulator MM 1 gt Load Double Accumulator D 1 gt SP Load Stack Pointer LDS LDS LDS oprx9 xysp LDS oprx16 xysp LOS D xysp AR P G N O G G CI NG A LI LI OI O gt 1 gt X Load Index Register X LDX LDX oprx9 xysp LDX oprx16 xysp EDX D xysp LDX foprx16 xysp LDY amp oprt6i LDY opr a LD
57. ct result of intemal compare oprx0_xysp oprx9 xysp oprx16 xysp 15 Codage Machine MAXM oprx0_xysp MAXM oprx9 xysp 16 D xysp MAXM MAX A M MAX of 2 Unsigned 8 Values N Z V and C status bits reflect result of internal compare MINA 18 MINA D xysp MINA MINA gt MIN of 2 Unsigned 8 Bit Values Z V and C status bits reflect result of internal compare A M LC xb lC xb f lC xb ee 1C xb lC xb ee ff SXH NZVC xb xb xb xb xb MINM xysp MINM oprx9 xysp MINM 16 xysp MINM D xysp MINM oprx16 xysp M MIN of 2 Unsigned 8 Bit Values N Z V and C status bits reflect result of internal compare MOVB opr 1 MOVB xysp 3 opr16a 1 MOVB oprxO xysp 1 opt 1 MOVB oprxO OprxO MOVW 16 opr16a 1 MOVW 1 oprxO xysp 1 MOVW 1 MOVW oprxO 1 1 MOVW oprxO xysp 1 M1 M2 Memory to Memory Byte Move 8 Bit IDX IDX xb xb xb ce xb xb M M 1 1 M M 1 2 Memory to Memory Word Move 16
58. cuper l octet poids faible octet d adresse haute d un mot pouss dans la pile ou l accumulateur B si le param tre est pass par D Les param tres pouss s en pile avant l appel de la fonction y restent au retour de la fonction C est la responsabilit du programme appelant de les retirer de la pile Tous les r sultats 8 ou 16 bits sont retourn s dans l accumulateur D Les valeurs char retourn es sont situ es dans l accumulateur B Les r sultats Boolean des fonctions sont z ro pour Faux et non z ro pour Vrai A l exception du pointeur de pile aucun registre du CPUI2 n est pr serv par les fonctions appel es S il faut pr server certaines valeurs de registres on doit les pousser en pile avant les param tres et les r cup rer apr s avoir d sallou les param tres Sur la figure C 1 les fonctions avec le qualificateur far sont implant es en m moire pagin e du MC9S12DP256 et on doit les appeler l aide de l instruction CALL Noter que leurs pointeurs occupent quatre octets au lieu de deux Interface avec le langage d assemblage L appel de fonctions partir du langage assembleur est un simple probl me d empilement des param tres dans le bon ordre en chargeant le premier ou le seul param tre dans l accumulateur D On peut alors appeler la fonction par une instruction CALL ou JSR Le code qui suit l appel doit retirer tous les param tres de la pile Si on n a mis en pile un seul param tre le moyen le plus efficac
59. e de le retirer est une simple instruction PULX ou PULY S il y en a davantage il vaut mieux utiliser l instruction LEAS Si on a sauv des registres du CPUI2 sur la pile avant de passer les param tres il faut les r cup rer avec les instructions PUL correspondantes La figure C 2 donne un exemple d appel de la fonction writeEEByte WriteEEByte equ SEEA6 adresse du pointeur de fonction ldab 55 crire 55 dans 1 EEPROM pshd place la donn e sur la pile dd EEAd adresse d criture call WriteEEByte pcr Appel du sous programme pulx Suppression du param tre de la pile beq Error Un retour 0 signifie erreur Figure C 2 Appel du sous programme writeEEByte 31 A EP Pointer Function Description Address far main D but de D Bug12 EE80 getchar R cup re un caract re de SCIO ou SCIL 84 utchar Envoie un caract re sur SCIO ou SCH 86 rintf Sortie format e Traduit les valeurs binaires en caract res 88 far GetCmdLine Obtain a line of input from the user 8 Convert une chaine hexad cimale ASCII entier binaire EE8E isxdigit Teste l appartenance l ensemble 0 9 a f A F EE92 toupper Convertit minuscules en majuscules EE94 isalpha Teste l appartenance l ensemble a z A Z EE96 strlen Retourne la longueur d une cha ne termin e par u
60. e en sortie RDRMx 1 sortance r duite au tiers RDRMXx 0 sortance compl te Registre de validation du pull du port M 80254 PERM FERME PERMS FERME PERM3 2 PERMO PERM Reset 0 0 0 0 0 Ce registre mms d un as ou d un pull down en entr e PERMx 1 pull activ PERMx O pull d sactiv Registre de choix de polarit du port M 0255 5 PPSM6 PPSMS PPSM4 PPSM3 PPSM2 PPSMI PPSMO PPSM 0 Reset 0 0 0 0 0 0 0 registre choisit entre pull up et pull down PPSMx 1 pull down PPSMx 0 pull up Registre de mode ou cabl du port M 0256 WOMMS WOMM4 WOMM3 WOMM2 WOMMI WOMMO WOMM Reset 0 0 0 0 0 0 WOMMx 1 TN ouvert 0 sortie normale Registre de redirection des m 80257 MOPRKG MODRRS MODRR4 MODRR3 MODRR2 MODRRI MODRRO MODRR Reset 0 0 0 0 0 0 Permet de les registres certains modules vers des adresses libres Voir notice d taill e Registre d entr e sortie du port P 80258 un EI PrPS Pm PTP3 PTP2 PTPO PTP Reset 0 0 0 0 0 PWM SENS PWM4 PWM3 PWM2 PWMO SPI SCK2 552 MOSI2 MISO2 SS1 SCKI MOSII MISOI Si le bit de direction de donn e de la patte est 1 une lecture donne la valeur du registre de port sinon elle donne la valeur de la patte Registre d entr e du port P 0259 PrIP7 PTIP2 Reset L critu
61. epr sentation d pendant de l impl mentation pas d argument converti imprime un a 90 Figure C 3 Caract res de conversion de printf Pour ceux qui sont familiers avec le C ou la fonction printf les exemples suivants montrent les r sultats de la fonction printt pour diff rentes chaines de formats Exemple 1 printf Signed Decimal d Unsigned Decimal u n Num Num Num a pour valeur FFFF affiche le r sultat Signed Decimal 1 Unsigned Decimal 65535 Exemple 2 printf Hexadecimal H Hexadecimal 4 4H n Num Num Num a la valeur FF affiche le r sultat Hexadecimal FF Hexadecimal 00FF Exemple 3 printf This is a s n TestStr O TestStr est un pointeur sur adresse de le premier octet d un tableau de caract res termin par un NULL contenant Test affiche le r sultat This is a Test 33 int far GetCmdLine char CmdLineStr int CmdLineLen Adresse du pointeur La fonction GetcmdLine permet de r cup rer une ligne entr e par l utilisateur GetCmdLine re oit un caract re la fois par l interm diaire de getchar Le caract re est renvoy en cho par putchar et rang dans le tableau de caract res point CmdLineStr On peut entrer au maximum CmdLineLen 1 caract res ASCII imprimables Les seuls caract res non imprimables trait s sont le caract re backspace 08 et le caract re retour chariot 0D Tout autre caract re non imprima
62. et attend une nouvelle commande D Bugl2 de l utilisateur On utilise ici l option points d arr t logiciels option activ e par la commande USEHBR OFF On pose les points d arr t en tapant la commande BR suivie d une ou plusieurs adresses Si on n crit pas d adresse on fait afficher les adresses des points d arr t actuels 10 au maximum Restrictions D Bugl2 r alise la fonction de points d arr t logiciels en rempla ant le code de l adresse choisie par l instruction SWI On ne peut pas mettre un point d arr t sur une instruction SWI utilisateur On ne peut mettre un point d arr t que sur un code op ratoire situ en RAM Exemple br 1100 1105 Breakpoints 1100 1105 gt br Breakpoints 1100 1105 gt BS Block Search Cherche une adresse d occurrence d une s quence Format de ligne de commande BS lt Ad d but gt lt Ad fin gt lt Ch gt lt Donn e gt lt Donn e gt Description des param tres Ad d but Un nombre hexa de 16 bits ou une expression simple Ad fin Un nombre hexa de 16 bits ou une expression simple Ch Une cha ne ASCII compos e de caract res quelconques sauf 7 Donn e Un nombre hexa de 8 bits ou une expression simple Description de la Commande Cherche une s quence dans une zone d adresses On peut sp cifier la s quence par une chaine ASCII entre quotes ou par une suite de moins de neuf octets hexad cimaux En cas de succ s l adresse du premier octet s affiche Noter
63. et lui attribue les pattes PortS4 7 1 Syst me SPI valid 0 Syst me d valid SPTIE Valide les interruptions sur mont e du bit d tat SPTEF 1 Demande valid e 0 Demande non transmise 1 Mode ma tre 0 Mode esclave MOD FENSSOE Mode Maitre Mode Esclave CPOL polarit d horloge 1 active niveau bas 0 active niveau haut 0 ail SS pas utilis par SPI entr eSS Ce bit sert d phaser l horloge s rie SCK 1 le premier font de Co SCK a lieu au d but des huit cycles de transfert O le premier front de SCK a lieu un demi cycle apr s le d but du transfert SSOE Validation de sortie Slave Select Voir tableau ci contre LSBFE 1 Donn e transmise LSB Donn e transmise MSB en premier T S pas utilis par SPI entr e 88 1 0 entr e SS avec entr e SS MODF EE sortie SS Registre de contr le N 2 du SPIO 9 o 90 MODFEN BIDIROE 0 SPCO___ SPICR2 1 Autorise la mont e de l indicateur 0 D valide l indicateur BIDIROE Buffer de sortie valid 0 Buffer de sortie d valid SPISWAI Stoppe l horloge SPI en mode wait 0 l horloge SPI fonctionne normalement en mode wait SPCO Avec le bit de contr le MSTR valide les configurations bidirectionnelles des pattes selon le tableau ci contre Pin Mode SPC esp 801 MOSI SCK 885 NOTES 1 Sortie esclave valide si BIDIROE 1 5550 MSTR 0 C Sla
64. har int Adresse du pointeur EE86 La fonction putchar permet d envoyer un caract re sur le SCI du terminal de contr le Si le registre de transmission est plein l appel de la fonction putchar attendra qu il soit vide pour envoyer le caract re Il n y a pas de buffering du caract re putchar retourne le caract re envoy Cependant il ne d tecte aucune condition d erreur et ne retournera donc jamais EOF Comme le caract re retourn est un int il est plac dans l accumulateur B int printf char format Adresse du pointeur EE88 La fonction printf sert convertir formater et imprimer ses arguments sur la sortie standard sous le contr le de la chaine de format point e par ormat Elle retourne le nombre de caract res envoy s vers la sortie standard La version de printf du moniteur supporte l criture format e de tous les types de donn es except s les formats flottants La chaine de format peut contenir deux types d objets de base les caract res ASCII qui sont copi s 32 directement de chaine format vers sortie standard et les sp cifications de conversion qui permettent de convertir de formater et d envoyer les arguments successifs de printf Chaque sp cification de conversion commence par un signe pourcent 90 et se termine par un seul caract re de conversion Les caract res optionnels de format peuvent apparaitre entre le signe pourcent et le caract re de conversion dans l ordre suiv
65. is quand on rencontre un stop bit 0 PF Parit est mis quand la parit est valid e bit PE de SCICR1 si la donn e reque n a pas la bonne parit Note on remet tous ces bits 0 par une lecture de SCISR1 suivie d une criture TDRE TC ou d une lecture les autres sur SCIDRL Registre d tat N 2 de SCIO socb o v 0 RAF SCIOSR2 BRK13 Longueur du break en transmission 1 Longueur du break 13 ou 14 0 longueur du break 10 ou 11 TXDIR Direction de la patte TXD en mode simple fil 1 sortie 0 entr e RAF Receiver Active est mis si une r ception est en cours Donn es hautes de SCIO 00CE US TS 0 0 0 0 scmpnH R8 est le neuvi me bit de donn e en r ception quand le SCI est configur avec 9 bits de donn es M 1 T8 est le neuvi me bit de donn e en transmission quand le SCI est configur avec 9 bits de donn es M 1 Donn es basses de SCIO 00CF R7 T7 R6 T6 RS TS R4 T4 R3 T3 R2 T2 RO TO SCI0DRL Registres de SCI1 analogues SCI0 00D0 ISCIIBDH 00D1 SCIIBDL 00D2 0003 SCI1CR2 00D4 ISCIISRI 00D5 ISCIISR2 00D6 SCI1DRH 00D7 SCI1DRL 51 INTERFACE SERIE SYNCHRONE SPIO Registre de contr le N 1 du SPIO soops SPIE SPTIE CPOL LSBFE sPICRI SPIE Valide les interruptions sur mont e des bits d tat SPIF ou 1 Demande valid e 0 Demande transmise SPE Valide le syst me SPI
66. la m thode utilis e pour ex cuter une seule instruction On peut contournetr la difficult en utilisant la gommande GT Go Till qui pose un point d arr t temporaire sur l instruction suivante L instruction CALL ne peut tre trac e car elle interf re avec le fonctionnement de D Bug12 28 Exemple PP PC SP Y D A B CCR SXHI NZVC 38 1001 3BFE 1000 0000 00 DF 1001 0100 1001 162000 JSR 2000 gt t 2 PP PC SP Y D A B CCR SXHI NZVC 38 2000 3BFC 1000 0000 00 DF 1001 0100 xx 2000 42 INCA PP PC SP X Y D CCR SXHI NZVC 38 2001 3BFC 1000 0000 01 DF 1001 0000 xx 2001 3D RTS gt Nom de registre Modifie la valeur d un registre CPU12 Format de ligne de commande lt Nom de registre gt Valeur Description des param tres Nom de registre est un des noms de registre CPU12 suivants Nom Description Valeurs A Accumulateur PC Compteur ordinal 0 FFFF Accumulateur B SP Pointeur de pile 0 D Accumulateur D A B Registre d index X 0 FFFF CCR Registre Code Condition 0 FF Registre d index Y 0 FFFF Registre PPAGE Chaque champ du CCR peut tre modifi sous noms suivants CCR Nom du Bit Valeur Nom du Bit Valeur S Validation du STOP Indicateur Overflow 0 1 Demi Carry Indicateur Carry Indicateur Carry 0 1 Indicateur N gatif Masque d IRQ OL Z Indicateur Zero Masque 0 1 Pour ch
67. le du compteur de d lai 009 0 o 0 0 0 DLYI DLYO DLYCT Reset 0 0 0 0 0 0 0 0 Apr s d tection d un front actif sur une patte de capture d entr e le compteur de d lai DLY1 DLYO D lai attend un certain nombre de cycles machine avant d envoyer une impulsion en sortie 0 0 D valid 0 1 256 cycles d horloge 1 0 512 cycles d horloge 1 1 1024 cycles d horloge Registre de contr le d crasement des captures d entr e sien Novw7 Novwe Novws NOVW3 NOVW2 NOVWO ICOVW Reset 0 0 0 0 0 0 0 0 NOVWx 0 Pas de pr caution contre l crasement 1 On ne peut crire dans un registre que s il est vide d j lu 46 Registre de contr le du syst me en entr e 50068 em SH26 5 15 TEMOD PACMX LATQ ICSYS Reset 0 0 0 0 0 0 0 0 Voir notice d taill e Registre de test du timer 006D 0 o o 9 0 TIMTST Reset 0 0 0 0 0 0 0 0 Pour tests uniquement Registre de contr le de l accumulateur d impulsions 16 bits 0070 0 PBEN 0 0 0 0 PBCTL Reset 0 0 0 0 0 0 0 0 L accu 16 Bits PACB est form cascadant les deux accus 8 bits PACNI et PACNO Il partage la patte d entr e PT7 avec ICO PBEN 0 L accu 16 bits est d valid PACNI et PACNO ont leur propre bit de validation dans ICPAR 1 L accu 16 bits est valid Les bits de validation de PACNI et PACNO dans ICPAR sont sans effet PBOVI Validation d interruption sur d bordement PBOVF 1 demande trans
68. mise 0 demande non transmise Registre d indicateurs de l accumulateur d impulsions 16 bits B wi T Reset 0 0 0 0 0 0 0 0 PBOVF mis si PACB 16 bits passe de FFFF 0 ou si 8 bits passe de FF 0 On le remet 40 en crivant un 1 PBFLG Registre N 3 de rangement d accumulateur 8 bits 0072 PA3H7 PA3H6 5 PA3H4 PA3H3 PA3H2 Reset 0 0 0 0 0 0 0 0 Registre N 2 de rangement d accumulateur 8 bits 0073 2 7 PA2H6 2 5 PA2H4 PA2H3 PA2H2 2 2 2 Reset 0 0 0 0 0 0 0 0 Registre N 1 de rangement d accumulateur 8 bits 0074 1 7 1 6 1 5 1 4 PAIH2 1 Ree 0 0 0 0 0 0 0 0 Registre N 0 de rangement d accumulateur 8 bits 0075 PAOH7 PAOH6 PAOHS PAOH4 PAOH3 PAOH2 PAOHO Reset 0 0 0 0 0 0 0 0 Registre de comptage du module d comptage 16 bits 0076 MCCNT15 MCCNT14 MCCNT13 MCCNT12 MCCNTII MCCNT10 MCCNT9 MCCNT8 MCCNT 0077 MCCNT7 MCCNT6 MCCNTS MCCNT4 MCCNT3 MCCNT2 MCCNTI MCCNTO Reset 1 1 1 1 1 1 1 1 Voir notice d taill e Registre de rangement N 0 de capture d entr e du timer 0078 15 4 TC13 TC12 TC11 TC10 TC9 TC8 TCOH 0079 TC7 TC6 TC5 TC4 TC3 TC2 TC1 TCO Reset 0 0 0 0 0 0 0 0 Registre de rangement N 1 de capture
69. mparaison 7 0043 OC7D7 OC7D6 OC7D5 OC7D4 OC7D3 OC7D2 OC7D1 OC7DO OC7D Reset 0 0 0 0 0 0 0 0 Voir notice d taill e Registre de comptage du timer 0044 TCNTIS TCNTI4 13 11 TCNTIO TCNT8 TCNT 0045 7 TCNT6 TCNTS TCNT3 TCNT2 TCNTO Reset 0 0 0 0 0 0 0 0 Registre de contr le N 1 timer syst me 0046 TEN TSWAI TSFRZ 0 v 9 Reset 0 0 0 0 0 0 0 0 TEN Timer Enable 0 le timer est d valid conomie d nergie 1 le timer fonctionne normalement Si pour une raison quelconque le timer n est pas actif il n y a pas horloge 64 pour l accumulateur d impulsions TSWAI 0 le timer continue pendant un Wait 1 il s arr te TSFRZ 0 le timer continue en mode Freeze 1 il s arr te TFFCA Timer Fast Flag Clear All 0 l abaissement des flags du timer se fait normalement par l criture d un al Pour TFLGI 4E la lecture d une capture d entr e ou l criture d une sortie sur comparaison abaisse le flag CnF correspondant Pour TFLG2 4F tout acc s au registre TCNT 44 45 abaisse le flag TOF Tout acc s aux registres PACN3 et PACN2 62 63 abaisse les flags PAOVF et PAIF du registre PAFLG 61 Tout acc s aux registres PACNI et PACNO 64 65 abaisse le flag PBOVF du registre PBFLG 71 Registre N 1 de bascule sur d bordement du timer 0047 _TOV7 6 5 TOV3 2 TTOV 0 0 0 Reset 0 0 0 0 0 1
70. n octet nul EE98 Strcpy Copie une cha ne termin e par un octet nul EE9A far out2hex Affiche un octet sous forme de 2 caract res hexad cimaux EE9C far out4hex Affiche un mot de 16 bits sous forme de 4 caract res hex EEAO SetUserVector Setup user interrupt service routine EEA4 far WriteEEByte Ecrit un octet de donn e sur l EEPROM interne EEA6 far EraseEE Efface toute l EEPROM interne far ReadMem Lit des donn es dans la carte m moire du M68HC12 EEAE far WriteMem Ecrit des donn es sur la carte m moire du M68HC12 EEB2 Figure C 1 Liste des fonctions utilisateur void far main void Adresse du pointeur EE80 Point d entr e ti de de D Bug12 Parmi de nombreuses utilisations voir notice compl te permet un retour au moniteur en fin de programme utilisateur Attention un tel retour depuis un programme utilisateur par la fonction main r initialise toutes les tables internes et les variables de D Bug12 Tout point d arr t est perdu et les SWI des points d arr t restent dans le programme utilisateur int getchar void Adresse du pointeur EE84 La fonction getchar permet de r cup rer un caract re depuis le SCI du terminal de contr le S il n y a pas de caract re dans le registre de r ception du SCI l appel de la fonction getchar attendra la r ception d un caract re Comme la fonction retourne un entier int le caract re 8 bits est plac dans l accumulateur B int putc
71. nregistrement S8 ou 559 12 n envoie pas son invite et continue attendre l enregistrement de fin de fichier Un appui sur le bouton de Reset ram nera D Bug12 son invite de ligne de commande Exemple gt load ck ck ck ck k k kk k k k k k k k k x xk x lt gt MD Memory Dump Affiche la m moire en octets hexa et en format ASCII Format de ligne de commande MD lt Ad d part gt lt Ad fin gt Description des param tres lt Ad d part gt Un nombre hexa de 16 bits ou une expression simple lt Ad fin gt Un nombre hexa de 16 bits ou une expression simple Description de la commande La commande affiche le contenu des m moires la fois sous forme d octets en notation hexa et sous forme de caract res ASCII par lignes de 16 octets Le param tre lt Ad d part gt est n cessaire mais le param tre lt Ad fin gt est optionnel S il n est pas fourni une seule ligne s affiche Le param tre lt Ad d part gt est arrondi au multiple de 16 inf rieur tandis que le param tre lt Ad fin gt est arrondi au multiple de 16 sup rieur Cela entra ne que chaque ligne affiche la m moire depuis xxx0 xxxF Par exemple si l utilisateur a choisi 205 comme adresse de d part et 217 comme adresse de fin la m moire affich e va de 200 21F Exemple md 1000 1000 CE 10 00 09 26 FD 20 FE 5A BD D6 C4 15 FB DE 76 Vu eo cun A md f127 f145 F120 74 6 6F 61 64 65 72 20 76 31 2E 30 2E 30 OD
72. nterruption Port H 3E4C Interruption Port J 3E4E ATDI 3E50 ATDO 3E52 SCH 3E54 SCIO 3E56 SPIO 3E58 Pulse Accumulator A Input Edge 3E5A D bordement Pulse Accumulator A 3E5C D bordement Timer 3ESE Timer Canal 7 3E60 Timer Canal 6 3E62 Timer Canal 5 3E64 Timer Canal 4 3E66 Timer Canal 3 S3E68 Timer Canal 2 3E6A MSCAN 1 Errors Timer Canal 1 3E6C Timer Canal 0 3E6E Interruption temps 88 3E70 IRQ 3E72 XIRQ 3E74 SWI 3E76 3E38 Instruction Non implement e Trap 3E78 EEPROM 3E3A N A 3E7A SPI2 N A 3E7C SPI1 N A 3E7E Figure 4 Adresses des vecteurs d interruption en RAM 37 CARTE MEMOIRE DE D BUG12 EN MODE EVB Quand D Bug12 est configur en mode EVB il fonctionne comme un moniteur r sident en ROM Comme tous les moniteurs r sidents il utilise des ressources du composant pour ses fonctions de mise au point La table de la figure 5 ci dessous d taille la carte m moire de D 12 op rant sur une version 256K D Bugl2 utilise 1024 octets de la RAM interne du MCU Les 11K de RAM restants sont disponibles pour le d veloppement de programmes d application Noter que D Bug12 en mode EVB ne permet pas d utiliser la m moire Flash du MCU Zone d adresses Description 0000 03FF Registres Micro contr leur 0400 0FFF EEPROM interne 1000 3BFF interne utilisateur 3C00 3FFF interne D Bug12 4000 EE7F Code
73. onction printf out2hex appelle simplement printf avec la chaine de format 2 2x void far out4hex unsigned int num Adresse du pointeur SEEAO out4hex affiche num sur le terminal de contr le sous forme de quatre caract res hexa On fournit cette fonction pour ceux qui ne maitrisent pas bien la fonction printf out4hex appelle simplement printf avec la cha ne de format 4 4x int SetUserVector int VectNum Address UserAddress Adresse du pointeur EEA4 Non document Voir notice g n rale Boolean far WriteEEByte Address EEAddress Byte EEData Adresse du pointeur SEEA6 WriteEEByte fournit un m canisme pour programmer individuellement des octets de l EEPROM interne sans avoir manipuler les registres de contr le de programmation de writeEEByte ne fait aucun test sur EEAddress pour s assurer qu il retombe bien dans la zone d adresse de l EEPROM interne Un programme utilisateur peut d terminer l adresse de d part et la taille de la m moire EEPROM interne en examinant le contenu des champs CustData EEBase et CustData EESize La fonction effectue un effacement d octet avant de programmer puis v rifie le r sultat de l op ration En cas d chec la fonction retourne une valeur faux z ro int far EraseEE void Adresse du pointeur SEEAA La fonction EraseEE fournit un m canisme d effacement global de l EEPROM interne sans a
74. ons du HC12 Page2 OX 1X 3X 4X Sx 6X 7X 0 MOVWimm ind IDIV TRAP TRAP TRAP TRAP 1 MOVW ext ind FDIV LBRN TRAP TRAP TRAP TRAP TRAP 2 MOVW ind ind EMACS LBHI TRAP TRAP TRAP TRAP TRAP 3 MOVWimm ex EMULS LBLS TRAP TRAP TRAP TRAP TRAP 4 MOVW ext ext EDIVS LBCC LBHS 5 MOVW ind ext IDIVS LBCS LBLO 6 SBA LBNE 7 DAA CBA LBEQ 8 MOVB imm ind MAXA TRAP TRAP TRAP TRAP TRAP 9 MOVB ext ind MINA TRAP TRAP TRAP TRAP TRAP A MOVB ind ind REV TRAP TRAP TRAP TRAP B imm ext EMIND LBMI REVW TRAP TRAP TRAP TRAP ext ext LBGE WAV TRAP TRAP TRAP TRAP D MOVB ind ext LBLT TBL TRAP TRAP TRAP TRAP E TAB EMAXM LBGT STOP TRAP TRAP TRAP LBLE ETBL TRAP TRAP TRAP 2 4x 5x 6x 9x Ax 0 X T X d TE TU lor 16 SP 1 SP 1 X 2 4X 2 X 1 Y 15 Y 2 4Y 15 SP 2 4SP 2 X 3 X 14 Y 3 Y 214 5 3 5 3 3 x 13 x 4 X 4 Sou 13 SP 4 SP 4 12 5 X 5 X 4 Y 12 Y 5 4 12 SP 5
75. que si on d finit la s quence par une chaine ASCII seuls sont autoris s les caract res imprimables l exception de la quote Exemple bs c000 d000 RTS Data Found at 5 4 bs 3000 4000 12345 Data Found at 3D29 bs f000 ffff bug Data Not Found gt CALL Ex cute un sous programme utilisateur Format de la ligne de commande CALL lt Ad gt Description du param tre lt Ad gt Un nombre hexa de 16 bits ou une expression simple Description de la commande Ex cute un sous programme et retourne au moniteur D Bugl2 apr s ex cution du RTS final Quand D Bug12 reprend le contr le il affiche les contenus des registres du CPU au moment de l ex cution du RTS l exception du compteur ordinal PC qui contient l adresse de d part du sous programme Si on ne fournit pas d adresse dans la ligne de commande on utilise le contenu courant du PC comme adresse par d faut NOTE La commande ne place pas de point d arr t avant de passer la main au code utilisateur 23 Restrictions Si le sous programme appel modifie la valeur du pointeur de pile il DOIT r tablir le pointeur original avant d ex cuter son RTS final Cette restriction est impos e du fait que D Bug12 place 4 octets sur la pile utilisateur pour reprendre le contr le apr s ex cution du RTS final Exemple call 2000 Subroutine Call Returned PP PC SP X Y D A B CCR SXHI NZVC 38 2000 3 00 1100 0000 01 00 1001 0000 xx 2000 42 INCA 2
76. re dans ce episte est sans is effet Ce fepisire donne toujours l tat des pattes associ es Registre de direction de donn es du port P 8025 DDRP DDRP DDRP DDRP DDRP DDRP DDRP Reset 0 0 0 0 0 Ce registre Dun la de chaque du port DDRPx 1 patte x en sortie DDRPx 0 patte x en entr e Registre de r duction de sortance du port P 80258 RDRET RDRPS RDRPS RDRES RDRP3 RDRP2 RDRPO RDRP Reset 0 0 0 0 0 Ce registre c la sortance 2 chaque ins en sortie RDRPx 1 sortance r duite au tiers RDRPx 0 sortance complete 54 Registre de validation du pull du 025C 7 PERPS PERP4 PERP3 PERP2 PERPI PERPO PERP Reset 0 0 0 0 0 0 0 0 Ce registre configure l activation d un pull up ou d un pull down en entr e PERPx 1 pull activ PERPx 0 pull d sactiv Registre de choix de polarit du port P 025D PPSP7 PPSP6 5 5 PPSP4 PPSP3 PPSP2 PPSP1 PPSPO PPSP Reset 0 0 0 0 0 0 0 0 Ce registre a deux usages choisir entre pull up et pull down et choisir la polarit du front d interruption actif PPSPx 1 pull down et front montant PPSPx 0 pull up et front descendant Registre de validation des interruptions du port P 025E Tee 5 PIEP2 PIEPO PIEP Reset 0 0 0 0 0 0 0 0 Ce registre valide ou invalide pour chaque patte le front actif d interruption externe PIEPx l interruption valid e PIEPx O in
77. re de tracer dans les sous programmes d ja corrects La commande SO est semblable commande trace sauf que les appels de sous programme BSR JSR and CALL sont trac s comme une seule instruction Quand la commande SO rencontre une de ces instructions elle place un point d arr t temporaire sur l instruction suivant le BSR JSR ou CALL Elle lance ensuite une commande Go ex cutant le sous programme pleine vitesse Les autres instructions sont ex cut es comme en Trace Exemple 250 SP D CCR SXHI NZVC 38 1001 3 00 1000 0000 01 01 1001 0000 xx 1001 162000 JSR 2000 250 5 X X D A B CCR SXHI NZVC 38 1004 3 00 1000 0000 02 01 1001 0000 xx 1004 52 INCB gt T Trace Ex cute pas pas les instructions CPU12 Format de ligne de commande T lt Count gt Description des param tres Count Un nombre d cimal de 1 255 Description de la commande On utilise la commande Trace pour ex cuter une ou plusieurs instructions d un programme utilisateur partir de la valeur courante du compteur ordinal PC A chaque instruction les contenus des registres du CPUI2 s affichent ainsi que la prochaine instruction ex cuter Pour ex cuter une seule instruction entrer la commande trace suivie d un retour chariot Restrictions Il n est pas possible de tracer les instructions qui bouclent sur elles m mes BCC LBCC BRSET BRCLR BRSET BRCLR DBEQ NE IBEQ NE TBEQ NE cause de
78. riture d un 0 sur ce bit n a pas d effet et sa lecture donne toujours 0 FLMC L criture d un 1 dans ce bit r initialise le registre de d comptage sa valeur de chargement Elle r initialise galement le pr diviseur L criture d un 0 sur ce bit n a pas d effet et sa lecture donne 0 MCPRI MCPRO Valeur du pr diviseur MCEN 0 Compteur de module invalid 1 Compteur de module valid 1 MCPRO S lection du pr diviseur du module Voir tableau ci 1 contre 8 La nouvelle valeur prend effet apr s rechargement du compteur du module 16 Registre d tat du module d comptage 16 bits 0067 _MCZF o v 2 MCFLG Reset 0 0 0 0 0 0 0 0 MCZF Mis quand d compteur arrive 0 On le remet 0 en y crivant un 1 L criture d un 0 est sans effet Le bit POLFx correspond l entr e timer PTx in dique que la premi re capture est due un front 0 descendant montant Registre de contr le d entr e des accumulateurs d impulsions 008 9 0 v PA3EN PA2EN PAIEN PAOEN ICPAR Reset 0 0 0 0 0 0 0 0 On peut valider les accus 8 bits DACH et que si le bit de PATCL est 0 Sinon PA3EN et PA2EN sont sans effet On ne peut valider les accus 8 bits et PACO que si le bit PBEN de PBTCL est 0 Sinon PAIEN et PAOEN sont sans effet PAXEN 0 Accu 8 bits N x d valid 1 Accu 8 bits N x valid Registre de contr
79. ry to ADCA ADCA oprxO ADCA oprx9 xysp oprx16 xysp N B M C gt B Add with Carry to B ADCB ADCB oprxO xysp ADCB ADCB oprx16 xysp ADDA oprdi ADDA opr a ADDA opr16a ADDA 0 xysp ADDA oprx9 xysp ADDA oprx16 xySp ADDA D xysp M Add without Carry to A B M Add without Carry to 8 opr a ADDB xysp ADDB 9 ADDB oprxt6 xysp ADDB D xysp ADDD ADDD opr8a ADDD opr16a ADDD oprx0_xysp ADDD oprx9 xysp ADDD oprx16 xysp ADDO D xysp A B MM 1 gt AB Add 16 Bit to D AAAA F3 hh E3 xb xb X wb ff xb xb A M A Logical AND A with Memory ANDA opr16a ANDA xysp ANDA oprx8 xysp ANDA oprx16 xysp ANDA D xysp eedem nnn ed ANDB opr i B e M ANDB opr8a Logical AND B with Memory ANDB ANDB xysp ANDB oprx9 xysp ANDB oprx18 xysp ANDB D xysp Logical AND CCR with Memo ASL xysp ASL oprx9 xysp ASL 16 ASL D xysp ASL foprx 16 xysp ASLA ASLB p 78 hh 11 68 xb 68 xb 68 xb 68 xb 68 xb 48 58 Arithmetic Shift Left Arithmetic Shift Left Accumulator A Asithmetic Shift
80. terruption invalid e Registre d indicateurs d interruptions du port P 025 PIFP7 PIFP6 PIFP2 PIFPI PIFPO PIFP Reset 0 0 0 0 0 0 0 0 Chaque indicateur est mis sur un front actif de la patte d entr e associ e front montant ou descendant selon le registre PPSP Pour remettre le bit PIFPx 0 crire un 1 dessus L criture d un 0 est sans effet Registre d entr e sortie du port H 80260 PTH 6 PTHS 2 Reset 0 0 0 0 0 0 0 0 Si le bit de direction de donn e de la patte est 1 une lecture donne la valeur du registre de port sinon elle donne valeur de la patte Registre d entr e du port H 0261 PTIH7 PTIH PTIH PTIH PTIH PTIH PTIH PTIH PTIH Reset L criture dans ce registre est sans effet Ce registre donne toujours l tat des pattes associ es Registre de direction de donn es du port H 0262 7 DDRH DDRH DDRH DDRH DDRH 0 0 0 Reset 0 0 0 0 0 Ce registre configure la direction de chaque patte du port DDRHx 1 patte x en sortie DDRHx 4 0 patte x en entr e Registre de r duction de sortance du port H 0263 RDRH7 RDRH RDRH RDRH RDRH RDRH Reset 0 0 0 0 0 0 0 0 Ce registre configure la sortance de chaque patte en sortie RDRHx 1 sortance r duite au tiers RDRHx 0 sortance compl te Registre de validation du pull du port H 0264 PERH7 PERH6
81. tre N 1 de capture d entr e sortie sur comparaison 0052 115 TC114 TC113 TC112 111 50053 17 TC16 15 TC14 TC13 Registre N 2 de capture d entr e sortie sur comparaison 0054 215 214 213 212 211 50055 27 26 25 24 23 Registre N 3 de capture d entr e sortie sur comparaison 0056 TC315 TC314 TC313 TC312 TC311 0057 TC37 TC36 TC35 TC34 TC33 Registre N 4 de capture d entr e sortie sur comparaison 0058 TC415 TC414 TC413 TC412 TC411 0059 TC47 TC46 TC45 TC44 TC43 Registre N 5 de capture d entr e sortie sur comparaison 005A 515 514 513 TC512 511 005 57 56 TC55 54 53 Registre N 6 de capture d entr e sortie sur comparaison 005C TC615 TC614 TC613 TC612 TC611 005D TC67 TC66 TC65 TC64 TC63 Registre N 7 de capture d entr e sortie sur comparaison 8005 TC715 TC714 TC713 TC712 TC711 005F TC77 TC76 TC75 TC74 TC73 Registre de contr le de l accumulateur d impulsions 16 bits A 0060 0 PAEN PAMOD PEDGE CLKI Reset 0 0 0 0 0 L accu 16 Bits PACA est form en cascadant les deux accus 8 bits PACNG et 2 Il partage la patte d entr e PT7 avec 1 7 0 L accu 16 bits est d valid PACN3 et PACN2 ont leur propre bit de validation dans ICPAR PAIF est d valid 1 L accu 16 bits est valid Les bits de validation de PACN3 et PACN2 dans ICPAR sont sans effet PAIF est valid PAMOD et PEDGE Actif seulement si
82. ubtract Memory from Accumulator A SUBA oprxO SUBA SUBA oprx16 xysp SUBA D xysp AAAA B M B Subtract Memory from Accumulator B SUBE xysp SUBB oprx9 xysp SUBB oprx16 xysp SUBB D xysp SUBD opr16i SUBD opr8a SUBD opr16a SUBD xysp SUBD oprx9 xysp SUBD oprx16 xysp SUBD D xysp D M1 2 D Subtract Memory from D SP 2 gt SP 9 5 RTN H RTN L gt M SP SP SP 2 SP Y H L gt M SP M 1 SP 2 gt P X H X L 2 SP Spe 7 SP 2 gt SP SP SP 1 SP 1 SP CCR gt sP 1 SY Vector PC Software interrupt 11 12 or 00 r1 gt 2 or 11 7 0 2 Transfer Register to Register 71 and 12 may be A CCR D X Y or SP M 0 TST xysp Test Memory for Zero or Minus A TST oprx9 xysp TST oprx16 xysp A 0 Test A for Zero or Minus 1 B 0 Test B for Zero or Minus f SP 2 gt SP RTN H RTN L gt M SP 5 1 SP 2 gt SP Y HI Y L M SP M SP 1 SP 2 gt SP X H X L M SP SP 1 SP 2 SP gt M SP 5 9 SP 1 SP CCR gt sP WAIT for interrup 18 VECTEURS D INTERRUPTION Vect Ad Interrupt So
83. ull D from Stack SP Pe gt X H X L SP 22 SP gister X from Stack M SP 5 1 Y H Y L SP 2 gt SP egister Y from Stack 16 Source ROL ROL oprxQ xysp ROL oprx9 xysp ROL oprx16 xysp ROL D xyspl ROL 16 ROLA ROLB RGR ROR ROR oprx9 xysp ROR oprx16 xysp ROR D xysp ROR foprx16 xysp RORA UHT c bo Rotate Memory Left through Cany Rotate A Left through Carry Rotate B Left through Cary Dur e Mode CodageMachine 5 NZVC EXT LOLOH b7 Rotate Memory Right through Carry Rotate Right through Carry Rotate B Right through Carry SBCA 16 SBCA D xysp SBCB SBCB SBCB 9 SBCB oprx16 xysp SBCB D xysp SBCB 16 M se SP 1 gt SP M SP M SP 5 gt PC H PC L SP 2 5 SP Retum from Call gt gt E J Sx ETES sP CCR SP 1 SP SP M 2 0 gt SP 2 gt SP SP SP X HX L SP 4 gt SP M SP M 52 1 u PC L SP 2 gt SP M SP M sP 1 gt Y H Y L SP 4 gt SP Retum from Interrupt M SP M SP 1 gt PC H PC E SP 2 gt SP Retum from Subroutine A B gt A Subtract B from A 4 Subtract with Borrow from B
84. up rieure FFFF apr s conversion int isxdigit int c Adresse du pointeur SEE92 La fonction isxdigit teste l appartenance du caract re c l ensemble 0 9 a f A F Sile caract re appartient l ensemble la fonction retourne une valeur non nulle vrai sinon elle retourne une valeur nulle faux int toupper int c Adresse du pointeur SEE94 Si c est une minuscule toupper retourne la majuscule correspondante Si c est majuscule retourne simplement c int isalpha int c Adresse du pointeur SEE96 La fonction isalpha teste l appartenance du caract re c l ensemble a z A Z Si le caract re appartient l ensemble la fonction retourne une valeur non nulle vrai sinon elle retourne une valeur nulle faux unsigned int strlen const char cs Adresse du pointeur EE98 La fonction strlen retourne la longueur de la chaine point e par cs Une chaine est un tableau de caract res termin e un caract re 0 char strcpy char 51 char s2 Adresse du pointeur SEE9A La fonction strcpy copie le contenu de la chaine 52 dans la chaine point e s1 y compris 1 0 Retourne un pointeur sur 51 34 void far out2hex unsigned int num Adresse du pointeur EE9C La fonction out 2hex affiche l octet poids faible de num sur le terminal de contr le sous forme de deux caract res hexa L octet poids fort est ignor On fournit cette fonction pour ceux qui ne maitrisent pas bien la f
85. urce Mask Local Enable HPRIO Reset None Clock Monitor fail reset None PLLCTL CME SCME COP failure reset None COPrmaeselect Unimplemented instruction None SWI None None XIRQ X Bt Noe ER IRQ L t Real Time Interrupt L t Enhanced Capture Timer channel 0 L t Enhanced Capture Timer channel 1 I Bit TIE C11 Enhanced Capture Timer channel 2 L t Enhanced Capture Timer channel 3 L t Enhanced Capture Timer channel 4 L t Enhanced Capture Timer channel 5 L t Enhanced Capture Timer channel 6 L t Enhanced Capture Timer channel 7 L t Enhanced Capture Timer overflow L t Pulse accumulator A overflow I Bit PACTL PAOVI Pulse accumulator input edge L t SPIO l Bit_ SPOCR1 SPIE SPTIE D8 SCIO I Bit SCOCR2 TIE RIE ILIE 06 SCH L t ATDO L t ATD1 I Bit ATD1CTL2 ASCIE Do Port J L t Port L t Modulus Down Counter underflow I Bit MCCTL MCZI Pulse Accumulator B Overflow I Bit PBCTL PBOVI FFC6 FFC7 CRGPLL lock 1 Bit CRGINT LOCKIE C6 FFC4 FFC5 CRG Self Clock Mode I Bit CRGINT SCMIE FFC2 FFC3 BDLC I Bit DLCBCR IE FFCO FFC1 Bus I Bit IBCR IBIE FFBE FFBF SPI I Bit SP1CR1 SPIE SPTIE FFBC FFBD SPI2 I Bit SP2CR1 SPIE SPTIE FFBA FFBB EEPROM I Bit EECTL CCIE CBEIE FFB8 FFB9 FLASH I Bit FCTL CCIE CBEIE CANO wake up l Bit CANORIER 86 CANO errors Bit CANORIER CSCIE OVRIE 84 CANO receive I Bit C
86. v PERSx O pull d sactiv Registre de choix de polarit du port S 024D PPsss PPSS4 PPSS3 PPSS2 PPSS1 PPSSO PPSS Reset 0 0 0 0 0 Ce registre choisit SC pull up pull down ae 1 pull down PPSSx 0 pull up 53 Registre de mode ou cabl du 5 024E WOMS7 WOMS6 WOMSS5 WOMS4 WOMS3 WOMS2 WOMSI WOMSO WOMS Reset 0 0 0 0 0 0 0 0 WOMSx 1 sortie x collecteur ouvert 0 sortie normale Registre d entr e sorti e du port M 80250 PTM7 PTM6 PTMS PTM3 PTM2 PTM Reset 0 0 0 0 0 0 0 0 CAN TXCAN3 RXCAN3 TXCAN2 RXCAN2 RXCANI RXCANO BDLC TXB RXB Si le bit de direction de donn e de la patte est 1 une lecture donne la valeur du registre de port sinon elle donne la valeur de la patte Registre d entr e du port M 80251 EUNT _PTIMS PING PTIM3 PTIM2 PTIMO PTIM Reset 0 0 0 0 0 L criture dans ce M est sans GES Ce ae donne toujours l tat des pattes associ es Registre de direction d e donn es du port M 0252 DDRM7 DDRM6 DDRMS DDRM4 DDRM3 DDRM2 DDRMI DDRMO DDRM Reset 0 0 0 0 0 0 0 0 Ce registre configure la direction de chaque patte du port M DDRMXx 1 patte x en sortie DDRMx 0 patte x en entr e Registre de r duction de sortance du port M 0253 RDRM7 RDRM6 RDRM5 RDRM4 RDRM3 RDRM2 RDRMI RDRMO RDRM Reset 0 0 0 0 0 0 0 0 Ce registre configure la sortance de chaque patt
87. ve Out SCK in SS in 2 Sortie maitre valide si BIDIROE 1 et MSTR 1 D 3 Sortie SCK valide si MSTR 1 B D A Normal 0 Slave In B Normal 0 Master Master SCK 55 10 4 Sortie SS valide si 1 SSOE 1 MSTR 1 B L Out out D C Bidirectional 1 SCK in SS In DlBidirectional 1 1 Master I O SCK SS IO Registre de bauds du SPIO SPPR2 SPR2 SPRO sPIBR Nombre de bauds Horloge Diviseur de bauds Diviseur de bauds SPPR 1 x 2exp SPR 1 Registre d tat du SPIO soopB Tee O SPTEF 0 9 SPIP 1 Il y a une nouvelle donn e dans SPIDR 0 Transfert pas encore termin SPTEF Registre de donn es SPI vide 0 Registre de donn es SPI non vide Faute de mode 1 Une faute de mode s est produite 0 Pas de faute de mode Registre 00DC r serv Registre de donn es du SPIO 00DD BIT7 BIT6 5 BIT4 BIT3 BIT2 BITO registre est la fois registre d entr e et de sortie des donn es du SPI Une criture dans registre met un octet attente de transmission Si le SPI est configur en maitre la donn e est transmise imm diatement apr s la fin de la transmission en cours L indicateur SPTEF du registre d tat indique quand le registre de donn es peut recevoir une nouvelle donn e Registres 00DE et 00DF r serv s ICI MANQUENT LES REGISTRES RELATI
88. verflow Modulus Down Counter Underflow Port H Interrupt Port J Interrupt ATDI ATDO SCII SCIO SPIO Pulse Accumulator A Input Edge Pulse Accumulator A Overflow Timer Overflow Timer Channel 7 Timer Channel 6 Timer Channel 5 Timer Channel 4 Timer Channel 3 Timer Channel 2 Timer Channel 1 Timer Channel 0 Real Time Interrupt IRQ XIRQ SWI Unimplemented Instruction Trap N A N A N A 39 Adresse Flash SFFCO SFFC2 SFFCA SFFC6 SFFC8 SFFCA SFFCC SFFDO SFFD2 SFFD4 SFFD6 SFFD8 SFFDA SFFDC SFFDE SFFEO SFFE2 SFFE4 SFFE6 8 SFFEA SFFEC SFFEE SFFFO SFFF2 SFFF4 SFFF6 SFFF8 SFFFA SFFFC SFFFE Registres du micro controleur 9S 12DG256B Le micro contr leur 9812DG256B a d normes possibilit s ce qui se traduit par un grand nombre de registres au mode d emploi parfois compliqu Les pages qui suivent fournissent un mode d emploi r sum des proncipaux registres Si ce r sum n est pas suffisant il faut se reporter aux documents originaux qui sont disponibles sur le r seau dans les fichiers suivants DISTRI DOCHCS 12 ATD PDF DISTRIWDOCHCS12 BDLC PDF DISTRI DOCHCS12 COEUR PDF DISTRI DOCHCS12 CRG PDF DISTRI DOCHCS 12 ECT PDF DISTRI DOCHCS 12 EEPROM PDF DISTRI DOCHCS12 FLASH PDF DISTRIDOCHCS 12 0C PDF DISTRIWDOCHCS12 MICRO PDF DISTRIWDOCHCS12 MSCAN PDF DISTRI DOCHC
89. voir manipuler les registres de contr le de programmation de l EEPROM Une fois termin e l op ration d effacement on teste toute la m moire d finie par CustData EEBase et CustData EESize Si tous les octets ne sont pas Oxff retour d un code d erreur non nul int far ReadMem Address StartAddress Byte MemDataP unsigned int NumBytes Adresse du pointeur SEEAE La fonction ReadMem est utilis e de fa on interne par D Bug12 pour tous ses acc s en lecture m moire Pour l impl mentation du moniteur la fonction ReadMem lit simplement NumBytes de donn es directement sur la m moire cible et les range dans un buffer point par MemDataP Pour un utilisateur cette fonction n a probablement pas d int r t Mieux vaut une lecture directe Retour d un code d erreur non nul en cas de probl me int WriteMem Address StartAddress Byte MemDataP unsigned int NumBytes Adresse du pointeur SEEB2 La fonction writeMem est utilis e de fa on interne par D Bug12 pour tous ses acc s en criture m moire WriteMem Elle diff re de ReadMem du fait qu elle traite interne Si l octet est dans la zone d finie par CustData EEBase et CustData EESize WriteMem fait appel la fonction writeEEByte pour programmer la donn e dans la m moire interne Retour d un code d erreur nul en cas de probl me 35 36 RELAIS RAM DES VECTEURS D
90. x cute le code utilisateur jusqu a un point d arr t temporaire Format de ligne de commande GT lt Ad gt Description des param tres Ad Un nombre hexa de 16 bits ou une expression simple Description de la commande Fonctionne comme Go sauf qu elle place un point d arr t temporaire l adresse pass e en ligne de commande Les points d arr t d finis par la commande BR ne sont PAS mis dans le code utilisateur avant le d but de l ex cution du programme qui commence la valeur courante du PC En arrivant au point d arr t D Bug12 reprend le contr le en affichant un message expliquant la raison de l arr t du programme les registres du CPU12 et l instruction suivante Exemple gt gt 1006 Temporary Breakpoint Encountered PP PC SP X Y D A B CCR SXHI NZVC 38 1006 3 00 0000 0000 01 00 1001 0100 1006 20FE 51006 24 LOAD Charge un programme utilisateur au format 519 Format de ligne de commande LOAD F8 Description des param tres Voir notice compl te Description de la commande Charge des fichiers objets 519 en m moire utilisateur partir d un dispositif ext rieur Les donn es ne s affichent pas au fur et 4 mesure du chargement mais toutes les dix lignes une ast risque s affiche Quand le chargement est r ussi D Bug12 affiche son invite La commande Load est termin e quand D Bug12 re oit un enregistrement fin de fichier 58 ou 5597 Si le fichier objet ne contient pas d e

Download Pdf Manuals

image

Related Search

Related Contents

取扱説明書 - 株式会社太陽インターナショナル    Simple  FT-O`Cédar cire pour meubles aéro 01252001  Samsung CE2618NR Инструкция по использованию  Marque NF 379 instrumentation pour l`environnement  Content on this page requires a newer version of Adobe Flash Player.    Documento PDF - Università degli Studi di Padova  Dr.Web Enterprise Suite  

Copyright © All rights reserved.
Failed to retrieve file