打印

DSP281X变量地址数组定位方法

[复制链接]
2709|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotpower|  楼主 | 2008-5-5 23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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[];


相关链接:https://bbs.21ic.com/club/bbs/list.asp?boardid=10&t=2928989

相关帖子

沙发
hotpower|  楼主 | 2008-5-6 00:50 | 只看该作者

哈哈~~~不知有人用过此法玩过???俺觉得这种方法很潇洒~~~

哈哈~~~在此申请俺的第118条裤子~~~


相关链接:https://bbs.21ic.com/club/bbs/ViewUserEssence.asp?name=hotpower

使用特权

评论回复
板凳
hotpower|  楼主 | 2008-5-6 01:04 | 只看该作者

哈哈~~~如果有人玩过俺就不申请第118条裤子了~~~

使用特权

评论回复
地板
xwj| | 2008-5-6 01:11 | 只看该作者

哇,这么多裤子啊?看来老hot要裸奔一次还真不容易啊~~~哟

使用特权

评论回复
5
hotpower|  楼主 | 2008-5-6 01:12 | 只看该作者

哈哈~~~想纪念以下118~~~

哈哈~~~俺的裤子基本不含水~~~

使用特权

评论回复
6
hotpower|  楼主 | 2008-5-8 15:07 | 只看该作者

哈哈~~~此帖不要裤子了~~~只可惜俺这美妙之法了~~~不知老外

使用特权

评论回复
7
avocationA| | 2008-5-10 17:13 | 只看该作者

看到金山词霸了呵呵!!!!!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1538

主题

21697

帖子

506

粉丝