DSP2812学习笔记-Flash固化操作

这篇博客介绍了如何使用CCS3.3在DSP2812上进行Flash固化操作,包括工程配置、CMD文件编写、起始代码添加、C文件修改以及烧写步骤。还提到了注意事项,如拔除仿真器、设置启动模式和GPIO状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DSPFlashLED以CCS3.3版本为例,介绍下关于DSP2812固化烧写的过程。

1.保证工程在RAM中调试完成;

2.配置好Flash.cmd文件,并加入工程;(CMD文件编写参考 ,Flash.cmd代码见附录1)

3.加入起始代码asm文件DSP281x_CodeStartBranch.asm;

4.配置C文件,并将初始化FLASH中的代码拷贝到RAM中运行;(C文件配置见附录2)

5.重新编译工程;

6.选择工具栏 Tools--F28xx On--Chip Flash Programmer,打开烧写工具,设置相关配置。

  (1)首先设置 Clock configuration ,输入30,意思是晶振频率为30M,PLLCR 根据工程内的实际配置进行选择,一般为10,系统时钟SYSCLKOUT此时为150M;

  (2)单击Flash Programmer Settings.选择设备 F2812,Selectversion to flash API 选择 FlashAPI-Interface2812V2_10.out.配置完成单机OK。

7.单击Execute Operation 开始烧写,烧写成功,断开仿真器,断电重启测试。

注意事项:

1. 一定要拔除仿真器(JTAG端),给电路板重新上电,方能实现FLASH启动。
2. 注意MP/MC引脚的电压。0为方式MC来作为计算机模式启动,3.3V为方式MP作为微处理器模式启动。
3. 由于GPIO引脚的F4F12F3F2决定了DSP2812的启动顺序,而从FLASH必须要在F4SCITXDA)为1,而F12F3F2随意的状态下启动。请大家启动前确认F4引脚电压。

附录1:

Flash_Link.cmd
  1 /*------------------------------------------*/
  2 /*描述:通过MEMORY伪指令来指示存储空间       */
  3 /*------------------------------------------*/
  4   
  5 MEMORY      /* Program Memory */
  6 {
  7 PAGE 0 :
  8    FLASH      : origin = 0x3D8000, length = 0x01FF80 /* on-chip FLASH */
  9    BEGIN      : origin = 0x3F7FF6, length = 0x000002
 10    ROM        : origin = 0x3FF000, length = 0x000FC0
 11    RESET      : origin = 0x3FFFC0, length = 0x000002
 12    
 13    VECTORS    : origin = 0x3FFFC2, length = 0x00003E /* part of Boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */
 14    RAML0      : origin = 0x008000, length = 0x001000    
 15                           
 16 PAGE 1 : 
 17    RAMM0      : origin = 0x000000, length = 0x000400     /* on-chip RAM block M0 */
 18    RAMM1      : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
 19    RAML1      : origin = 0x009000, length = 0x001000     /* on-chip RAM block L1 */
 20    RAMH0      : origin = 0x3F8000, length = 0x002000     /* on-chip RAM block H0 */
 21    
 22    DEV_EMU    : origin = 0x000880, length = 0x000180     /* device emulation registers */
 23    PIE_VECT   : origin = 0x000D00, length = 0x000100     /* PIE Vector Table */
 24    FLASH_REGS : origin = 0x000A80, length = 0x000060     /* FLASH registers */
 25    CSM        : origin = 0x000AE0, length = 0x000010     /* code security module registers */
 26    XINTF      : origin = 0x000B20, length = 0x000020     /* external interface registers */
 27    CPU_TIMER0 : origin = 0x000C00, length = 0x000008     /* CPU Timer0 registers */
 28    CPU_TIMER1 : origin = 0x000C08, length = 0x000008     /* CPU Timer1 registers */
 29    CPU_TIMER2 : origin = 0x000C10, length = 0x000008     /* CPU Timer2 registers */
 30    PIE_CTRL   : origin = 0x000CE0, length = 0x000020     /* PIE control registers */
 31    ECANA      : origin = 0x006000, length = 0x000040     /* eCAN control and status registers */ 
 32    ECANA_LAM  : origin = 0x006040, length = 0x000040     /* eCAN local acceptance masks */
 33    ECANA_MOTS : origin = 0x006080, length = 0x000040     /* eCAN message object time stamps */
 34    ECANA_MOTO : origin = 0x0060C0, length = 0x000040     /* eCAN object time-out registers */
 35    ECANA_MBOX : origin = 0x006100, length = 0x000100     /* eCAN mailboxes */
 36    SYSTEM     : origin = 0x007010, length = 0x000020     /* System control registers */
 37    SPIA       : origin = 0x007040, length = 0x000010     /* SPI registers */
 38    SCIA       : origin = 0x007050, length = 0x000010     /* SCI-A registers */
 39    XINTRUPT   : origin = 0x007070, length = 0x000010     /* external interrupt registers */
 40    GPIOMUX    : origin = 0x0070C0, length = 0x000020     /* GPIO mux registers */
 41    GPIODAT    : origin = 0x0070E0, length = 0x000020     /* GPIO data registers */
 42    ADC        : origin = 0x007100, length = 0x000020     /* 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值