- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(flash烧写
1 前言 TMS320F28xx DSP片内有128 K×16 bit字的Flash、两块4 K x16bit字的单周期访问RAM(SARAM)LO和L1、一块8 Kxl6 bit字的单周期访问RAM(SARAM)HO、两块1 Kxl6 bit字的单周期访问RAM(SARAM)M0和M1。由于存储器种类多、容量大,所以从系统的高度来配置各个存储器必须有合适的方法,而这些方法一般都与片内Flash有关。另外,TMS320F28xx DSP片内有看门狗定时器模块(WDT)、引导ROM(ROM bootloader)模块、代码安全模块(CSM),要合理地使用这些模块为整个系统服务,必定也要用到Flash。 由此可以看出,Flash的地位和作用比较显著.所以本文就Flash的几种用法作了研究。 2 从Flash拷贝段到RAM 2.1拷贝中断向量 在TMS320F28xx器件中,外设扩展中断(PIE)模块管理中断请求。上电时,所有中断向量必须位于非易失性存储器(如Flash)中,但是要把中断向量拷贝到PIEVECT RAM中,这是用户代码中器器件初始化程序的一部分。PIEVECT RAM是一个特定的RAM块,它在当前TMS320F28xx器件中是一个256×16的块.在数据空间中的起始地址为Ox000D00。 把中断向量连接到Flash,然后把中断向量拷贝到PIEVECT RAM中,有许多方法可以实现。一个方法是创建包含函数指针的常量C结构体,该结构体包括128个32-bit向量。如果使用DSP281x或者DSP280x外设的结构体.这个结构体叫做PieVectTableInit,它已经在DSP281x_PieVect.c或者DSP280x_PieVect.c创建(参看TI提供的例程)。因为这个结构体使用const类型关键词,所以它将会被编译器放置在.econst段中。运行时只需要把这个结构体拷贝到PIEVECT RAM中。C编译器运行时支持库包含名为memcpy的存储器拷贝函数,该函数可以被用来完成拷贝任务,其用法如下所示: ? 以上这个例子为PIE RAM起始地址使用的硬编码地址(hard coded address),明确指定为0x000D00。但是硬编码地址并不是较好的编程方式,用户可以使用DATA_SECTION指令创建一个非初始化的假变量(dummy variable),并把这个变量连接到PIE RAM.然后用这个假变量的名字来代替硬编码地址。例如,当使用DSP281x或者DSP280x外设结构体时,创建一个名为PieVectTable的非初始化结构体,并把该结构体连接到PIEVECT RAM。前面例子中的memcpy()函数可以被替换为: memcpy(PieVectTable,PieVectTableInit,256); 注意拷贝长度是256个16-bit字.对应为128个32-bit字。 2.2初始化Flash控制寄存器 Flash控制寄存器FOPT、FPWR、:FSTDBY-WAIT、FACTIVEWAIT、FBANKWAIT、FOTPWAIT的初始化代码不能从Flash存储器当中运行.否则就会有不可预料的结果出现。所以,Flash控制寄存器的初始化函数在运行时必须从Flash(它的装载地址)拷贝到RAM(它的运行地址)。 Flash控制寄存器由Code Security Module(CSM)保护。如果CSM被保护起来了,那么必须从被保护的RAM(例如:L0或者L1 SARAM)运行Flash控制寄存器的初始化代码,否则Flash控制寄存器的初始化代码无法访问Flash控制寄存器。要注意的是,当器件复位的时候CSM一般都是被保护起来的,虽然使用假密码0xFFFF时ROM BOOTLOAD-ER会把它解锁。 C编译器的CODE_SECTION指令可以用来为Flash控制寄存器的初始化函数创建独立的可连接段。例如:假定Flash控制寄存器的配置在C函数InitFlash()中实现,并且想把这个函数放置在名为secureRamFuncs的可连接段当中。下列的C代码例程显示了CODE_SECTION命令在Flash存储器配置中的正确用法: ? secureRamFuncs段可以使用用户连接命令文件(.cmd)进行连接。这个段需要独立的装载和运行地址。另外,还想让连接器生成一些全局符号,这些全局符号可以用来决定装载地址、运行地址、段长度。在实现把这个段从装载地址拷贝到它的运行地址时需要这些信息。用户连接命令文件如下所示: ?在这个例子中,假定存储器Flash和SECURE_RAM都已经在用户连接命令文件中的MEMORY段中定义。这些存储器的PAG
您可能关注的文档
最近下载
- 《信息技术与人工智能[Windows 10+WPS 365]》教案 项目三 数据洞察——WPS电子表格处理.docx VIP
- 23CJ87-1 采光、通风、消防排烟天窗(一)(1).pdf VIP
- 高中数学情境化教学中的AI辅助教学策略研究与应用教学研究课题报告.docx
- 水稻机收减损技术课件必威体育精装版完整版本.pptx VIP
- 第二章-品牌管理基础课件.ppt VIP
- 三年级英语经典测试题听力及答案.docx VIP
- 机械制图习题集刘合荣课后习题答案解析.pdf
- 《信息技术与人工智能[Windows 10+WPS 365]》教案 项目二 文字管家——WPS文档处理.docx VIP
- 延迟焦化之分馏系统.pptx VIP
- 智能护理:人工智能驱动的医疗创新.pptx VIP
有哪些信誉好的足球投注网站
文档评论(0)