




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 在DSP28_device.H中定义了如下内容:/在各个”.H”函数中,主要是对DSP中各个寄存器的结构进行了定义,相应的文件名对应相/应的寄存器extern cregister volatile unsigned int IFR;extern cregister volatile unsigned int IER;#define EINT asm( clrc INTM)#define DINT asm( setc INTM)#define ERTM asm( clrc DBGM)#define DRTM asm( setc DBGM)#define EALLOW asm( EALLOW)#define EDIS asm( EDIS)#define ESTOP0 asm( ESTOP0)#defineM_INT10x0001#defineM_INT20x0002#defineM_INT30x0004#defineM_INT40x0008#defineM_INT50x0010#defineM_INT60x0020#defineM_INT70x0040#defineM_INT80x0080#defineM_INT90x0100#defineM_INT10 0x0200#defineM_INT110x0400#defineM_INT120x0800#defineM_INT130x1000#defineM_INT140x2000#defineM_DLOG0x4000#defineM_RTOS0x8000#defineBIT00x0001#defineBIT10x0002#defineBIT20x0004#defineBIT30x0008#defineBIT40x0010#defineBIT50x0020#defineBIT60x0040#defineBIT70x0080#defineBIT80x0100#defineBIT90x0200#defineBIT100x0400#defineBIT110x0800#defineBIT120x1000#defineBIT130x2000#defineBIT140x4000#defineBIT150x8000/-/ For Portability, User Is Recommended To Use Following Data Type Size/ Definitions For 16-bit and 32-Bit Signed/Unsigned Integers:Typedef int int16;typedef long int32;typedef unsigned int Uint16;typedef unsigned long Uint32;/-/ Include All Peripheral Header Files:#include DSP28_GlobalPrototypes.h / Prototypes for global functions within the / .c files.#include DSP28_SysCtrl.h / System Control/Power Modes#include DSP28_DevEmu.h / Device Emulation Registers#include DSP28_Xintf.h / External Interface Registers#include DSP28_CpuTimers.h / 32-bit CPU Timers#include DSP28_PieCtrl.h / PIE Control Registers#include DSP28_PieVect.h / PIE Vector Table#include DSP28_DefaultIsr.h / Software Prioritization for PIE Interrupts#include DSP28_Spi.h / SPI Registers#include DSP28_Sci.h / SCI Registers#include DSP28_Mcbsp.h / McBSP Registers#include DSP28_ECan.h / Enhanced eCAN Registers#include DSP28_Gpio.h / General Purpose I/O Registers#include DSP28_Ev.h / Event Manager Registers#include DSP28_Adc.h / ADC Registers#include DSP28_XIntrupt.h / External Interrupts二 在文件DSP28_GlobalPrototypes.H中定义了如下函数:/*- shared global function prototypes -*/extern void InitAdc(void);extern void InitDevEmu(void);extern void InitDevice(void);extern void InitECana(void);extern void InitEv(void);extern void InitGpio(void);extern void InitMcbsp(void);extern void InitPieCtrl(void);extern void InitPieVectTable(void);extern void InitSci(void);extern void InitSpi(void);extern void InitSysCtrl(void);extern void InitXintf(void);extern void InitXIntrupt(void);extern void KickDog(void);三 在DSP28_CpuTimers.H中定义了如下函数:void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period);/-/ Usefull Timer Operations:/ Start Timer:#defineStartCpuTimer0() CpuTimer0Regs.TCR.bit.TSS = 0#defineStartCpuTimer1() CpuTimer1Regs.TCR.bit.TSS = 0#defineStartCpuTimer2() CpuTimer2Regs.TCR.bit.TSS = 0/ Stop Timer:#defineStopCpuTimer0() CpuTimer0Regs.TCR.bit.TSS = 1#defineStopCpuTimer1() CpuTimer1Regs.TCR.bit.TSS = 1#defineStopCpuTimer2() CpuTimer2Regs.TCR.bit.TSS = 1/ Reload Timer With period Value:#defineReloadCpuTimer0() CpuTimer0Regs.TCR.bit.TRB = 1#defineReloadCpuTimer1() CpuTimer1Regs.TCR.bit.TRB = 1#defineReloadCpuTimer2() CpuTimer2Regs.TCR.bit.TRB = 1/ Read 32-Bit Timer Value:#defineReadCpuTimer0Counter() CpuTimer0Regs.TIM.all#defineReadCpuTimer1Counter() CpuTimer1Regs.TIM.all#defineReadCpuTimer2Counter() CpuTimer2Regs.TIM.all/ Read 32-Bit Period Value:#defineReadCpuTimer0Period() CpuTimer0Regs.PRD.all#defineReadCpuTimer1Period() CpuTimer1Regs.PRD.all#defineReadCpuTimer2Period() CpuTimer2Regs.PRD.all四 在DSP28_GlobalVariableDefs.c中定义了如下内容:/#pragma DATA_SECTION()伪指令将cmd文件中的段与H文件中定义的结构体一一对应#include DSP28_Device.h#pragma DATA_SECTION(AdcRegs,AdcRegsFile);volatile struct ADC_REGS AdcRegs;#pragma DATA_SECTION(CpuTimer0Regs,CpuTimer0RegsFile);volatile struct CPUTIMER_REGS CpuTimer0Regs;#pragma DATA_SECTION(CpuTimer1Regs,CpuTimer1RegsFile);volatile struct CPUTIMER_REGS CpuTimer1Regs;#pragma DATA_SECTION(CpuTimer2Regs,CpuTimer2RegsFile);volatile struct CPUTIMER_REGS CpuTimer2Regs;#pragma DATA_SECTION(ECanaRegs,ECanaRegsFile);volatile struct ECAN_REGS ECanaRegs;#pragma DATA_SECTION(ECanaMboxes,ECanaMboxesFile);volatile struct ECAN_MBOXES ECanaMboxes;#pragma DATA_SECTION(EvaRegs,EvaRegsFile);volatile struct EVA_REGS EvaRegs;#pragma DATA_SECTION(EvbRegs,EvbRegsFile);volatile struct EVB_REGS EvbRegs;#pragma DATA_SECTION(GpioDataRegs,GpioDataRegsFile);volatile struct GPIO_DATA_REGS GpioDataRegs;#pragma DATA_SECTION(GpioMuxRegs,GpioMuxRegsFile);volatile struct GPIO_MUX_REGS GpioMuxRegs;#pragma DATA_SECTION(McbspaRegs,McbspaRegsFile);volatile struct MCBSP_REGS McbspaRegs;#pragma DATA_SECTION(PieCtrl,PieCtrlRegsFile);volatile struct PIE_CTRL_REGS PieCtrl;#pragma DATA_SECTION(PieVectTable,PieVectTable);struct PIE_VECT_TABLE PieVectTable;#pragma DATA_SECTION(SciaRegs,SciaRegsFile);volatile struct SCI_REGS SciaRegs;#pragma DATA_SECTION(ScibRegs,ScibRegsFile);volatile struct SCI_REGS ScibRegs;#pragma DATA_SECTION(SpiaRegs,SpiaRegsFile);volatile struct SPI_REGS SpiaRegs;#pragma DATA_SECTION(SysCtrlRegs,SysCtrlRegsFile);volatile struct SYS_CTRL_REGS SysCtrlRegs;#pragma DATA_SECTION(DevEmuRegs,DevEmuRegsFile);volatile struct DEV_EMU_REGS DevEmuRegs;#pragma DATA_SECTION(CsmRegs,CsmRegsFile);volatile struct CSM_REGS CsmRegs;#pragma DATA_SECTION(CsmPwl,CsmPwlFile);volatile struct CSM_PWL CsmPwl;#pragma DATA_SECTION(FlashRegs,FlashRegsFile);volatile struct FLASH_REGS FlashRegs;#pragma DATA_SECTION(XintfRegs,XintfRegsFile);volatile struct XINTF_REGS XintfRegs;#pragma DATA_SECTION(XIntruptRegs,XIntruptRegsFile);volatile struct XINTRUPT_REGS XIntruptRegs;五 各应用函数的定义:1)DSP28_SysCtrl.c void InitSysCtrl(void) void KickDog(void)2)DSP28_DevEmu.c / Device Emulation Registers3)DSP28_Xintf.c / External Interface Registers void InitXintf(void)4)DSP28_CpuTimers.c / 32-bit CPU Timersvoid InitCpuTimers(void)void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period)5)DSP28_PieCtrl.c / PIE Control Registersvoid InitPieCtrl(void)6)DSP28_PieVect.c / PIE Vector Tablevoid InitPieVectTable(void)7)DSP28_DefaultIsr.c / Software Prioritization for PIE Interrupts 包括各个中断函数的服务程序8)DSP28_Spi.c / SPI Registersvoid InitSpi(void)9)DSP28_Sci.c / SCI Registersvoid InitSci(void)10)DSP28_Mcbsp.c / McBSP Registersvoid InitMcbsp(void)11)DSP28_ECan.c / Enhanced eCAN Registersvoid InitECan(void)12)DSP28_Gpio.c / General Purpose I/O Registersvoid InitGpio(void)13)DSP28_Ev.c / Event Manager Registersvoid InitEv(void)14)DSP28_Adc.c / ADC Registersvoid InitAdc(void)15)DSP28_XIntrupt.c / External Interruptsvoid InitXIntrupt(void)16)DSP28_InitPeripherals.c /此函数中包括了对各个外设的初始化函数void InitPeripherals(void)六 在SEED-DEC2812中SRAM.cmd内容:MEMORYPAGE 0 : PRAMH0 : origin = 0x3f8000, length = 0x001000 PAGE 1 : /* SARAM */ RAMM0 : origin = 0x000000, length = 0x000400 RAMM1 : origin = 0x000400, length = 0x000400 /* Peripheral Frame 0: */ DEV_EMU : origin = 0x000880, length = 0x000180 FLASH_REGS : origin = 0x000A80, length = 0x000060 CSM : origin = 0x000AE0, length = 0x000010 XINTF : origin = 0x000B20, length = 0x000020 CPU_TIMER0 : origin = 0x000C00, length = 0x000008 CPU_TIMER1 : origin = 0x000C08, length = 0x000008 CPU_TIMER2 : origin = 0x000C10, length = 0x000008 PIE_CTRL : origin = 0x000CE0, length = 0x000020 PIE_VECT : origin = 0x000D00, length = 0x000100 /* Peripheral Frame 1: */ ECAN_A : origin = 0x006000, length = 0x000100 ECAN_AMBOX : origin = 0x006100, length = 0x000100 /* Peripheral Frame 2: */ SYSTEM : origin = 0x007010, length = 0x000020 SPI_A : origin = 0x007040, length = 0x000010 SCI_A : origin = 0x007050, length = 0x000010 XINTRUPT : origin = 0x007070, length = 0x000010 GPIOMUX : origin = 0x0070C0, length = 0x000020 GPIODAT : origin = 0x0070E0, length = 0x000020 ADC : origin = 0x007100, length = 0x000020 EV_A : origin = 0x007400, length = 0x000040 EV_B : origin = 0x007500, length = 0x000040 SPI_B : origin = 0x007740, length = 0x000010 SCI_B : origin = 0x007750, length = 0x000010 MCBSP_A : origin = 0x007800, length = 0x000040 /* CSM Password Locations */ CSM_PWL : origin = 0x3F7FF8, length = 0x000008 /* SARAM */ DRAMH0 : origin = 0x3f9000, length = 0x001000 SECTIONS /* Allocate program areas: */ .reset : PRAMH0, PAGE = 0 .text : PRAMH0, PAGE = 0 .cinit : PRAMH0, PAGE = 0 /* Allocate data areas: */ .stack : RAMM1, PAGE = 1 .bss : DRAMH0, PAGE = 1 .ebss : DRAMH0, PAGE = 1 .const : DRAMH0, PAGE = 1 .econst : DRAMH0, PAGE = 1 .sysmem : DRAMH0, PAGE = 1 /* Allocate Peripheral Frame 0 Register S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深海风电场2025年资源评估报告:海上风能开发风险管理与规划策略
- 有色金属企业预算管理研究
- 智能农业设备在蔬菜种植中的实践应用
- 2025年会计实操技能模拟题及解析
- 2025年化学工程与工艺专业就业前景分析面试题解答指南集
- 跨境电商独立站客户服务与售后支持体系构建报告
- 2025年医疗保障局公务员招聘考试模拟题及答题技巧解析
- 2025年乡镇综治中心网格员招聘考试高频词汇及模拟题实战演练
- 智能路灯在城市道路照明中的实践应用
- 2025年中级香文化策划师考试趋势预测
- 海上平台油泵智能监控系统设计
- 《欧洲签证知识培训》课件
- 高一上学期数学人教A版(2019)必修第一册教材例题+练习+课后习题
- 《矿物学》全套教学课件
- 部编版四年级上册语文第一单元大单元教学设计
- 小孩办身份证的委托书范本
- 7-乡土中国-思维导图(各个章节)
- 从文学到电影智慧树知到期末考试答案章节答案2024年山东大学
- AQ/T 1119-2023 煤矿井下人员定位系统通 用技术条件(正式版)
- 房子过户给子女的合同模板
- 奶山羊饲养管理课件讲解
评论
0/150
提交评论