5、F28335存储器以及地址分配全解

合集下载

TMS320F28335中文资料资料讲解

TMS320F28335中文资料资料讲解

T M S320F28335中文资料TMS320F28335中文资料TMS320F28335采用176引脚LQFP四边形封装,其功能结构参见参考文献。

其主要性能如下:高性能的静态CMOS技术,指令周期为6.67 ns,主频达150 MHz;高性能的32位CPU,单精度浮点运算单元(FPU),采用哈佛流水线结构,能够快速执行中断响应,并具有统一的内存管理模式,可用C/C++语言实现复杂的数学算法;6通道的DMA控制器;片上256 Kxl6的Flash存储器,34 Kxl6的SARAM存储器.1 Kx16 OTPROM和8 Kxl6的Boot ROM。

其中Flash,OTPROM,16 Kxl6的SARAM均受密码保护;控制时钟系统具有片上振荡器,看门狗模块,支持动态PLL调节,内部可编程锁相环,通过软件设置相应寄存器的值改变CPU的输入时钟频率;8个外部中断,相对TMS320F281X系列的DSP,无专门的中断引脚。

GPI00~GPI063连接到该中断。

GPI00一GPI031连接到XINTl,XINT2及XNMI外部中断,GPl032~GPI063连接到XINT3一XINT7外部中断;支持58个外设中断的外设中断扩展控制器(PIE),管理片上外设和外部引脚引起的中断请求;增强型的外设模块:18个PWM输出,包含6个高分辨率脉宽调制模块(HRPWM)、6个事件捕获输入,2通道的正交调制模块(QEP);3个32位的定时器,定时器0和定时器1用作一般的定时器,定时器0接到PIE模块,定时器1接到中断INTl3;定时器2用于DSP/BIOS的片上实时系统,连接到中断INTl4,如果系统不使用DSP/BIOS,定时器2可用于一般定时器;串行外设为2通道CAN模块、3通道SCI模块、2个McBSP(多通道缓冲串行接口)模块、1个SPI模块、1个I2C主从兼容的串行总线接口模块;12位的A/D转换器具有16个转换通道、2个采样保持器、内外部参考电压,转换速度为80 ns,同时支持多通道转换;88个可编程的复用GPIO引脚;低功耗模式;1.9 V内核,3.3 V I/O供电;符合IEEEll49.1标准的片内扫描仿真接口(JTAG);TMS320F28335的存储器映射需注意以下几点:片上外设寄存器块0~3只能用于数据存储区,用户不能在该存储区内写入程序。

关于28335各个模块的理解解析

关于28335各个模块的理解解析

PWM的使用// Configure ePWM1// Setup TBCLKEPwm1Regs.TBPRD = EPWM_TIMER_TBPRD;// Set timer period 1500/2 TBCLKsEPwm1Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0EPwm1Regs.TBCTR = 0x0000; // Clear counter// Set Compare valuesEPwm1Regs.CMPA.half.CMPA = EPWM_CMPAB; // Set compare A value// EPwm1Regs.CMPB = EPWM_CMPAB; // Set Compare B value// Setup counter modeEPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up downEPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE; // enable phase loading use for sync EPwm1Regs.TBCTL.bit.PHSDIR=TB_UP;EPwm1Regs.TBCTL.bit.SYNCOSEL=TB_SYNC_IN;EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV2+TB_DIV4+TB_DIV4; // TBClock ratio = SYSCLKOUT/(2*HSPCLKDIV*EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1; // 2^CLKDIV)// Setup shadowingEPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;// EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // Load on Zero// EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;// Set actionsEPwm1Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM1A on event A, up count EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR; // Clear PWM1A on event A, down count// EPwm1Regs.AQCTLB.bit.CAU = AQ_CLEAR; //Clear PWM1B on event A, up count // EPwm1Regs.AQCTLB.bit.CAD = AQ_SET; // Set PWM1B on event A, down count// Set DeadBandEPwm1Regs.DBCTL.bit.IN_MODE=DBA_ALL;EPwm1Regs.DBCTL.bit.POLSEL=DB_ACTV_HIC;EPwm1Regs.DBCTL.bit.OUT_MODE=DB_FULL_ENABLE;EPwm1Regs.DBRED=Dbred; // Dead-band rising edge delayEPwm1Regs.DBFED=Dbfed; // Dead-band falling edge delay// Set Trip ZoneEPwm1Regs.TZSEL.bit.OSHT1=TZ_ENABLE;EPwm1Regs.TZCTL.bit.TZA=TZ_FORCE_LO;EPwm1Regs.TZCTL.bit.TZB=TZ_FORCE_LO;// Interrupt where we will change the Compare ValuesEPwm1Regs.ETSEL.bit.SOCBSEL= ET_CTR_ZERO;// Select start ADC (EPWMxSOCB) on Zero eventEPwm1Regs.ETSEL.bit.SOCBEN= Enable; // EnableEPwm1Regs.ETPS.bit.SOCBPRD=ET_1ST;主要注意的就是EPWM的死区子模块。

TMS320F28335中文资料(难得的资料)

TMS320F28335中文资料(难得的资料)
标志寄存器由硬件来清零。
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTable.XINT2 = &ISRExint; //告诉中断入口地址
EDIS; // This is needed to disable write to EALLOW protected registers
F28335 是带浮点运算的,动态范围更大。 F2833x 的执行速度,比相同时钟频率的 F28xx 系列定点芯片,快 50%。处理数学运算性能提
升 2.45 倍,控制算法性能提升 1.57 倍,DSP 性能提升 1.38 倍。总体性能提升近 2 倍。
TMS320F28335 的 ADC
TMS320F28335 上有 16 通道、12 位的模数转换器 ADC。他可以被配置为两个独立的 8 通道输 入模式,也可以通过配置 AdcRegs.ADCTRL1.bit.SEQ_CASC=1,将其设置为一个 16 通道的级 联输入模式。输入的方式可以通过配置 AdcRegs.ADCTRL1.bit.ACQ_PS=1,将其设置为顺序
{
EALLOW; // Before setting PLLCR turn off missing clock detect logic
SysCtrlRegs.PLLSTS.bit.MCLKOFF = 1; SysCtrlRegs.PLLCR.bit.DIV = val; EDIS;
// Optional: Wait for PLL to lock. // During this time the CPU will switch to OSCCLK/2 until // the PLL is staPU will

Tms320F28335中AD采样存储地址问题记录

Tms320F28335中AD采样存储地址问题记录

Tms320F28335中AD采样存储地址问题记录最近使⽤Tms320F28335采样程序,将容易误解的地⽅分享个⼈看法。

⽅便后来⼩朋友们少⾛弯路,也提醒⾃⼰。

(如有错误,请⼤家多多指导。

)----------------------------------------------------------------------------------------------------------------------------⾸先:各位使⽤DSP的朋友们,应该看过官⽅数据⼿册的参考代码吧。

这段代码的意思是:将ADCINA0或者ADCINB0采样的数据存放在ADCRESULT0。

CONVxx占⽤4个位,可以配置为0~15的范围。

其实也是采样后的数据存储地址。

1 AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; // Setup conv from ADCINA0 & ADCINB02 AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; // Setup conv from ADCINA1 & ADCINB13 AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x2; // Setup conv from ADCINA2 & ADCINB24 AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x3; // Setup conv from ADCINA3 & ADCINB35 AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x4; // Setup conv from ADCINA4 & ADCINB46 AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x5; // Setup conv from ADCINA5 & ADCINB57 AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x6; // Setup conv from ADCINA6 & ADCINB68 AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 0x7; // Setup conv from ADCINA7 & ADCINB1 AdcRegs.ADCTRL3.bit.SMODE_SEL = 0x1; // Setup simultaneous sampling mode2 AdcRegs.ADCMAXCONV.all = 0x0033; // 4 double conv's each sequencer (8 total)3 AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; // Setup conv from ADCINA0 & ADCINB04 AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; // Setup conv from ADCINA1 & ADCINB15 AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x2; // Setup conv from ADCINA2 & ADCINB26 AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x3; // Setup conv from ADCINA3 & ADCINB37 AdcRegs.ADCCHSELSEQ3.bit.CONV08 = 0x4; // Setup conv from ADCINA4 & ADCINB48 AdcRegs.ADCCHSELSEQ3.bit.CONV09 = 0x5; // Setup conv from ADCINA5 & ADCINB59 AdcRegs.ADCCHSELSEQ3.bit.CONV10 = 0x6; // Setup conv from ADCINA6 & ADCINB610 AdcRegs.ADCCHSELSEQ3.bit.CONV11 = 0x7; // Setup conv from ADCINA7 & ADCINB7也就是说:ADCINA0或者ADCINB0采样的数据存在AdcRegs.ADCRESULT0的寄存器⾥⾯。

DSP第5章-F28335-概述

DSP第5章-F28335-概述
534存储器存储空间映射如右图534存储器resetsleepstate芯片复位后的状态standbystate耗能比sleep状态多但转为下个状态时间短activereadstatecpu在flash和otp读取访问由fbankwait寄存器和fotpwait寄存器控制534flash和otp存储器的低功耗模式可提高flash中线性代码的执行效率对fopt寄存器中的enpipe置位来使能流水线模式独立于cpu的流水线模式535flash的流水线模式536flash和otp的寄存器536flash和otp的寄存器536flash和otp的寄存器536flash和otp的寄存器536flash和otp的寄存器536flash和otp的寄存器54代码安全模块csm541csm的功能阻止对片内存储器未授权访问防止代码被复制或反解两级保护
3个32位CPU定时器:定时器0、1、2。T0、T1为一般定时器 ,T0连接至PIE,T1连接至中断INT13,T2用作DSP/BIOS的
5.1 F28335的性能
串行端口外设:2个eCAN2.0B; 3个SCI(UART);2个 McBSP;1个SPI; 1个I2C总线接口。
16通道12位模数转换模块:转换时间80ns,2X8通道复用输入 接口;2个采样保持电路;单/连续通道转换;内部或外部参考电 压
5.5 总结
外设帧的寄存器映射如下图所示。
5.5 总结
外设帧的寄存器映射如下图所示。
5.6 F28335与F2812的比 较
5.6 F28335与F2812的比 较
5.3.5 Flash的流水线模式
可提高Flash中线性代码的执行效率 对FOPT寄存器中的ENPIPE置位来使能流水线模式 独立于CPU的流水线模式
5.3.6 Flash 和OTP的寄存器

EPWMTMSF28335所需配置的EPWM寄存器

EPWMTMSF28335所需配置的EPWM寄存器

EPWMTMSF28335所需配置的EPWM寄存器一.TB模块需要设置的寄存器TBCTL_BITS {// bits descriptionUint16 CTRMODE:2; // 1:0 Counter ModeUint16 PHSEN:1; // 2 Phase load enable Uint16 PRDLD:1; // 3 Active period load Uint16 SYNCOSEL:2; // 5:4 Sync output select Uint16 SWFSYNC:1; // 6 Software force sync pulseUint16 HSPCLKDIV:3; // 9:7 High speed time pre-scaleUint16 CLKDIV:3; // 12:10 Timebase clock pre-scaleUint16 PHSDIR:1; // 13 Phase DirectionUint16 FREE_SOFT:2; // 15:14 Emulation mode1.TBCTL:TB控制寄存器设置TBCTL_REG.BITS.CTRMODE:2 (计数模式设置)TB_COUNT-UP 0x0;TB_COUNT_DOWN 0x1;TB_COUNT_UPDOWN 0x2;TB_FREEZE 0x3;TBCTL_REG.BITS.PHSEN:1 (相位装载使能控制)TB_DISABLE 0x0;TB_ENABLE 0x1; 直接将计数器中的值装载到TBCTR计数控制寄存器中。

TBCTL_REG.BITS.PRDLD:1 (时基周期映射使能)TB_SHADOW 0x0 使能TBPRD映射寄存器,读写TBPRD寄存器地址直接操作映射寄存器,当时基计数器计数值等于0时,映射寄存器内容传送到工作寄存器。

默认状态下TBPRD映射寄存器被使能。

TB_IMMEDIATE 0x1 立即装载模式,不需要等到时基计数器计数值等于0时,就直接将TBPRD的存储地址直接操作工作寄存器中。

dspf28335启动过程

dspf28335启动过程

dspf28335启动过程1.DSP reset后运行的起始地址是多少?0x3FFFC02.仿真器烧写程序的步骤是?根据cmd文件把程序烧到指定位置,然后执行。

3.DSP的Flash启动过程是什么?首先硬件配置GPIO84~87上拉为1,即处于Flash启动过程。

当DSP复位后,会从复位向量0x3FFFC0处取得复位向量,并跳转到InitBoot处开始执行,InitBoot会读GPIO84~87的值发现全为1判断为Flash启动方式。

然后会跳到0x33FFF6处执行。

在CCS5.2工程的cmd文件中有如下代码:MEMORY{PAGE 0 :BEGIN : origin = 0x33FFF6, length = 0x000002 /* Boot to M0 will go here */...}SECTIONS{...codestart : > BEGIN PAGE = 0...}即表示把codestart段放到0x33FFF6位置处,文件“DSP2833x_CodeStartBranch.asm”中有codestart段的定义,实际上codestart段只是包含了一个跳转指令,是程序跳转到_c_int00处,_c_int00在boot.asm in RTS library中有定义,_c_int00的代码最终会调用c的main 函数,之后就是main函数的执行。

总的就是:Reset(0x3fffc0)—>initBoot()—>判断启动方式—>codestart(0x33fff6)—>_c_int00—>main函数4.F28335如何烧写代码到flash中并运行?首先使用添加C:\ti\controlSUITE\device_support\f2833x\v133\DSP2833x_com mon\cmd\F28335.cmd。

此文件即为配置代码到flash中的TI官方配置文件。

【精品】:F28335寄存器

【精品】:F28335寄存器

Table 1. Flash/OTP Configuration RegistersName (1) (2) Address Size (x16) Description Bit D escriptionFOP T 0x0A80 1 Flash Option Register Figure 4Reserved 0x0A81 1 ReservedFP WR 0x0A82 1 Flash P ow er Modes Register Figure 5FSTATUS 0x0A83 1 Status Register Figure 6FSTDBYWAIT (3) 0x0A84 1 Flash Sleep To Standby Wait Register Figure 7FACTIVE WAIT (3) 0x0A85 1 Flash Standby To Acti v e Wait Register Figure 8 FBANKWAIT 0x0A86 1 Flash Read Access Wait State Register Figure 9FOTPWAIT 0x0A87 1 OTP Read Access Wait State Register Figure 10Table 14. PLL, Clocking, Watchdog, and Low-Power Mode Registers Name Address Size Description (1) Bit Description(x16)P LLSTS (2) 0x7011 1 P LL Status Register Figure 24HISPCP 0x701A 1 High-Speed P eripheral Clock (HSPCLK) P rescaler Register Figure 17 LOSPCP 0x701B 1 Low-Speed P eripheral Clock (LSPCLK) P rescaler Register Figure 18 PCLKCR0 0x701C 1 P eripheral Clock Control Register 0 Figure 14PCLKCR1 0x701D 1 P eripheral Clock Control Register 1 Figure 15LPMCR0 0x701E 1 Low P ow er Mode Control Register 0 Figure 18PCLKCR3 0x7020 1 P eripheral Clock Control Register 3 Figure 16P LLCR (2) 0x7021 1 P LL Control Register Figure 23SCSR 0x7022 1 System Control & Status Register Figure 27WDCNTR 0x7023 1 Watchdog Counter Register. Figure 28WDKE Y 0x7025 1 Watchdog Reset Key Register Figure 29WDCR 0x7029 1 Watchdog Control Register Figure 30Table 31. CPU Timers 0, 1, 2 Configuration and Control RegistersName Address Size (x16) Description Bit DescriptionTIMER0TIM 0x0C00 1 CPU-Timer 0, Counter Register Figure 33TIMER0TIMH 0x0C01 1 CPU-Timer 0, Counter Register High Figure 34 TIMER0PRD 0x0C02 1 CPU-Timer 0, Period Register Figure 35TIMER0PRDH 0x0C03 1 CPU-Timer 0, Period Register High Figure 36 TIMER0TCR 0x0C04 1 CPU-Timer 0, Control Register Figure 37Reserved 0x0C05 1TIMER0TPR 0x0C06 1 CPU-Timer 0, Prescale Register Figure 38TIMER0TPRH 0x0C07 1 CPU-Timer 0, Prescale Register High Figure 39 TIMER1TIM 0x0C08 1 CPU-Timer 1, Counter Register Figure 33TIMER1TIMH 0x0C09 1 CPU-Timer 1, Counter Register High Figure 34 TIMER1PRD 0x0C0A 1 CPU-Timer 1, Period Register Figure 35TIMER1PRDH 0x0C0B 1 CPU-Timer 1, Period Register High Figure 36 TIMER1TCR 0x0C0C 1 CPU-Timer 1, Control Register Figure 37Reserved 0x0C0D 1TIMER1TPR 0x0C0E 1 CPU-Timer 1, Prescale Register Figure 38TIMER1TPRH 0x0C0F 1 CPU-Timer 1, Prescale Register High Figure 39TIMER2TIM 0x0C10 1 CPU-Timer 2, Counter Register Figure 33TIMER2TIMH 0x0C11 1 CPU-Timer 2, Counter Register High Figure 34TIMER2PRD 0x0C12 1 CPU-Timer 2, Period Register Figure 35TIMER2PRDH 0x0C13 1 CPU-Timer 2, Period Register High Figure 36TIMER2TCR 0x0C14 1 CPU-Timer 2, Control Register Figure 37Reserved 0x0C15 1TIMER2TPR 0x0C16 1 CPU-Timer 2, Prescale Register Figure 38TIMER2TPRH 0x0C17 1 CPU-Timer 2, Prescale Register High Figure 39Table 39. GPIO Control RegistersName (1) Address Size (x16) Register Description Bit DescriptionGPACTRL 0x6F80 2 GPIO A Control Register (GPIO0-GPIO31) Figure 53GPAQSEL1 0x6F82 2 GPIO A Qualifier Select 1 Register (GPIO0-GPIO15) Figure 55 GPAQSEL2 0x6F84 2 GPIO A Qualifier Select 2 Register (GPIO16-GPIO31) Figure 56 GPAMUX1 0x6F86 2 GPIO A MUX 1 Register (GPIO0-GPIO15) Figure 47GPAMUX2 0x6F88 2 GPIO A MUX 2 Register (GPIO16-GPIO31) Figure 48GPADIR 0x6F8A 2 GPIO A Direction Register (GPIO0-GPIO31) Figure 59GPAPUD 0x6F8C 2 GPIO A Pull Up Disable Register (GPIO0-GPIO31) Figure 62GPBCTRL 0x6F90 2 GPIO B Control Register (GPIO32-GPIO63) Figure 54GPBQSEL1 0x6F92 2 GPIO B Qualifier Select 1 Register (GPIO32-GPIO47) Figure 57 GPBQSEL2 0x6F94 2 GPIO B Qualifier Select 2 Register (GPIO48 - GPIO63) Figure 58 GPBMUX1 0x6F96 2 GPIO B MUX 1 Register (GPIO32-GPIO47) Figure 49GPBMUX2 0x6F98 2 GPIO B MUX 2 Register (GPIO48-GPIO63) Figure 50GPBDIR 0x6F9A 2 GPIO B Direction Register (GPIO32-GPIO63) Figure 60GPBPUD 0x6F9C 2 GPIO B Pull Up Disable Register (GPIO32-GPIO63) Figure 63GPCMUX1 0x6FA6 2 GPIO C MUX 1 Register (GPIO64-GPIO79) Figure 51GPCMUX2 0x6FA8 2 GPIO C MUX 2 Register (GPIO80-GPIO87) Figure 52GPCDIR 0x6FAA 2 GPIO C Direction Register (GPIO64-GPIO87) Figure 61GPCPUD 0x6FAC 2 GPIO C Pull Up Disable Register (GPIO64-GPIO87) Figure 64(1)The registers in this table are EALLOW protected. See Section 7.2 for more information. Table 40. GPIO Interrupt and Low Power Mode Select RegistersName (1) Address Size Register Description Bit Description (x16)GPIOXINT1SEL 0x6FE0 1 XINT1 Source Select Register (GPIO0-GPIO31) Figure 71 GPIOXINT2SEL 0x6FE1 1 XINT2 Source Select Register (GPIO0-GPIO31) Figure 71 GPIOXNMISEL 0x6FE2 1 XNMI Source Select Register (GPIO0-GPIO31) Figure 71 GPIOXINT3SEL 0x6FE3 1 XINT3 Source Select Register (GPIO32 - GPIO63) Table 82 GPIOXINT4SEL 0x6FE4 1 XINT4 Source Select Register (GPIO32 - GPIO63) Table 82 GPIOXINT5SEL 0x6FE5 1 XINT5 Source Select Register (GPIO32 - GPIO63) Table 82 GPIOXINT6SEL 0x6FE6 1 XINT6 Source Select Register (GPIO32 - GPIO63) Table 82 GPIOXINT7SEL 0x6FE7 1 XINT7 Source Select Register (GPIO32 - GPIO63) Table 82GPIOLPMSEL 0x6FE8 1 LPM wakeup Source Select Register (GPIO0-GPIO31) Figure 72Table 41. GPIO Data RegistersName Address Size (x16) Register D escription Bit DescriptionGP ADAT 0x6FC0 2 GPIO A Data Register (GPIO0-GPIO31) Figure 65GP ASE T 0x6FC2 2 GPIO A Set Register (GPIO0-GPIO31) Figure 68GP ACLE AR 0x6FC4 2 GPIO A Clear Register (GPIO0-GPIO31) Figure 68GP ATOGGLE 0x6FC6 2 GPIO A Toggle Register (GPIO0-GPIO31) Figure 68GPBDAT 0x6FC8 2 GPIO B Data Register (GPIO32-GPIO63) Figure 66GPBSE T 0x6FCA 2 GPIO B Set Register (GPIO32-GPIO63) Figure 69GPBCLE AR 0x6FCC 2 GPIO B Clear Register (GPIO32-GPIO63) Figure 69GPBTOGGLE 0x6FCE 2 GPIO B Toggle Register (GP IO32-GP IO63) Figure 69Table 41. GPIO Data Registers (continued)Name Address Size (x16) Register D escription Bit DescriptionGPCDAT 0x6FD0 2 GPIO C Data Register (GPIO64 - GPIO87) Figure 67GPCSET 0x6FD2 2 GPIO C Set Register (GPIO64 - GPIO87) Figure 70GPCCLE AR 0x6FD4 2 GPIO C Clear Register (GP IO64 - GPIO87) Figure 70GPCTOGGLE 0x6FD6 2 GPIO C Toggle Register (GP IO64 - GPIO87) Figure 70Table 46. Default State of Peripheral InputPeripheral Input Description Default Input (1)TZ1-TZ6 Trip zone 1-6 1EP WMSYNCI eP WM Synch Input 0ECAP neCAP input 1E QEPnAeQEP input 1E QEPnIeQEP index 1E QEPnSeQEP strobe 1SPICLKx SPI clock 1SPISTE x SPI transmit enable 0SPISIMOx SPI Slave-in, master-out 1SPISOMIx SPI Slave-out, master-in 1SCIRXDx SCI receive 1CANRXx CAN receive 1SDAA I2C data 1SCLA1 I2C clock 1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

片外扩展存储器
程序空间
F28335对数据空间和程序空间进行了统 一编址,图5.1的映射表就像是各个空间的地
保留
M0向量 RAM(32 X 32)
图一样,有些空间既可以作为数据空间也可 以作为程序空间,有些空间只能作为数据空
0x00 到密码模块保护,有些空 间地址是作为保留的,具体内容就要仔细对 照这个地图来进行查阅了。
一种全为0,另一种全为1,一个新的FLASH或FLASH被擦除后,就变为全1了,这样只要读一下密码区,
就能破解了,还一种情况,就是全为0,这时候器件是被加密了,但是不管密钥寄存器的内容是什么, 器件都处在加密状态,即该器件无法解锁了,这时候芯片就被完全锁住了。因此不要用全0作为密码。 如果在擦除FLASH的期间,芯片复位了,那这个芯片的密码就不确定了,也不能解锁。
TMS320F28335内存保护特点
地址范围 片上存储器 数据空间 0x00 0000 0x00 0040 0x00 0400 0x00 0800 0x00 0D00 M0 SRAM(1k X16) M1 SRAM(1k X16) PF0 PIE 中断 向量表 0x00 0E00 0x00 2000 0x00 5000 0x00 6000 0x00 7000 0x00 8000 0x00 9000 0x00 A000 0x00 B000 0x00 C000 0x00 D000 0x00 E000 0x00 F000 0x01 0000 0x30 0000 0x33 FFF8 0x34 0000 0x38 0000 0x38 0400 0x38 0800 0x3F 8000 0x3F 9000 0x3F A000 0x3F B000 0x3F C000 0x3F E000 0x3F FFFC PF0 保留 PF3 DMA PF1 PF2
保留
保留
图右半部分主要是通过XINTF外扩的存储
空间,当片内数据存储空间不够的时候,我
外部区域6扩展 1M X16 CS6 外部区域7扩展 1M X16 CS7
保留
FLASH(256K X16) 128位 密码
0x10 0000 0x20 0000 0x30 0000
们可以外扩存储器。其中的保留区是为片内 存储器所占的地址。 有些空间是Protected,表示这三个空间
L0 SRAM (4k X 16) L1 L2 L3 L4 L5 L6 L7 SRAM SRAM SRAM SRAM SRAM SRAM SRAM (4k (4k (4k (4k (4k (4k (4k X X X X X X X 16) 16) 16) 16) 16) 16) 16) 外部区域0扩展 4K X16 CS0
有256K×16位的FLASH,34K×16位的SARAM,8K×16位的BOOT ROM,2K×16位的OPT
ROM,采用统一寻址方式(程序、数据和I/O统一寻址),从而提高了存储空间的利 用率,方便程序的开发。除此之外,F28335 DSP还提供了外部并行扩展接口XINTF, 可进一步外扩存储空间。
保留
TI OTP(1k X 16) 用户 OTP(1k X 16) 保留 L0 SARAM(4k X 16) L1 SARAM(4k X 16) L2 SARAM(4k X 16) L3 SARAM(4k X 16) 保留 Boot ROM(8k x 16) BROM 向量表-ROM(32 X 32)
TMS320F28335存储器空间分配
F28335的CPU内核本身并不包含任何存储器,通过总线访问芯片内部集成的
或者外部扩展的存储器。其总线按照改进哈佛结构,分成了32位的数据读、数据写
数据总线,地址读、地址写总线,公用数据总线即程序总线,包括22位的程序地址 总线,用于传送程序空间的读 /写地址, 32 位读数据程序总线,用于读取程序空间 的指令或者数据。 改进的哈佛结构其实是综合了冯 . 诺依曼结构的简洁,哈佛结构的高效。 F28335应用32位数据地址和22位程序地址控制整个存储器以及外设,最大可寻址4M
第五讲:存储器以及地址分配
1、TMS320F28335存储器空间分配 2、TMS320F28335存储器保护特点 3、XINTF接口
4、相关寄存器介绍
TMS320F28335存储器空间分配
F28335 DSP就是采用多级流水线的增强的哈佛总线结构,能够并行访问程 序和数据存储空间。在F28335芯片内部集成了大量的不同的存储介质, F28335 片上
字的数据空间和4M字程序空间。
TMS320F28335内存保护特点
代码安全模块CSM--代码安全模块(CSM)是F28335上程序安全性的主要手段,它禁止未授权的 用户访问片内存储器,禁止私有代码的复制或者逆向操作。 安全模块限制CPU去访问片内存储器。实际上,对各种存储器的读写访问都是通过JTAG端口或 外设来进行的,而CSM模块所谓的代码安全性主要是针对片内存储器的访问来定义的,用来禁止未经授 权去复制私人代码或数据。 通过一个128位的密码(相当于8个16位的字)来对安全区来进行加密或解密。这段密码保存 在FLASH的最后8个(0X33FFF8~0X33FFFF),也就是密码区中(PWL),通过密码匹配(PMF),可以解 锁器件。 如果密码保护区中的128位数都是同一个数,这个器件不受保护,全是同一个数有两种可能,
保留
存放的寄存器不可以随便配置,若要对存放
在Protected空间内的寄存器进行配置,要进 行EALLOW声明,以EDIS结束声明,起到保护 和警示作用。
TMS320F28335内存保护特点
用户用来解锁的寄存器为密钥寄存器,在存储空间映射地址为0x0000 0AE0~0x0000 0AE7,该区域受 EALLOW保护。当这个 128位的密钥位全 1时,密钥寄存器不
需要与之匹配。当一开始调试FLASH区加密的芯片的时候,仿真器取得CPU的控制权需要
一定的时间,在此期间,CPU正在开始运行,并且会执行保护加密区的操作,这个操作会 引起仿真器断开连接,有两个方法可以解决这个问题。
相关文档
最新文档