This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28335: 关于外扩SRAM写数据后数据跳变的问题及SRAM赋值不成功的问题

Part Number: TMS320F28335

我使用是是普中科技的28335开发板。因为要存储数组数据,所以外扩了SRAM。定义了ZONE7区域,并将数组变量指定存储到该区域。在定时器中断程序中给该变量赋值,但是在Expression中观察,赋值过后的变量值仍然会跳变,而且在memory browser中观察该值,好像并没有赋值成功。以下是相关程序及截图:

图一CpuTimer0.InterruptCount已经超过了数组的范围,然后y_out数据发生了跳变(黄色就代表发生了变化)。(已经排除了外部SRAM地址线和数据线与其他功能项接口复用的问题)

图二在memory browser中观察y_out数据空间,但是并没有值被赋值进来?

图三我给u_ff初始化赋值,但是并没有赋值成功,应该怎么初始化赋值呢?

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//=============================
// ----------- time.c----------------
#pragma DATA_SECTION(y_out,"ZONE7DATA");
volatile float y_out[80000] = {0.0};
#pragma DATA_SECTION(u_ff,"ZONE7DATA");
volatile float u_ff[80000] = {
{0},
{-5.48168582231433},
{-28.0960788724069},
{-33.2755709254560},
{-28.4364523855368}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX