这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 2407c,flash 2407c语言:怎样将程序存储器flash存储中的数据赋

共2条 1/1 1 跳转至

2407c,flash 2407c语言:怎样将程序存储器flash存储中的数据赋给一整型变量

院士
2006-09-17 18:14:16     打赏
2407c,flash 2407c语言:怎样将程序存储器flash存储中的数据赋给一整型变量



关键词: 2407c     flash     语言     怎样     程序     存储器         

院士
2006-12-22 22:43:00     打赏
2楼
问 程序如下:
cmd
MEMORY
{
PAGE 0 :  VECS    : origin =    0h , length = 40h  /*  程序复位 */
          PVECS    : origin =   40h , length = 100h            PROG    : origin =  150h , length = 2000h              STABLE: origin = 2f00h , length = 1000h   
PAGE 1 :  MMRS    : origin =    0h , length =   05Fh              B2    : origin = 0060h , length =   020h              B0    : origin = 0200h , length =   100h               B1    : origin = 0300h , length =   400h                   SARAM : origin = 0800h , length =  0800h        
               EXT: origin = 8000h , length =  8000h     

SECTIONS
{
    .reset   : { } > VECS   PAGE 0     /* 复位中断向量表 */
    .vectors : { } > VECS   PAGE 0    /* 中断向量表 */
    .pvecs   : { } > PVECS  PAGE 0    /* 外围模块中断向量表     */
    .text    : { } > PROG   PAGE 0    /* 代码 */
    .cinit   : { } > PROG   PAGE 0           
    .const   : { } > STABLE PAGE 0   
    .bss     : { } > SARAM  PAGE 1    /* 块 B2 */
    .stack   : { } > B1        PAGE 1    /* 堆栈-40个单元 */
}


程序中对数据的定义如下:
const int sin[300][10]={{12288,12303,12318,12332,12347,12362,12376,12391,12405,12420}....;
const int *p;  
int comp=0;

p=&sin[0][0];对数组中元素地址的读取是对的,
comp=sin[0][0];但是读取数组中的元素值就不能成功,如果单步走的话返回的是该元素的地址值,如果直接运行,程序就跑飞

请教用怎样的语句才能把flash中数组的元素值赋给变量comp?
ps:由于特殊要求只能把数组放在程序存储器,而不能放在数据存储器的片外RAM





1: const不是这么用的…… 2: FLASH中CONST的用法      .const :  load = PROG  PAGE 0, run = DATA PAGE 1
           {
             __const_run = .;
             *(.c_mark)
             *(.const)
               __const_length = . - __const_run;
           }

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]