简述数据库设计的步骤配置具有128m ram仿真器的步骤

6271人阅读
1.DSP reset后运行的起始地址是多少?
2.仿真器烧写程序的步骤是?
根据cmd文件把程序烧到指定位置,然后执行。
3.DSP的Flash启动过程是什么?
首先硬件配置GPIO84~87上拉为1,即处于Flash启动过程。当DSP复位后,会从复位向量0x3FFFC0处取得复位向量,并跳转到InitBoot处开始执行,InitBoot会读GPIO84~87的值发现全为1判断为Flash启动方式。然后会跳到0x33FFF6处执行。在CCS5.2工程的cmd文件中有如下代码:
& &BEGIN & & & : origin = 0x33FFF6, length = 0x000002 & & /* Boot to M0 will go here & & & & & & & & & & &*/
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函数的执行。
4.F28335如何烧写代码到flash中并运行?
首先使用添加C:\ti\controlSUITE\device_support\f2833x\v133\DSP2833x_common\cmd\F28335.cmd。此文件即为配置代码到flash中的TI官方配置文件。
然后参考C:\ti\controlSUITE\device_support\f2833x\v133\DSP2833x_examples_ccsv4\flash_f28335。添加以下代码:
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);将一些在内存中运行的代码从flash复制到内存中,然后程序才能正常运行。
5.写好的代码再ram中能正常运行但是烧写到flash中后,函数DSP28x_usDelay()不能正常运行为什么?
因为在DSP2833x_usDelay.asm中有.sect &ramfuncs&,即把该函数定义在段&ramfuncs&中, 而此段需要在内存中运行,故需要使用函数
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);将ramfuncs段复制到内存中然后运行。只算以这样设计是因为函数DSP28x_usDelay()精准运行对运行速度有要求故必须放在段&ramfuncs&中。参考:
6.cmd中以下代码如何解释?
& &ramfuncs & : LOAD = FLASHD,&
& & & & & & & & & & & & &RUN = RAML0,&
& & & & & & & & & & & & &LOAD_START(_RamfuncsLoadStart),
& & & & & & & & & & & & &LOAD_END(_RamfuncsLoadEnd),
& & & & & & & & & & & & &RUN_START(_RamfuncsRunStart),
& & & & & & & & & & & & &PAGE = 0
第1行表示该段的装载在PAGA0的FLASHD中
第2行表示该段的运行地址在PAGE0的RAML0中
LOAD_ START(_RamfuncsLoadStart)令编译器创建了一个变量RamfuncsLoadStart,该变量指向段ramfuncs的装载地址的首地址(LOAD_ START为编译伪指令,请见CCS的帮助文档);
LOAD_ START(_RamfuncsLoadEnd)令编译器创建了一个变量RamfuncsLoadEnd,该变量指向段ramfuncs的装载地址的末地址(LOAD_ END为编译伪指令,请见CCS的帮助文档);
LOAD_ START(_RamfuncsRunStart)令编译器创建了一个变量RamfuncsRunStart,该变量指向段ramfuncs的运行地址的首地址(LOAD_ START为编译伪指令,请见CCS的帮助文档);
从第1和2行可以看出,段ramfuncs中的函数DSP28x_usDelay()的装载地址和运行地址是不同的,本程序中装载在Flash的块FLASHD中,而在SARAM L0中运行,这只是目标,实际运行时DSP并不会自动将Flash中的代码拷贝到SARAM中,因此需要手动添加代码来完成。
在C函数中,为了使用变量RamfuncsLoadStart、RamfuncsLoadEnd和RamfuncsRunStart,必须先声明,本工程在文件DSP2833x_GlobalPrototypes.h中做了如下声明:
extern Uint16 RamfuncsLoadS
extern Uint16 RamfuncsLoadE
extern Uint16 RamfuncsRunS
然后就可以使用了。在Main.c中,使用MemCopy()函数将段ramfuncs中的函数DSP28x_usDelay()的代码从装载地址RamfuncsLoadStart—RamfuncsLoadEnd拷贝到RamfuncsRunStart开始的SARAM空间中。之后在程序运行时,只要调用DSP28x_usDelay()函数,都会自动地指向SARAM中相应的函数入口地址,这一点是自动完成的。MemCopy()函数原型在MemCopy.c中,DSP2833x_GlobalPrototypes.h声明。
7.如何将一个函数放到ram中运行?
参考TI公司头文件中自带InitFlash函数,这些函数会以CODE_SECTION申明。如:#pragma
CODE_SECTION(InitFlash, &ramfuncs&);
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:73080次
积分:1132
积分:1132
排名:第18364名
原创:40篇
评论:16条
(1)(2)(7)(5)(1)(7)(1)(14)(1)(1)(1)(2)(2)(2) 下载
 收藏
本人收集整理和创作了大量的关于企业管理、公务员考试、资格考试、安全生产、工程建设、法律文献、大学论文、学术资料、高考中考、考研备战、司法考试、合同范本、法律文书、机械机电、总结材料、研究报告等一系列优
 下载此文档
正在努力加载中...
基于ARM9数字信道仿真器的主控板设计毕业论文
下载积分:50
内容提示:
文档格式:DOC|
浏览次数:1|
上传日期: 14:32:00|
文档星级:
该用户还上传了这些文档
基于ARM9数字信道仿真器的主控板设计毕业论文.DOC
官方公共微信基于Paradigm IDE开发PC104嵌入式系统的RAM配置方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
&&¥2.00
喜欢此文档的还喜欢
基于Paradigm IDE开发PC104嵌入式系统的RAM配置方法
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
STM32 在RAM 中调试的方法.pdf
下载积分:1000
内容提示:
文档格式:PDF|
浏览次数:44|
上传日期: 07:29:12|
文档星级:
该用户还上传了这些文档
STM32 在RAM 中调试的方法.pdf.PDF
官方公共微信TMPMATE系列仿真器_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
TMPMATE系列仿真器
T​M​P​M​A​T​E​系​列​仿​真​器
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢

我要回帖

更多关于 简述地质图的阅读步骤 的文章

 

随机推荐