Startup Code
Lecture L5.2
Reference
MC9S12C FamilyDevice User GuideV01.05
9S12C128DGV1.pdf
MODC
MODB,MODA
ROMCTL
On reset, board comes up in Normal Single Chip mode
>md fff0FFF0 FB 66 FB 68 FB 6A FB 6C FB 6E FB 70 FB 72 FC 00
>md fc00FC00 14 10 4F 08 01 03 06 80 00 CF 0F 8A 79 00 3C 18
14 10 ORCC #$10 ;SEI4F 08 01 03 BRCLR,PORTE,#$01,NEXT06 80 00 JMP $8000CF 0F 8A NEXT LDS #$0F8A--------
Reset Code
MEBI Module Multiplexed External
Bus Interface (MEBI)
Block User Guide
Module V3
S12MEBIV3.pdf
PEAR EQU $000A
On reset, board comes up in Normal Single Chip modeMust change to use multiplexed address/data bus
0 0
PEAR EQU $000A
0 10 0
PEAR EQU $000A
10 10 0
PEAR EQU $000A
MOVB #$0C,PEAR
MODE EQU $000B
1 11
MODE EQU $000B
MOVB #$E0,MODE
MOVW #$0CE0,PEAR
Module Mapping Control Module Mapping
Control (MMC) V4
S12MMCV4.pdf
MISC EQU $0013
MISC EQU $0013
MISC EQU $0013
MOVB #$0D,MISC
CRG
Block User Guide
V04.05
S12CRGV4.pdf
Clocks and Reset Generator (CRG)
ARMCOP EQU $003F
COPCTL EQU $003C
COPCTL EQU $003C
COPCTL EQU $003C
CLR COPCTL
startup.asm; Start up code
COPCTL EQU $003CSTACK EQU $0DFF
ORG $8000
startupLDS #STACKCLR COPCTLJMP MAIN
MAIN
Turnkey Example
; Turnkey SCI Interface using interrupts File: TKSCILCD.WHP; display characters from PC keyboard on LCD display
SC0BDH EQU $C8 ;baud rate controlSC0CR1 EQU $CA ;SCI control reg 1SC0CR2 EQU $CB ;SCI control reg 2SC0SR1 EQU $CC ;SCI status regSC0DRL EQU $CF ;SCI data regRDRF EQU $20 ;SCSR maskSCI0.IVEC EQU $0FD8 ;SCI0 user vector address + 2
COPCTL EQU $003C ;COP control regSTACK EQU $0DFF ;initial stack pointer
ORG $800qsize equ 16front dw 0rear dw 0qmin dw 0qmax dw 0qbuff rmb qsize
ORG $8000startup
LDS #STACKCLR COPCTL
mainjsr spi_init ;initialize spijsr lcd_init ;initialize lcdjsr initq ;initialize queuejsr sci0_init ;initialize sci
mn1 jsr checkq ;if queue is emptybcs mn1 ; waitjsr data8 ;store char on LCDldy #300jsr ms_delay ;delay ~10 msbra mn1
Note: No initial values can be here
S0030000FCS113080000000000000000000000000000000000E4S10B08100000000000000000DCS1138000CF0DFF79003C1680B816812716804516DFS1138010802216808725FB16811CCD012C1680D961S113802020F014107900CACC00345CC8862C5ACBDAS1138030CC80397C0FD810EF3D96CC842027059650S1138040CF1680580BCC08087C08007C08027C08FAS113805004C3000F7C08063D36FC0802C30001BCC3S113806008062303FC08047C0802BC0800261183CCS11380700001BC08042403FC08067C080232200624S113808032FE08026A003DFC0800BC080226041403S1138090012018FC0800C30001BC08062303FC08E7S11380A0047C0800FE0800A60010FE3D840F810930S11380B023038B373D8B303D86105AD97900DA86FDS11380C0525AD83D3696DB842027FA32365ADD964AS11380D0DB848027FA96DD323D34CE07CF0926FDB6S11380E00326F7303D36840F1680C4368A80168006S11380F0C4321680C4323D364444444407E7320750S1138100E43D36840F368A401680C432368AC0165FS113811080C432368A401680C432323D36444444E8S11381204407DF3207DC3DCD00321680D9860316C2S113813080E5CD00321680D986031680E5CD003265S11381401680D986031680E5CD00321680D98602C2S11381501680E5CD00321680D9862C1680F7CD0026S11381600A1680D986061680F7CD000A1680D986ADS11381700F1680F7CD000A1680D986011680F7CD38S113818000141680D986801680F7CD000A1680D98FS113819086001680C43D86011680F7CD000A16803DS11381A0D93D1680AC16811C3DA630270B16811CC8S10C81B0CD000A1680D920F13D2ES9030000FC
Note: Must deletethese two lines beforeprogramming to flashmemory
tkscilcd.s19
Use AxIDE to program flash memory
Top Related