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.
大家好、
在 TI 提供的数字控制示例中、代码使用数据记录器功能将控制器工作和系数存储到数组中、如下所示:
#define DATA_LENGTH 1601
//输入数据
#pragma DATA_SECTION (e_array、"PDataLogSection")
float e_array[data_length];
FDLOG eBuf = FDLOG_DEFAULTS;
//完整的控制器结果
#pragma DATA_SECTION (U1_array、"QDataLogSection")
float U1_array[data_length];
FDLOG u1Buf = FDLOG_DEFAULTS;
//预计算的控制器结果
#pragma DATA_SECTION (U2_array、"RDataLogSection")
float U2_array[data_length];
FDLOG u2Buf = FDLOG_DEFAULTS;
//控制器差异数据
#pragma DATA_SECTION (d_array、"SDataLogSection")
float d_array[data_length];
FDLOG dBuf = FDLOG_DEFAULTS;
如何知道特定处理器上的不同部分以及它们在每个处理器上的变化?
我们如何知道这些段是否已被用于存储代码的其他部分、以及我们如何知道将这些段设置为阵列存储是安全的?
最棒的
Joel
此外、必须更改链接器文件、以便将这些段分配给数组。
/*数据缓冲区*/
PDataLogSection:>RAML5,page = 1 align(2)
QDataLogSection:>RAML6,page = 1 align(2)
DataLogSection:>RAML7,page = 1 align(2)
DataLogSection:>RAML8,page = 1 align(2)
如果我为 F2837xD 处理器使用默认链接器文件、那么将这些行粘贴到链接器命令文件段区域中、将存储器专用于它们是简单吗?还是更复杂?
我假设编译器会告诉我是否在链接器命令文件中有足够的空间、或者存储器是否已经包含代码/信息?