首页| 新闻|市场|专题|产品|日经电子|访谈|技术文章|解决方案|技术热点|新手园地|黄页|下载|展会|人才|博客
    
  首页 >> 论坛 » DSP技术专区 » DSP281X变量地址数组定位方法
版主: dsplover , deweiwang , CharllyT
 发表新贴 
 发表回复 
 DSP281X变量地址数组定位方法  发表于 2008-10-08 11:15:19 [您是本帖的第 70 位阅读者]     [1楼] 
呢称:gump
支柱会员

积 分 2983
注册2008-04-17
加我为好友
发 短 消 息
void FlashObj::ChipErase(void)

{

  Busy = true;

  FLASH[0x5555] = 0xaa; 

  FLASH[0x2AAA] = 0x55; 

  FLASH[0x5555] = 0x80;

  FLASH[0x5555] = 0xaa; 

  FLASH[0x2AAA] = 0x55; 

  FLASH[0x5555] = 0x10;

  Wait(FLASH[0x5555]);

  Busy = false;

}

在函数ChipErase中,Flash变量地址0x85555是用FLASH[0x5555]表达的.

这样用数组寻址比较直观~~~


实现方法如下:


1.在CMD文件中


MEMORY

{

PAGE 0:    /* Program Memory */


PAGE 1:    /* Data Memory */

   ERAM        : origin = 0x100000, length = 0x04000

   EFLASH      : origin = 0x080000, length = 0x10000

}


SECTIONS

{

   ERamRegsFile          : > ERAM,        PAGE = 1

   EFlashRegsFile        : > EFLASH,      PAGE = 1

}


2.在C/C++文件中

#pragma DATA_SECTION("ERamRegsFile")

volatile unsigned int RAM[0x4000];


#pragma DATA_SECTION("EFlashRegsFile")

volatile unsigned int FLASH[0x10000];


3.在应用程序中

extern unsigned int RAM[];

extern unsigned int FLASH[];


 
共1条 1/1 1   
   快速回复主题
  用户名: 匿名不能发帖!请先 [ 登陆 ]
  标 题:
  内 容:
 
  Copyright(C)2008 Electronic Design & Application World All rights reserved.  《电子设计应用》杂志社 版权所有
联系电话:(86)10-66421136 66421836 66423836   传真:(86)10-66423936   京ICP备05012822号