TMS320F28335项目开发记录11_28335之存储系统

TMS320F28335为哈佛结构的DSP,在逻辑上有4M×16位的程序空间和4M×16位的数据空间,但在物理上已将程序空间和数据空间统一成一个4M×16位的空间。

TMS320F28335片上有256K×16位的FLASH34K×16位的SRAM8K×16位的BOOT ROM2K×16位的OPT ROM

1、 TMS320F28335片上SARAM

TMS320F28335片内共有34K×16位单周期单次访问随机存储器的SARAM,分成10个块,他们分别称为M0、M1、L0-L7

MO和M1块SARAM的大小均为1K×16位,当复位后,堆栈指针指向M1块的起始地址,堆栈指针向上生长。M0和M1段都可以映射到程序区和数据区。

L0-L7块SARAM的大小均为4K×16位,既可映射到程序空间,也可映射到数据空间,其中L0-L3可映射到两块不同的地址空间并且受片上的FLASH中的密码保护,以免存在上面的程序或数据,被他人非法拷贝。

2、 TMS320F28335片上FLASH和OTP

TMS320F28335片上有256K×16位嵌入式FLASH存储器和1K×16位一次可编程EEPROM存储器,他们均受片上FLASH中的密码保护。FLASH存储器由8个32K×16位扇区组成,用户可以对其中任何一个扇区进行擦除、编程和校验,而其他扇区不变。但是,不能在其中一个扇区上执行程序来擦除和编程其他的扇区。(表示质疑,可以使用28335提供的Flash API函数进行在线的编程烧写Flash)

3、 TMS320F28335外部存储器接口

TMS320F28335的外部存储器接口包括:20位地址线,16(最大32)位数据线,3个片选控制线及读写控制线。这3个片选线映射到3个存储区域,Zone0,Zone6和Zone7。这3个存储器可分别设置不同的等待周期。

Zone0  存储区域:    0X004000—0X004FFF, 4K×16位   可编程最少一个等待周期

Zone6  存储区域:    0X100000—0X1FFFFF, 1M×16位  10ns   最少一个等待周期

Zone7  存储区域:    0X200000—0X2FFFFF, 1M×16位  70ns   最少一个等待周期

时间: 2024-07-30 10:17:05

TMS320F28335项目开发记录11_28335之存储系统的相关文章

TMS320F28335项目开发记录1_CCS的使用介绍

CCS使用介绍 一.前言 本系列文章记录本人实际项目开发时对ti的DSP28335,以及CCS开发环境等的学习与记录,相对于2812来说,28335的资料还是比較少的,只是原理是相通的,28335说白了就是比2812多一些外设,寄存器等东西: 28335对于学习DSP的人来说,也算是一款入门级芯片.本人也是学习没多久就拿来做项目了,用到什么学什么,感觉事实上DSP没有想象中的难,无非就是和单片机一样.配置一些寄存器,驱动一些外设进行开发等,而DSP之所以难.难在它的算法部分,有了好的算法,DSP

TMS320F28335项目开发记录4_28335之启动模式(串口烧写Flash)

TMS320F28335支持多种启动模式,如下: // $Boot_Table: // // GPIO87 GPIO86 GPIO85 GPIO84 // XA15 XA14 XA13 XA12 // PU PU PU PU // ========================================== // 1 1 1 1 Jump to Flash <- "boot to Flash" // 1 1 1 0 SCI-A boot // 1 1 0 1 SPI-A

TMS320F28335项目开发记录6_28335之cmd文件详解

1.CMD文件的作用 CMD文件的作用就像仓库的货物摆放记录一样,为程序代码和数据分配指定的空间. 2.C语言生成的段 C语言生成的段大致分为两大类:初始化和未初始化,已初始化的段含有真正的指令和数据,未初始化段只是保留变量的地址空间. 已初始化段: .text--C语言编译生成的汇编指令代码存放于此 .cinit--存放初始化的全局和静态变量 .const--字符串常量和const定义的全局和静态变量 .econst--字符串常量和far const定义的全局和静态变量 .print--全局构

TMS320F28335项目开发记录5_28335之CCS编程基础

CCS开发环境已经为我们封装好了许多片内外设寄存器的结构体,我们只需要包含相应的官方的头文件就可以使用了,那么它的内部具体是如何实现的呢? 下面来一个典型的例子: 1.使用结构体和联合体 A.用struct定义位域的作用: DSP2833x_Sci.h中有一段: struct SCICCR_BITS { // bit description Uint16 SCICHAR:3; // 2:0 Character length control Uint16 ADDRIDLE_MODE:1; // 3

TMS320F28335项目开发记录10_28335之SCI模块

28335之SCI模块 1.介绍 TMS320F28335内部有三个SCI模块,SCIA.SCIB.SCIC. 每一个SCI模块都有一个接收器和发送器,SCI的接收器和发送器各有一个16级的FIFO(First In First Out先入先出)队列,它们都还有自己独立的使能位和中断位:可以工作在半双工或全双工模式: 串行通信的三种方式: 2.SCI深入 A. GPIO的管脚对应如下: SCIA对应GPIO28/29和GPIO35/36两组可选:   SCIB有四组管脚可以选择,分别是 O9/1

TMS320F28335项目开发记录7_28335之时钟

TMS320F28335时钟 TMS320F28335上有一个基于PLL电路的片上时钟模块,如图1所示,为CPU及外设提供时钟有两种方式: 一种是用外部的时钟源,将其连接到X1引脚上或者XCLKIN引脚上,X2接地: 另一种是使用振荡器产生时钟,用30MHz的晶体和两个20PF的电容组成的电路分别连接到X1和X2引脚上,XCLKIN引脚接地. 我们常用第二种来产生时钟.此时钟将通过一个内部PLL锁相环电路,进行倍频.由于F28335的最大工作频率是150M,所以倍频值最大是5.其中倍频值由PLL

TMS320F28335项目开发记录3_28335简介

28335特性介绍 高性能静态CMOS技术 高达150MHZ(6.67ns的周期时间):1.9V / 1.8内核 ,3.3V I/O设计 高性能32位CPU IEEE-754单精度浮点单元 哈佛总线结构 高速中断响应处理 使用C/C++ 和汇编语言 6通道的DMA(用于ADC.McBsp.ePWM.XINTF和SARAM) 16位或32位外部接口XINTF 片上存储器 256K*16 Flash     34K*16 SARAM 8K*16 Boot ROM(支持软件引导模式SCI.SPI.CA

TMS320F28335项目开发记录2_CCS与JTAG仿真器连接问题汇总

CCS与仿真器连接问题 实际使用过程中.仿真器和CCS连接可能出现这样或那样的问题,或许你的连接非常成功,没碰到过什么问题.但我的问题的确不少,可能与电脑配置有关吧,也可能与人品有关吧. 以下的自己的一些错误和解决方法总结.不一定对,但也算是一种解决方法.分享给大家: 问题: 1. jtag连接不上,报错: The controller has detected a dead JTAG clock. The user must turn-on or connect the JTAG clock

TMS320F28335项目开发记录8_28335之GPIO引脚

GPIO(General-Purpose Input/Output)--通用输入/输出口: DSP28335 GPIO模块分为三类IO口:PORTA(0-31),PORTB(32-63),PORTC(64-87) 对GPIO模块的设置主要通过三类寄存器来完成,分别是:控制寄存器.数据寄存器.中断寄存器. 1.控制寄存器 GPxCTRL;    // GPIO x Control Register (GPIO0 to 31) //设置采样窗周期T=2*GPXCTRL*Tsysclk: GPxQSE