- 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烧写DSPf2812程序必读经验
DSP2812_FLASH烧写成功经验总结? ? ? 初次接触DSP2812的FLASH烧写,在“成功”锁死2块DSP2812和处理了一堆报错后,终于烧写成功。在此过程中在HELLODSP论坛中看到很多朋友也遇到过与我类似的问题,为了让更多的新手朋友少走弯路,将我4天折磨的烧写过程经验与大家分享,本人菜鸟初学,有错误之处,敬请指教。? ? ?其中CMD\LIB\ASM文件,我都是在一个同事给北京瑞泰开发板给的例程中找到,大家可以参照。1.? ? ?一定要下载最新的FLASH烧写插件,可以避免很多奇怪的错误出现,这一点非常重要,本人就是在此问题困扰了一整天。名称是:C2000-2[1][1].00-SA-to-UA-TI-FLASH2X.EXE我使用的产品版本号为2.02.0012.? ? ?下载烧写FLASH配套CMD文件、LIB文件以及起始代码asm文件。CMD文件名称:DSP281x_Headers_nonBIOS.cmdCMD文件名称:F2812.cmdLIB文件名称:rts2800_ml.libASM文件名称:DSP281x_CodeStartBranch.asm另外在RAM调试时用以下两个文件:F2812_EzDSP_RAM_lnk.cmdDSP281x_Headers_nonBIOS.cmd附件给出了2个CMD文件、ASM文件、LIB文件以及C文件。其中C文件仅仅作为大家参考。3.? ? ?配置C文件配置好主程序的C文件,才能将FLASH成功烧录,并且将FLASH中的文件拷贝到RAM中运行。关于C文件的配置。首先在F2812.CMD文件中,我们可以看到有关于加载FLASH到RAM的内容:?ramfuncs? ?? ?? ?? ?: LOAD = FLASHD, ? ?? ?? ?? ?? ?? ?? ?? ? RUN = RAML0, ? ?? ?? ?? ?? ?? ?? ?? ? LOAD_START(_RamfuncsLoadStart),? ?? ?? ?? ?? ?? ?? ?? ? LOAD_END(_RamfuncsLoadEnd),? ?? ?? ?? ?? ?? ?? ?? ? RUN_START(_RamfuncsRunStart),? ?? ?? ?? ?? ?? ?? ?? ? PAGE = 0以及在C文件中调用FLASH 到RAM的函数memcpy,将它放在系统初始化(InitSystem();)之后即可:InitSystem();memcpy(RamfuncsRunStart,? ? ? ? ? ? ? ? RamfuncsLoadStart,? ? ? ? ? ? ? ? RamfuncsLoadEnd - RamfuncsLoadStart);Initflash();所以,我们需要定义所用变量:extern Uint16 RamfuncsLoadStart;extern Uint16 RamfuncsLoadEnd;extern Uint16 RamfuncsRunStart;我的这些定义都是:DSP281x_GlobalPrototypes.h 当中,当然,也可以放在其他系统初始化的地方。Memcpy这个函数应该是rts2800_ml.lib库文件中自带的,不需要我们定义。关于FLASH的初始化配置Initflash();我把它放置在Memcpy函数之后。关于ramfuncs,则在系统初始化中定义即可。如:sysctrl.c中#pragma CODE_SECTION(InitFlash, ramfuncs);另外,许多朋友没有注意需要定义自己其他子程序,导致最终运行的主程序还是在FLASH中,比如你需要运行的子程序ABC,则需要定义#pragma CODE_SECTION(ABC, ramfuncs)烧写成功后的注意事项:1.一定要拔除仿真器(JTAG端),给电路板重新上电,方能实现FLASH启动。2.注意MP/MC引脚的电压。0为方式MC来作为计算机模式启动,3.3V为方式MP作为微处理器模式启动。3.由于GPIO引脚的F4\F12\F3\F2决定了DSP2812的启动顺序,而从FLASH必须要在F4(SCITXDA)为1,而F12\F3\F2随意的状态下启动。请大家启动前确认F4引脚电压。另外:对于在汇编程序的FLASH烧写,我有同事正在做,到时候整明白了,一起放上来给大家。错误之处,各位GGMM请多指教。
您可能关注的文档
最近下载
- 邮储银行柜员培训课件.pptx VIP
- 2025年浙能集团甘肃有限公司、新能源项目(第二批)招聘17人笔试备考题库及答案解析.docx VIP
- 通威新员工入职培训第一次考试.docx VIP
- 2025广西专业技术人员公需科目培训考试答案(87分);广西“一区两地一园一通道”建设;人工智能时代(1).pdf VIP
- 入学证明怎么写(模板).docx VIP
- GBT 11345-2023 焊缝无损检测 超声检测 技术、检测等级和评定.pdf VIP
- 2025年浙能集团甘肃有限公司、新能源项目(第二批)招聘17人笔试参考题库附答案解析.docx VIP
- 解读《GB_T 44770-2024智能火电厂技术要求》全面解读.docx VIP
- 西安研学旅行策划书3篇.pdf VIP
- 建筑工程识图课件-建筑识图与构造课件.ppt VIP
文档评论(0)