Top Banner
Startup Code Lecture L5.2
29

Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

Startup Code

Lecture L5.2

Page 2: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

Reference

MC9S12C FamilyDevice User GuideV01.05

9S12C128DGV1.pdf

Page 3: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

MODC

MODB,MODA

ROMCTL

Page 4: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

On reset, board comes up in Normal Single Chip mode

Page 5: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

>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

Page 6: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.
Page 7: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

MEBI Module Multiplexed External

Bus Interface (MEBI)

Block User Guide

Module V3

S12MEBIV3.pdf

Page 8: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.
Page 9: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

PEAR EQU $000A

On reset, board comes up in Normal Single Chip modeMust change to use multiplexed address/data bus

Page 10: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

0 0

PEAR EQU $000A

Page 11: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

0 10 0

PEAR EQU $000A

Page 12: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

10 10 0

PEAR EQU $000A

MOVB #$0C,PEAR

Page 13: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

MODE EQU $000B

Page 14: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

1 11

MODE EQU $000B

MOVB #$E0,MODE

MOVW #$0CE0,PEAR

Page 15: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

Module Mapping Control Module Mapping

Control (MMC) V4

S12MMCV4.pdf

Page 16: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

MISC EQU $0013

Page 17: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

MISC EQU $0013

Page 18: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

MISC EQU $0013

MOVB #$0D,MISC

Page 19: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

CRG

Block User Guide

V04.05

S12CRGV4.pdf

Clocks and Reset Generator (CRG)

Page 20: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.
Page 21: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

ARMCOP EQU $003F

Page 22: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

COPCTL EQU $003C

Page 23: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

COPCTL EQU $003C

Page 24: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

COPCTL EQU $003C

CLR COPCTL

Page 25: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

startup.asm; Start up code

COPCTL EQU $003CSTACK EQU $0DFF

ORG $8000

startupLDS #STACKCLR COPCTLJMP MAIN

MAIN

Page 26: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

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

Page 27: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

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

Page 28: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

S0030000FCS113080000000000000000000000000000000000E4S10B08100000000000000000DCS1138000CF0DFF79003C1680B816812716804516DFS1138010802216808725FB16811CCD012C1680D961S113802020F014107900CACC00345CC8862C5ACBDAS1138030CC80397C0FD810EF3D96CC842027059650S1138040CF1680580BCC08087C08007C08027C08FAS113805004C3000F7C08063D36FC0802C30001BCC3S113806008062303FC08047C0802BC0800261183CCS11380700001BC08042403FC08067C080232200624S113808032FE08026A003DFC0800BC080226041403S1138090012018FC0800C30001BC08062303FC08E7S11380A0047C0800FE0800A60010FE3D840F810930S11380B023038B373D8B303D86105AD97900DA86FDS11380C0525AD83D3696DB842027FA32365ADD964AS11380D0DB848027FA96DD323D34CE07CF0926FDB6S11380E00326F7303D36840F1680C4368A80168006S11380F0C4321680C4323D364444444407E7320750S1138100E43D36840F368A401680C432368AC0165FS113811080C432368A401680C432323D36444444E8S11381204407DF3207DC3DCD00321680D9860316C2S113813080E5CD00321680D986031680E5CD003265S11381401680D986031680E5CD00321680D98602C2S11381501680E5CD00321680D9862C1680F7CD0026S11381600A1680D986061680F7CD000A1680D986ADS11381700F1680F7CD000A1680D986011680F7CD38S113818000141680D986801680F7CD000A1680D98FS113819086001680C43D86011680F7CD000A16803DS11381A0D93D1680AC16811C3DA630270B16811CC8S10C81B0CD000A1680D920F13D2ES9030000FC

Note: Must deletethese two lines beforeprogramming to flashmemory

tkscilcd.s19

Page 29: Startup Code Lecture L5.2. Reference MC9S12C Family Device User Guide V01.05 9S12C128DGV1.pdf.

Use AxIDE to program flash memory