TI中文支持网
TI专业的中文技术问题搜集分享网站

关于官方28335 Flash API例程问题

官方给出的flashAPI例程,里面做了一系列的演示;

但只是将API函数库中的所有API函数拷贝至内存运行、还有ramfuncs段放的函数拷贝至内存运行;

CMD如下:

Flash28_API:
{
-lFlash28335_API_V210.lib(.econst) -lFlash28335_API_V210.lib(.text)
} LOAD = FLASHA,
RUN = RAML0, LOAD_START(_Flash28_API_LoadStart),
LOAD_END(_Flash28_API_LoadEnd),
RUN_START(_Flash28_API_RunStart),
PAGE = 0

.cinit : > FLASHA, PAGE = 0
.pinit : > FLASHA, PAGE = 0
.text : > FLASHA, PAGE = 0
codestart : > BEGIN PAGE = 0
ramfuncs : LOAD = FLASHA,
RUN = RAML0, LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0

我的问题是:

1. 我根据项目需求改了例程,测试发现在仿真器中运行良好,程序能正常的烧写,但脱离仿真器就跑不起来了,调试发现一个局部数据里面的数据是错误的(但仿真器下是好的),这个数组就是API函数的一个参数,用来写入flash的。  所以我现在想把它改为全局数组,不知道可不可行?

2. 比如全局变量存于flashA(.cint)    API调用时不会出现问题吗?一个在flash里,一个在内存里;

3.  有必要把所有的工程内容(全局变量、所有API函数、普通函数)都放到内存吗? 

在线等待回复~

scott scott:

没人吗  给点力啊

官方给出的flashAPI例程,里面做了一系列的演示;

但只是将API函数库中的所有API函数拷贝至内存运行、还有ramfuncs段放的函数拷贝至内存运行;

CMD如下:

Flash28_API:
{
-lFlash28335_API_V210.lib(.econst) -lFlash28335_API_V210.lib(.text)
} LOAD = FLASHA,
RUN = RAML0, LOAD_START(_Flash28_API_LoadStart),
LOAD_END(_Flash28_API_LoadEnd),
RUN_START(_Flash28_API_RunStart),
PAGE = 0

.cinit : > FLASHA, PAGE = 0
.pinit : > FLASHA, PAGE = 0
.text : > FLASHA, PAGE = 0
codestart : > BEGIN PAGE = 0
ramfuncs : LOAD = FLASHA,
RUN = RAML0, LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0

我的问题是:

1. 我根据项目需求改了例程,测试发现在仿真器中运行良好,程序能正常的烧写,但脱离仿真器就跑不起来了,调试发现一个局部数据里面的数据是错误的(但仿真器下是好的),这个数组就是API函数的一个参数,用来写入flash的。  所以我现在想把它改为全局数组,不知道可不可行?

2. 比如全局变量存于flashA(.cint)    API调用时不会出现问题吗?一个在flash里,一个在内存里;

3.  有必要把所有的工程内容(全局变量、所有API函数、普通函数)都放到内存吗? 

在线等待回复~

xiansheng yang1:

回复 scott scott:

你好,你的28335在线升级解决了吗

官方给出的flashAPI例程,里面做了一系列的演示;

但只是将API函数库中的所有API函数拷贝至内存运行、还有ramfuncs段放的函数拷贝至内存运行;

CMD如下:

Flash28_API:
{
-lFlash28335_API_V210.lib(.econst) -lFlash28335_API_V210.lib(.text)
} LOAD = FLASHA,
RUN = RAML0, LOAD_START(_Flash28_API_LoadStart),
LOAD_END(_Flash28_API_LoadEnd),
RUN_START(_Flash28_API_RunStart),
PAGE = 0

.cinit : > FLASHA, PAGE = 0
.pinit : > FLASHA, PAGE = 0
.text : > FLASHA, PAGE = 0
codestart : > BEGIN PAGE = 0
ramfuncs : LOAD = FLASHA,
RUN = RAML0, LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0

我的问题是:

1. 我根据项目需求改了例程,测试发现在仿真器中运行良好,程序能正常的烧写,但脱离仿真器就跑不起来了,调试发现一个局部数据里面的数据是错误的(但仿真器下是好的),这个数组就是API函数的一个参数,用来写入flash的。  所以我现在想把它改为全局数组,不知道可不可行?

2. 比如全局变量存于flashA(.cint)    API调用时不会出现问题吗?一个在flash里,一个在内存里;

3.  有必要把所有的工程内容(全局变量、所有API函数、普通函数)都放到内存吗? 

在线等待回复~

Xiaohuang Li:

所有可以用于运行的变量,函数都必须运行于SRAM 中;

赞(0)
未经允许不得转载:TI中文支持网 » 关于官方28335 Flash API例程问题
分享到: 更多 (0)