教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

DSP2812 FLASH烧写

来源:网络收集 时间:2026-01-31
导读: 1. 一定要下载最新的FLASH烧写插件,可以避免很多奇怪的错误出现,这一点非常重要,本人就是在此问题困扰了一整天。 名称是: C2000-2[1][1].00-SA-to-UA-TI-FLASH2X.EXE 我使用的产品版本号为2.02.001 2. 下载烧写FLASH配套CMD文件、LIB文件以及起始代码asm

1. 一定要下载最新的FLASH烧写插件,可以避免很多奇怪的错误出现,这一点非常重要,本人就是在此问题困扰了一整天。 名称是:

C2000-2[1][1].00-SA-to-UA-TI-FLASH2X.EXE 我使用的产品版本号为2.02.001

2. 下载烧写FLASH配套CMD文件、LIB文件以及起始代码asm文件。 CMD文件名称:DSP281x_Headers_nonBIOS.cmd CMD文件名称:F2812.cmd LIB文件名称:rts2800_ml.lib

ASM文件名称:DSP281x_CodeStartBranch.asm 另外在RAM调试时用以下两个文件: F2812_EzDSP_RAM_lnk.cmd DSP281x_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, \

另外,许多朋友没有注意需要定义自己其他子程序,导致最终运行的主程序还是在FLASH中,比如你需要运行的子程序ABC,则需要定义#pragma CODE_SECTION(ABC, \

烧写成功后的注意事项:

1. 一定要拔除仿真器(JTAG端),给电路板重新上电,方能实现FLASH启动。

2. 注意MP/MC引脚的电压。0为方式MC来作为计算机模式启动,3.3V为方式MP作为微处理器模式启动。

3. 由于GPIO引脚的F4F12F3F2决定了DSP2812的启动顺序,而从FLASH必须要在F4(SCITXDA)为1,而F12F3F2随意的状态下启动。请大家启动前确认F4引脚电压。

/*

// TI File $Revision: /main/4 $

// Checkin $Date: July 9, 2009 17:39:29 $

//########################################################################### //

// FILE: DSP281x_Headers_nonBIOS.cmd //

// TITLE: DSP281x Peripheral registers linker command file //

// DESCRIPTION: //

// This file is for use in Non-BIOS applications. //

// Linker command file to place the peripheral structures // used within the DSP28 headerfiles into the correct memory // mapped locations. //

// This version of the file includes the PieVectorTable structure.

// For BIOS applications, please use the DSP281x_Headers_BIOS.cmd file // which does not include the PieVectorTable structure. //

//###########################################################################

// $TI Release: DSP281x C/C++ Header Files V1.20 $ // $Release Date: July 27, 2009 $

//########################################################################### */

MEMORY {

PAGE 0: /* Program Memory */

PAGE 1: /* Data Memory */

DEV_EMU : origin = 0x000880, length = 0x000180 /* device emulation registers */

PIE_VECT : origin = 0x000D00, length = 0x000100 /* PIE Vector Table */ FLASH_REGS : origin = 0x000A80, length = 0x000060 /* FLASH registers */

CSM : origin = 0x000AE0, length = 0x000010 /* code security module registers */

XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */ CPU_TIMER0 : origin = 0x000C00, length = 0x000008 /* CPU Timer0 registers */ CPU_TIMER1 : origin = 0x000C08, length = 0x000008 /* CPU Timer1 registers */ CPU_TIMER2 : origin = 0x000C10, length = 0x000008 /* CPU Timer2 registers */ PIE_CTRL : origin = 0x000CE0, length = 0x000020 /* PIE control registers */

ECANA : origin = 0x006000, length = 0x000040 /* eCAN control and status registers */

ECANA_LAM : origin = 0x006040, length = 0x000040 /* eCAN local acceptance masks */

ECANA_MOTS : origin = 0x006080, length = 0x000040 /* eCAN message object time stamps */

ECANA_MOTO : origin = 0x0060C0, length = 0x000040 /* eCAN object time-out registers */

ECANA_MBOX : origin = 0x006100, length = 0x000100 /* eCAN mailboxes */ SYSTEM : origin = 0x007010, length = 0x000020 /* System control registers */ SPIA : origin = 0x007040, length = 0x000010 /* SPI registers */ SCIA : origin = 0x007050, length = 0x000010 /* SCI-A registers */

XINTRUPT : origin = 0x007070, length = 0x000010 /* external interrupt registers */

GPIOMUX : origin = 0x0070C0, length = 0x000020 /* GPIO mux registers */ GPIODAT : origin = 0x0070E0, length = 0x000020 /* GPIO data registers */ ADC : origin = 0x007100, length = 0x000020 /* ADC registers */

EVA : origin = 0x007400, length = 0x000040 /* Event Manager A registers */ EVB : origin = 0x007500, length = 0x000040 /* Event Manager B registers */ SCIB : origin = 0x007750, length = 0x000010 /* SCI-B registers */ MCBSPA : origin = 0x007800, length = 0x000040 /* McBSP registers */

CSM_PWL : origin = 0x3F7FF8, length = 0x000008 /* Part of FLASHA. CSM

password locations. */ }

SECTIONS {

PieVectTableFile : > PIE_VECT, PAGE = 1

/*** Peripheral Frame 0 Register Structures ***/

DevEmuRegsFile : > DEV_EMU, PAGE = 1 FlashRegsFile : > FLASH_REGS, PAGE = 1 CsmRegsFile …… 此处隐藏:5517字,全部文档内容请下载后查看。喜欢就下载吧 ……

DSP2812 FLASH烧写.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/412126.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)