最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

TMS320LF2407配置

IT圈 admin 52浏览 0评论

2024年2月25日发(作者:宜弘文)

1.

MEMORY

{

PAGE 0 : VECS : origin =0000h , length = 0040h

/* PROGRAM */

PVECS : origin =0044h , length = 0100h

/* Peripheral Interrupt Vectors */

PROG : origin = 01000h , length = 2500h

/* FLASH on Chip*/

PAGE 1 : MMRS : origin = 0000h ,length = 005Fh

/* MMRS*/

B2 : origin = 0060h ,length = 0020h

/* DARAM B2 BLOCK*/

B01 : origin = 0200h ,length = 0080h

/* DARAM B0 BLOCK*/

B02 : origin = 0280h ,length = 0080h

B11 : origin = 0300h ,length = 0080h

/* DARAM B1 BLOCK*/

B12 : origin = 0380h ,length = 0080h

SARAM1 : origin = 0800h ,length = 0080h

/* SARAM BLOCK*/

SARAM3 : origin = 0900h ,length = 0100h

/* SARAM BLOCK*/

SARAM5 : origin = 0A00h ,length = 0200h

/* SARAM BLOCK*/

SARAM7 : origin = 0C00h ,length = 0080h

/* SARAM BLOCK*/

SARAM9 : origin = 0D00h ,length = 0300h

/* SARAM BLOCK*/

}

/*-----------------------------------------------------------*/

/*SECTIONS ALLOCATION */

/*-----------------------------------------------------------*/

SECTIONS

{

.reset : { } > VECS PAGE 0

/* Interrupt Vector Table*/

_c_int0 : { } > VECS PAGE 0

/* INTERRUPT VECTOR TABLE*/

.pvecs : { } > PVECS PAGE 0

/* Peripheral INTERRUPT VECTOR TABLE*/

/*.const : LOAD = PROG PAGE 0, RUN= B01 PAGE 1*/

.text : { } > PROG PAGE 0 /* CODE */

.data : { } > PROG PAGE 0 /* FFT */

twiddles : { } > PROG PAGE 0 /* FFT */

fftprog : { } > PROG PAGE 0 /* FFT */

.cinit : { } > PROG PAGE 0

.b2 : { } > B2 PAGE 1 /* 保存ST0,ST1*/

.context :{ } > B01 PAGE 1 /* 保存contex 的内容*/

.stack : { } > B01 PAGE 1 /* 保存堆栈stack 的内容*/

.bss : { } > B2 PAGE 1 /*存放液晶显示定义的寄存器及一些常用寄存器*/

.data0 : { } > B02 PAGE 1

/* FFT Working */

.data1 : { } > B11 PAGE 1

/* FFT Working */

twid : { } > B11 PAGE 1 /* */

.fftvar : { } > B11 PAGE 1

/* (17 words)*/

.xtdata : { } > SARAM1 PAGE 1 /*存放第1 种工作情况的系统参数*/

.yxdata : { } > SARAM3 PAGE 1 /*存放第1 种工作情况的运行参数*/

.uidata : { } > SARAM5 PAGE 1 /*存放第1 种工作情况的电压、电流、

功率、电能参数*/

.gzdata : { } > SARAM7 PAGE 1 /* 记录第1 种工作情况的故障参数*/

.ad : { } > SARAM9 PAGE 1 /* 存放A/D 采集的16

通道的参数*/

}

/* 剩余空间,380-3ff,f00-fff */

2.f2407regs.h

IMR .set 0004h ;中断屏蔽寄存器

GREG .set 0005h ;全局变量定位寄存器

IFR .set 0006h ;中断标志寄存器

;System Registers

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PIRQR0 .set 07010h

PIRQR1 .set 07011h

PIRQR2 .set 07012h

PIACKR0 .set 07014h

PIACKR1 .set 07015h

PIACKR2 .set 07016h

SCSR1 .set 07018h ;系统模块控制寄存器1

SCSR2 .set 07019h ;系统模块控制寄存器2

DINR .set 0701Ch ;系统模块状态寄存器

PIVR .set 0701Eh ;系统中断矢量寄存器

;WD 程序监视控制寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

WDCNTR .set 07023h ;WD 计数器寄存器

WDKEY .set 07025h ;WDKey 寄存器

WDCR .set 07029h ;WD 控制寄存器

;串行外围接口 (SPI) 寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SPICCR .set 07040h ;SPI 配置控制寄存器

SPICTL .set 07041h ;SPI 操作控制寄存器

SPISTS .set 07042h ;SPI 状态寄存器

SPIBRR .set 07044h ;SPI 波特率寄存器

SPIEMU .set 07046h ;SPI 仿真缓冲寄存器

SPIRXBUF .set 07047h ;SPI 串行输入缓冲寄存器

SPITXBUF .set 07048h ;SPI 串行输入缓冲寄存器

SPIDAT .set 07049h ;SPI 串行数据寄存器

SPIPRI .set 0704Fh ;SPI 中断优先级控制寄存器

;串行通讯接口 (SCI) 寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SCICCR .set 07050h ;SCI 通讯控制寄存器

SCICTL1 .set 07051h ;SCI 控制寄存器 1

SCIHBAUD .set 07052h ;SCI 波特率寄存器高位

SCILBAUD .set 07053h ;SCI 波特率寄存器低位

SCICTL2 .set 07054h ;SCI 控制寄存器 2

SCIRXST .set 07055h ;SCI 接受状态寄存器

SCIRXEMU .set 07056h ;SCI 仿真数据缓冲寄存器

SCIRXBUF .set 07057h ;SCI 接受数据缓冲寄存器

SCITXBUF .set 07059h ;SCI 发送数据缓冲寄存器

SCIPRI .set 0705Fh ;SCI 中断优先级控制寄存器

;外部中断寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

XINT1CR .set 07070h ;中断 1 控制寄存器

XINT2CR .set 07071h ;中断 2 控制寄存器

;数据 I/O 控制寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

MCRA .set 07090h ;Output Control Reg A

MCRB .set 07092h ;Output Control Reg B

MCRC .set 07094h ;Output Control Reg C

PEDATDIR .set 07095h ;I/O port E Data & Direction reg.

PFDATDIR .set 07096h ;I/O port F Data & Direction reg.

PADATDIR .set 07098h ;I/O port A Data & Direction reg.

PBDATDIR .set 0709Ah ;I/O port B Data & Direction reg.

PCDATDIR .set 0709Ch ;I/O port C Data & Direction reg.

PDDATDIR .set 0709Eh ;I/O port D Data & Direction reg.

;模数转换(ADC) 寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ADCCTRL1 .set 070A0h ;ADC 控制寄存器 1

ADCCTRL2 .set 070A1h ;ADC 控制寄存器 2

MAXCONV .set 070A2h

CHSELSEQ1 .set 070A3h

CHSELSEQ2 .set 070A4h

CHSELSEQ3 .set 070A5h

CHSELSEQ4 .set 070A6h

AUTO_SEQ_SR .set 070A7h

RESULT0 .set 070A8h ;A/D 转换结果寄存器0

RESULT1 .set 070A9h ;A/D 转换结果寄存器1

RESULT2 .set 070AAh ;A/D 转换结果寄存器2

RESULT3 .set 070ABh ;A/D 转换结果寄存器3

RESULT4 .set 070ACh ;A/D 转换结果寄存器4

RESULT5 .set 070ADh ;A/D 转换结果寄存器5

RESULT6 .set 070AEh ;A/D 转换结果寄存器6

RESULT7 .set 070AFh ;A/D 转换结果寄存器7

RESULT8 .set 070B0h ;A/D 转换结果寄存器8

RESULT9 .set 070B1h ;A/D 转换结果寄存器9

RESULT10 .set 070B2h ;A/D 转换结果寄存器10

RESULT11 .set 070B3h ;A/D 转换结果寄存器11

RESULT12 .set 070B4h ;A/D 转换结果寄存器12

RESULT13 .set 070B5h ;A/D 转换结果寄存器13

RESULT14 .set 070B6h ;A/D 转换结果寄存器14

RESULT15 .set 070B7h ;A/D 转换结果寄存器15

CALIBRATION .set 070B8h

;CAN 配置控制寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

MDER .set 07100h

TCR .set 07101h

RCR .set 07102h

MCR .set 07103h

BCR2 .set 07104h

BCR1 .set 07105h

ESR .set 07106h

GSR .set 07107h

CEC .set 07108h

CAN_IFR .set 07109h

CAN_IMR .set 0710Ah

LAM0_H .set 0701Bh

LAM0_L .set 0701Ch

LAM1_H .set 0701Dh

LAM1_L .set 0701Eh

;邮包#0

MSGID0L .set 07200h

MSGID0H .set 07201h

MSGCTRL0 .set 07202h

MBX0A .set 07204h

MBX0B .set 07205h

MBX0C .set 07206h

MBX0D .set 07207h

;邮包#1

MSGID1L .set 07208h

MSGID1H .set 07209h

MSGCTRL1 .set 0720Ah

MBX1A .set 0720Ch

MBX1B .set 0720Dh

MBX1C .set 0720Eh

MBX1D .set 0720Fh

;邮包#2

MSGID2L .set 07210h

MSGID2H .set 07211h

MSGCTRL2 .set 07212h

MBX2A .set 07214h

MBX2B .set 07215h

MBX2C .set 07216h

MBX2D .set 07217h

;邮包#3

MSGID3L .set 07218h

MSGID3H .set 07219h

MSGCTRL3 .set 0721Ah

MBX3A .set 0721Ch

242

MBX3B .set 0721Dh

MBX3C .set 0721Eh

MBX3D .set 0721Fh

;邮包#4

MSGID4L .set 07220h

MSGID4H .set 07221h

MSGCTRL4 .set 07222h

MBX4A .set 07224h

MBX4B .set 07225h

MBX4C .set 07226h

MBX4D .set 07227h

;邮包#5

MSGID5L .set 07228h

MSGID5H .set 07229h

MSGCTRL5 .set 0722Ah

MBX5A .set 0722Ch

MBX5B .set 0722Dh

MBX5C .set 0722Eh

MBX5D .set 0722Fh

;通用定时器 -- 事件管理器A (EVA)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

GPTCONA .set 7400h ;通用定时控制寄存器

T1CNT .set 7401h ;通用定时器 1 计数寄存器

T1CMPR .set 7402h ;通用定时器 1 比较寄存器

T1PR .set 7403h ;通用定时器 1 周期寄存器

T1CON .set 7404h ;通用定时器 1 控制寄存器

T2CNT .set 7405h ;通用定时器 2 计数寄存器

T2CMPR .set 7406h ;通用定时器 2 比较寄存器

T2PR .set 7407h ;通用定时器 2 周期寄存器

T2CON .set 7408h ;通用定时器 2 控制寄存器

;Full & Simple Compare Unit Registers --事件管理器A

(EVA)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

COMCONA .set 7411h ;比较控制寄存器 A

ACTRA .set 7413h ;全比较动作控制寄存器 A

DBTCONA .set 7415h ;死区时间控制寄存器 A

CMPR1 .set 7417h ;全比较单元 1 比较寄存器

CMPR2 .set 7418h ;全比较单元 2 比较寄存器

CMPR3 .set 7419h ;全比较单元 3 比较寄存器

;捕捉和正交编码寄存器事件管理器(EVA)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CAPCONA .set 7420h ;捕捉控制寄存器 A

CAPFIFOA .set 7422h ;捕捉FIFO 状态寄存器 A

CAP1FIFO .set 7423h ;捕捉 1 二级 FIFO 寄存器

CAP2FIFO .set 7424h ;捕捉 2 二级 FIFO 寄存器

CAP3FIFO .set 7425h ;捕捉 3 二级 FIFO 寄存器

CAP1FBOT .set 7427h

CAP2FBOT .set 7428h

CAP3FBOT .set 7429h

;事件管理器 (EVA) 中断控制寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

EVAIMRA .set 742Ch ;事件管理器中断屏蔽寄存器 A

EVAIMRB .set 742Dh ;事件管理器中断屏蔽寄存器 B

EVAIMRC .set 742Eh ;事件管理器中断屏蔽寄存器 C

EVAIFRA .set 742Fh ;事件管理器中断标志寄存器 A

EVAIFRB .set 7430h ;事件管理器中断标志寄存器 B

EVAIFRC .set 7431h ;事件管理器中断标志寄存器 C

;通用(GP)定时器配置控制寄存器--EVB

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

GPTCONB .set 7500h

T3CNT .set 7501h

T3CMPR .set 7502h

T3PR .set 7503H

T3CON .set 7504h

T4CNT .set 7505h

T4CMPR .set 7506h

T4PR .set 7507H

T4CON .set 7508h

;比较单元寄存器--EVB

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

COMCONB .set 07511h

ACTRB .set 07513h

DBTCONB .set 07515h

CMPR4 .set 07517h

CMPR5 .set 07518h

CMPR6 .set 07519h

;捕捉单元寄存器--EVB

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CAPCONB .set 7520h

CAPFIFOB .set 7522h

CAP4FIFO .set 7523h

CAP5FIFO .set 7524h

CAP6FIFO .set 7525h

CAP4FBOT .set 7527h

CAP5FBOT .set 7528h

CAP6FBOT .set 7529h

;事件管理器 (EVB) 中断控制寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

EVBIMRA .set 742Ch ;事件管理器中断屏蔽寄存器A

EVBIMRB .set 742Dh ;事件管理器中断屏蔽寄存器B

EVBIMRC .set 742Eh ;事件管理器中断屏蔽寄存器C

EVBIFRA .set 742Fh ;事件管理器中断标志寄存器A

EVBIFRB .set 7430h ;事件管理器中断标志寄存器B

EVBIFRC .set 7431h ;事件管理器中断标志寄存器C

;程序存储器空间 --Flash 寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;PMPC .set 0h ;Flash 段控制寄存器

;CTRL .set 01h

;WADDR .set 2h ;Flash 写地址寄存器

;WDATA .set 3h ;Flash 写数据寄存器

;TCR .set 4h

;ENAB .set 5h

;SETC .set 6h

;I/O 存储空间

FCMR .set 0FF0Fh

;等待状态产生寄存器 (映射到 I/O 空间)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

WSGR .set 0FFFFh ;等待状态产生寄存器

;数据存储器块地址

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

B0_SADDR .set 00200h ;块 B0 开始地址

B0_EADDR .set 002FFh ;块 B0 结束地址

B1_SADDR .set 00400h ;块 B1 开始地址

B1_EADDR .set 004FFh ;块 B1 结束地址

B2_SADDR .set 00060h ;块 B2 开始地址

B2_EADDR .set 0007Fh ;块 B2 结束地址

XDATA_SADDR .set 08000h ;外部数据空间开始地址XDATA_EADDR .set 0FFFFh ;外部数据空间结束址

;经常使用的数据页

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DP_B2 .set 0 ;页 0 数据空间

DP_B01 .set 4 ;页 4 B0(200H/80H)

DP_B02 .set 5 ;页 5 B0(280H/80H)

DP_B11 .set 6 ;页 6 B1(300H/80H)

DP_B12 .set 7 ;页 7 AD(380H/80H)

DP_SARAM1 .set 16 ;页 1 SARAM(800h/80h)

DP_SARAM2 .set 26 ;页 2 SARAM(0D00h/80h)

DP_SARAM3 .set 18 ;页 3 SARAM(900h/80h)

DP_SARAM4 .set 19 ;页 4 SARAM(980h/80h)

DP_PF1 .set 224 ;页 1 外设帧文件 (7000h/80h)(0XE0)

DP_PF2 .set 225 ;页 2 外设帧文件 (7080h/80h)(0XE1)

DP_CAN .set 226 ;页 3 外设帧文件 (7100h/80h)(0XE2)

DP_PF4 .set 227 ;页 4 外设帧文件(7080h/80h)(0XE3)

DP_CAN2 .set 228 ;页 5 外设帧文件(7200h/80h)(0XE4)

AND #(0FFFFh-MASK)

SACL DMA

.endm

SBIT1 .macro DMA, MASK ;置位宏定义

LACC DMA

OR #(MASK)

SACL DMA

DP_EVA .set 232 ;页 0 事件管理器-EVA 文件

(7400h/80h)(0xE8)

DP_EVB .set 234 ;页 0 事件管理器-EVB 文件

(7500h/80h)(0xE9)

;位测试指令的位代码(BIT)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

BIT15 .set 0000h ;位代码15

BIT14 .set 0001h ;位代码14

BIT13 .set 0002h ;位代码13

BIT12 .set 0003h ;位代码12

BIT11 .set 0004h ;位代码11

BIT10 .set 0005h ;位代码10

BIT9 .set 0006h ;位代码9

BIT8 .set 0007h ;位代码8

BIT7 .set 0008h ;位代码7

BIT6 .set 0009h ;位代码6

BIT5 .set 000Ah ;位代码5

BIT4 .set 000Bh ;位代码4

BIT3 .set 000Ch ;位代码3

BIT2 .set 000Dh ;位代码2

BIT1 .set 000Eh ;位代码1

BIT0 .set 000Fh ;位代码0

;用 SBIT0 和 SBIT1 宏屏蔽位

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

B15_MSK .set 8000h ;位屏蔽15

B14_MSK .set 4000h ;位屏蔽14

B13_MSK .set 2000h ;位屏蔽13

B12_MSK .set 1000h ;位屏蔽12

B11_MSK .set 0800h ;位屏蔽11

B10_MSK .set 0400h ;位屏蔽10

B9_MSK .set 0200h ;位屏蔽 9

B8_MSK .set 0100h ;位屏蔽 8

B7_MSK .set 0080h ;位屏蔽 7

B6_MSK .set 0040h ;位屏蔽 6

B5_MSK .set 0020h ;位屏蔽 5

B4_MSK .set 0010h ;位屏蔽 4

B3_MSK .set 0008h ;位屏蔽 3

B2_MSK .set 0004h ;位屏蔽 2

B1_MSK .set 0002h ;位屏蔽 1

B0_MSK .set 0001h ;位屏蔽 0

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;宏定义

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SBIT0 .macro DMA, MASK ;清位宏定义

LACC DMA

.endm

KICK_DOG .macro ;程序监视器复位宏定义

LDP #00E0h ;DP→7000h~707Fh

SPLK #05555h, WDKEY ;WDCNTR 由下一步复位被使能

SPLK #0AAAAh, WDKEY ;WDCNTR 被复位

.endm

DELAY_S .macro delay_value ;延时 = 0.05 μs ×

延时计数

RPT #delay_value

NOP

.endm

2024年2月25日发(作者:宜弘文)

1.

MEMORY

{

PAGE 0 : VECS : origin =0000h , length = 0040h

/* PROGRAM */

PVECS : origin =0044h , length = 0100h

/* Peripheral Interrupt Vectors */

PROG : origin = 01000h , length = 2500h

/* FLASH on Chip*/

PAGE 1 : MMRS : origin = 0000h ,length = 005Fh

/* MMRS*/

B2 : origin = 0060h ,length = 0020h

/* DARAM B2 BLOCK*/

B01 : origin = 0200h ,length = 0080h

/* DARAM B0 BLOCK*/

B02 : origin = 0280h ,length = 0080h

B11 : origin = 0300h ,length = 0080h

/* DARAM B1 BLOCK*/

B12 : origin = 0380h ,length = 0080h

SARAM1 : origin = 0800h ,length = 0080h

/* SARAM BLOCK*/

SARAM3 : origin = 0900h ,length = 0100h

/* SARAM BLOCK*/

SARAM5 : origin = 0A00h ,length = 0200h

/* SARAM BLOCK*/

SARAM7 : origin = 0C00h ,length = 0080h

/* SARAM BLOCK*/

SARAM9 : origin = 0D00h ,length = 0300h

/* SARAM BLOCK*/

}

/*-----------------------------------------------------------*/

/*SECTIONS ALLOCATION */

/*-----------------------------------------------------------*/

SECTIONS

{

.reset : { } > VECS PAGE 0

/* Interrupt Vector Table*/

_c_int0 : { } > VECS PAGE 0

/* INTERRUPT VECTOR TABLE*/

.pvecs : { } > PVECS PAGE 0

/* Peripheral INTERRUPT VECTOR TABLE*/

/*.const : LOAD = PROG PAGE 0, RUN= B01 PAGE 1*/

.text : { } > PROG PAGE 0 /* CODE */

.data : { } > PROG PAGE 0 /* FFT */

twiddles : { } > PROG PAGE 0 /* FFT */

fftprog : { } > PROG PAGE 0 /* FFT */

.cinit : { } > PROG PAGE 0

.b2 : { } > B2 PAGE 1 /* 保存ST0,ST1*/

.context :{ } > B01 PAGE 1 /* 保存contex 的内容*/

.stack : { } > B01 PAGE 1 /* 保存堆栈stack 的内容*/

.bss : { } > B2 PAGE 1 /*存放液晶显示定义的寄存器及一些常用寄存器*/

.data0 : { } > B02 PAGE 1

/* FFT Working */

.data1 : { } > B11 PAGE 1

/* FFT Working */

twid : { } > B11 PAGE 1 /* */

.fftvar : { } > B11 PAGE 1

/* (17 words)*/

.xtdata : { } > SARAM1 PAGE 1 /*存放第1 种工作情况的系统参数*/

.yxdata : { } > SARAM3 PAGE 1 /*存放第1 种工作情况的运行参数*/

.uidata : { } > SARAM5 PAGE 1 /*存放第1 种工作情况的电压、电流、

功率、电能参数*/

.gzdata : { } > SARAM7 PAGE 1 /* 记录第1 种工作情况的故障参数*/

.ad : { } > SARAM9 PAGE 1 /* 存放A/D 采集的16

通道的参数*/

}

/* 剩余空间,380-3ff,f00-fff */

2.f2407regs.h

IMR .set 0004h ;中断屏蔽寄存器

GREG .set 0005h ;全局变量定位寄存器

IFR .set 0006h ;中断标志寄存器

;System Registers

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PIRQR0 .set 07010h

PIRQR1 .set 07011h

PIRQR2 .set 07012h

PIACKR0 .set 07014h

PIACKR1 .set 07015h

PIACKR2 .set 07016h

SCSR1 .set 07018h ;系统模块控制寄存器1

SCSR2 .set 07019h ;系统模块控制寄存器2

DINR .set 0701Ch ;系统模块状态寄存器

PIVR .set 0701Eh ;系统中断矢量寄存器

;WD 程序监视控制寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

WDCNTR .set 07023h ;WD 计数器寄存器

WDKEY .set 07025h ;WDKey 寄存器

WDCR .set 07029h ;WD 控制寄存器

;串行外围接口 (SPI) 寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SPICCR .set 07040h ;SPI 配置控制寄存器

SPICTL .set 07041h ;SPI 操作控制寄存器

SPISTS .set 07042h ;SPI 状态寄存器

SPIBRR .set 07044h ;SPI 波特率寄存器

SPIEMU .set 07046h ;SPI 仿真缓冲寄存器

SPIRXBUF .set 07047h ;SPI 串行输入缓冲寄存器

SPITXBUF .set 07048h ;SPI 串行输入缓冲寄存器

SPIDAT .set 07049h ;SPI 串行数据寄存器

SPIPRI .set 0704Fh ;SPI 中断优先级控制寄存器

;串行通讯接口 (SCI) 寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SCICCR .set 07050h ;SCI 通讯控制寄存器

SCICTL1 .set 07051h ;SCI 控制寄存器 1

SCIHBAUD .set 07052h ;SCI 波特率寄存器高位

SCILBAUD .set 07053h ;SCI 波特率寄存器低位

SCICTL2 .set 07054h ;SCI 控制寄存器 2

SCIRXST .set 07055h ;SCI 接受状态寄存器

SCIRXEMU .set 07056h ;SCI 仿真数据缓冲寄存器

SCIRXBUF .set 07057h ;SCI 接受数据缓冲寄存器

SCITXBUF .set 07059h ;SCI 发送数据缓冲寄存器

SCIPRI .set 0705Fh ;SCI 中断优先级控制寄存器

;外部中断寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

XINT1CR .set 07070h ;中断 1 控制寄存器

XINT2CR .set 07071h ;中断 2 控制寄存器

;数据 I/O 控制寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

MCRA .set 07090h ;Output Control Reg A

MCRB .set 07092h ;Output Control Reg B

MCRC .set 07094h ;Output Control Reg C

PEDATDIR .set 07095h ;I/O port E Data & Direction reg.

PFDATDIR .set 07096h ;I/O port F Data & Direction reg.

PADATDIR .set 07098h ;I/O port A Data & Direction reg.

PBDATDIR .set 0709Ah ;I/O port B Data & Direction reg.

PCDATDIR .set 0709Ch ;I/O port C Data & Direction reg.

PDDATDIR .set 0709Eh ;I/O port D Data & Direction reg.

;模数转换(ADC) 寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ADCCTRL1 .set 070A0h ;ADC 控制寄存器 1

ADCCTRL2 .set 070A1h ;ADC 控制寄存器 2

MAXCONV .set 070A2h

CHSELSEQ1 .set 070A3h

CHSELSEQ2 .set 070A4h

CHSELSEQ3 .set 070A5h

CHSELSEQ4 .set 070A6h

AUTO_SEQ_SR .set 070A7h

RESULT0 .set 070A8h ;A/D 转换结果寄存器0

RESULT1 .set 070A9h ;A/D 转换结果寄存器1

RESULT2 .set 070AAh ;A/D 转换结果寄存器2

RESULT3 .set 070ABh ;A/D 转换结果寄存器3

RESULT4 .set 070ACh ;A/D 转换结果寄存器4

RESULT5 .set 070ADh ;A/D 转换结果寄存器5

RESULT6 .set 070AEh ;A/D 转换结果寄存器6

RESULT7 .set 070AFh ;A/D 转换结果寄存器7

RESULT8 .set 070B0h ;A/D 转换结果寄存器8

RESULT9 .set 070B1h ;A/D 转换结果寄存器9

RESULT10 .set 070B2h ;A/D 转换结果寄存器10

RESULT11 .set 070B3h ;A/D 转换结果寄存器11

RESULT12 .set 070B4h ;A/D 转换结果寄存器12

RESULT13 .set 070B5h ;A/D 转换结果寄存器13

RESULT14 .set 070B6h ;A/D 转换结果寄存器14

RESULT15 .set 070B7h ;A/D 转换结果寄存器15

CALIBRATION .set 070B8h

;CAN 配置控制寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

MDER .set 07100h

TCR .set 07101h

RCR .set 07102h

MCR .set 07103h

BCR2 .set 07104h

BCR1 .set 07105h

ESR .set 07106h

GSR .set 07107h

CEC .set 07108h

CAN_IFR .set 07109h

CAN_IMR .set 0710Ah

LAM0_H .set 0701Bh

LAM0_L .set 0701Ch

LAM1_H .set 0701Dh

LAM1_L .set 0701Eh

;邮包#0

MSGID0L .set 07200h

MSGID0H .set 07201h

MSGCTRL0 .set 07202h

MBX0A .set 07204h

MBX0B .set 07205h

MBX0C .set 07206h

MBX0D .set 07207h

;邮包#1

MSGID1L .set 07208h

MSGID1H .set 07209h

MSGCTRL1 .set 0720Ah

MBX1A .set 0720Ch

MBX1B .set 0720Dh

MBX1C .set 0720Eh

MBX1D .set 0720Fh

;邮包#2

MSGID2L .set 07210h

MSGID2H .set 07211h

MSGCTRL2 .set 07212h

MBX2A .set 07214h

MBX2B .set 07215h

MBX2C .set 07216h

MBX2D .set 07217h

;邮包#3

MSGID3L .set 07218h

MSGID3H .set 07219h

MSGCTRL3 .set 0721Ah

MBX3A .set 0721Ch

242

MBX3B .set 0721Dh

MBX3C .set 0721Eh

MBX3D .set 0721Fh

;邮包#4

MSGID4L .set 07220h

MSGID4H .set 07221h

MSGCTRL4 .set 07222h

MBX4A .set 07224h

MBX4B .set 07225h

MBX4C .set 07226h

MBX4D .set 07227h

;邮包#5

MSGID5L .set 07228h

MSGID5H .set 07229h

MSGCTRL5 .set 0722Ah

MBX5A .set 0722Ch

MBX5B .set 0722Dh

MBX5C .set 0722Eh

MBX5D .set 0722Fh

;通用定时器 -- 事件管理器A (EVA)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

GPTCONA .set 7400h ;通用定时控制寄存器

T1CNT .set 7401h ;通用定时器 1 计数寄存器

T1CMPR .set 7402h ;通用定时器 1 比较寄存器

T1PR .set 7403h ;通用定时器 1 周期寄存器

T1CON .set 7404h ;通用定时器 1 控制寄存器

T2CNT .set 7405h ;通用定时器 2 计数寄存器

T2CMPR .set 7406h ;通用定时器 2 比较寄存器

T2PR .set 7407h ;通用定时器 2 周期寄存器

T2CON .set 7408h ;通用定时器 2 控制寄存器

;Full & Simple Compare Unit Registers --事件管理器A

(EVA)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

COMCONA .set 7411h ;比较控制寄存器 A

ACTRA .set 7413h ;全比较动作控制寄存器 A

DBTCONA .set 7415h ;死区时间控制寄存器 A

CMPR1 .set 7417h ;全比较单元 1 比较寄存器

CMPR2 .set 7418h ;全比较单元 2 比较寄存器

CMPR3 .set 7419h ;全比较单元 3 比较寄存器

;捕捉和正交编码寄存器事件管理器(EVA)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CAPCONA .set 7420h ;捕捉控制寄存器 A

CAPFIFOA .set 7422h ;捕捉FIFO 状态寄存器 A

CAP1FIFO .set 7423h ;捕捉 1 二级 FIFO 寄存器

CAP2FIFO .set 7424h ;捕捉 2 二级 FIFO 寄存器

CAP3FIFO .set 7425h ;捕捉 3 二级 FIFO 寄存器

CAP1FBOT .set 7427h

CAP2FBOT .set 7428h

CAP3FBOT .set 7429h

;事件管理器 (EVA) 中断控制寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

EVAIMRA .set 742Ch ;事件管理器中断屏蔽寄存器 A

EVAIMRB .set 742Dh ;事件管理器中断屏蔽寄存器 B

EVAIMRC .set 742Eh ;事件管理器中断屏蔽寄存器 C

EVAIFRA .set 742Fh ;事件管理器中断标志寄存器 A

EVAIFRB .set 7430h ;事件管理器中断标志寄存器 B

EVAIFRC .set 7431h ;事件管理器中断标志寄存器 C

;通用(GP)定时器配置控制寄存器--EVB

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

GPTCONB .set 7500h

T3CNT .set 7501h

T3CMPR .set 7502h

T3PR .set 7503H

T3CON .set 7504h

T4CNT .set 7505h

T4CMPR .set 7506h

T4PR .set 7507H

T4CON .set 7508h

;比较单元寄存器--EVB

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

COMCONB .set 07511h

ACTRB .set 07513h

DBTCONB .set 07515h

CMPR4 .set 07517h

CMPR5 .set 07518h

CMPR6 .set 07519h

;捕捉单元寄存器--EVB

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CAPCONB .set 7520h

CAPFIFOB .set 7522h

CAP4FIFO .set 7523h

CAP5FIFO .set 7524h

CAP6FIFO .set 7525h

CAP4FBOT .set 7527h

CAP5FBOT .set 7528h

CAP6FBOT .set 7529h

;事件管理器 (EVB) 中断控制寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

EVBIMRA .set 742Ch ;事件管理器中断屏蔽寄存器A

EVBIMRB .set 742Dh ;事件管理器中断屏蔽寄存器B

EVBIMRC .set 742Eh ;事件管理器中断屏蔽寄存器C

EVBIFRA .set 742Fh ;事件管理器中断标志寄存器A

EVBIFRB .set 7430h ;事件管理器中断标志寄存器B

EVBIFRC .set 7431h ;事件管理器中断标志寄存器C

;程序存储器空间 --Flash 寄存器

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;PMPC .set 0h ;Flash 段控制寄存器

;CTRL .set 01h

;WADDR .set 2h ;Flash 写地址寄存器

;WDATA .set 3h ;Flash 写数据寄存器

;TCR .set 4h

;ENAB .set 5h

;SETC .set 6h

;I/O 存储空间

FCMR .set 0FF0Fh

;等待状态产生寄存器 (映射到 I/O 空间)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

WSGR .set 0FFFFh ;等待状态产生寄存器

;数据存储器块地址

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

B0_SADDR .set 00200h ;块 B0 开始地址

B0_EADDR .set 002FFh ;块 B0 结束地址

B1_SADDR .set 00400h ;块 B1 开始地址

B1_EADDR .set 004FFh ;块 B1 结束地址

B2_SADDR .set 00060h ;块 B2 开始地址

B2_EADDR .set 0007Fh ;块 B2 结束地址

XDATA_SADDR .set 08000h ;外部数据空间开始地址XDATA_EADDR .set 0FFFFh ;外部数据空间结束址

;经常使用的数据页

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DP_B2 .set 0 ;页 0 数据空间

DP_B01 .set 4 ;页 4 B0(200H/80H)

DP_B02 .set 5 ;页 5 B0(280H/80H)

DP_B11 .set 6 ;页 6 B1(300H/80H)

DP_B12 .set 7 ;页 7 AD(380H/80H)

DP_SARAM1 .set 16 ;页 1 SARAM(800h/80h)

DP_SARAM2 .set 26 ;页 2 SARAM(0D00h/80h)

DP_SARAM3 .set 18 ;页 3 SARAM(900h/80h)

DP_SARAM4 .set 19 ;页 4 SARAM(980h/80h)

DP_PF1 .set 224 ;页 1 外设帧文件 (7000h/80h)(0XE0)

DP_PF2 .set 225 ;页 2 外设帧文件 (7080h/80h)(0XE1)

DP_CAN .set 226 ;页 3 外设帧文件 (7100h/80h)(0XE2)

DP_PF4 .set 227 ;页 4 外设帧文件(7080h/80h)(0XE3)

DP_CAN2 .set 228 ;页 5 外设帧文件(7200h/80h)(0XE4)

AND #(0FFFFh-MASK)

SACL DMA

.endm

SBIT1 .macro DMA, MASK ;置位宏定义

LACC DMA

OR #(MASK)

SACL DMA

DP_EVA .set 232 ;页 0 事件管理器-EVA 文件

(7400h/80h)(0xE8)

DP_EVB .set 234 ;页 0 事件管理器-EVB 文件

(7500h/80h)(0xE9)

;位测试指令的位代码(BIT)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

BIT15 .set 0000h ;位代码15

BIT14 .set 0001h ;位代码14

BIT13 .set 0002h ;位代码13

BIT12 .set 0003h ;位代码12

BIT11 .set 0004h ;位代码11

BIT10 .set 0005h ;位代码10

BIT9 .set 0006h ;位代码9

BIT8 .set 0007h ;位代码8

BIT7 .set 0008h ;位代码7

BIT6 .set 0009h ;位代码6

BIT5 .set 000Ah ;位代码5

BIT4 .set 000Bh ;位代码4

BIT3 .set 000Ch ;位代码3

BIT2 .set 000Dh ;位代码2

BIT1 .set 000Eh ;位代码1

BIT0 .set 000Fh ;位代码0

;用 SBIT0 和 SBIT1 宏屏蔽位

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

B15_MSK .set 8000h ;位屏蔽15

B14_MSK .set 4000h ;位屏蔽14

B13_MSK .set 2000h ;位屏蔽13

B12_MSK .set 1000h ;位屏蔽12

B11_MSK .set 0800h ;位屏蔽11

B10_MSK .set 0400h ;位屏蔽10

B9_MSK .set 0200h ;位屏蔽 9

B8_MSK .set 0100h ;位屏蔽 8

B7_MSK .set 0080h ;位屏蔽 7

B6_MSK .set 0040h ;位屏蔽 6

B5_MSK .set 0020h ;位屏蔽 5

B4_MSK .set 0010h ;位屏蔽 4

B3_MSK .set 0008h ;位屏蔽 3

B2_MSK .set 0004h ;位屏蔽 2

B1_MSK .set 0002h ;位屏蔽 1

B0_MSK .set 0001h ;位屏蔽 0

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;宏定义

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SBIT0 .macro DMA, MASK ;清位宏定义

LACC DMA

.endm

KICK_DOG .macro ;程序监视器复位宏定义

LDP #00E0h ;DP→7000h~707Fh

SPLK #05555h, WDKEY ;WDCNTR 由下一步复位被使能

SPLK #0AAAAh, WDKEY ;WDCNTR 被复位

.endm

DELAY_S .macro delay_value ;延时 = 0.05 μs ×

延时计数

RPT #delay_value

NOP

.endm

发布评论

评论列表 (0)

  1. 暂无评论