如题,我参考了一下 c28x digital power library这个文档,我的板子是f28m35,里面是Solar_HV_DCAC的程序。我现在想写一个类似CNTL_2P2Z的宏,首先写了一个CNTL_FDB.asm, c28.c里的程序在以下几处也改动了
// CONTROL_FDB
extern volatile long *CNTL_FDB_Ref2; // instance #1
extern volatile long *CNTL_FDB_Out2; // instance #1
extern volatile long *CNTL_FDB_Fdbk2; // instance #1
extern volatile long *CNTL_FDB_Coef2; // instance #1
extern volatile long CNTL_FDB_DBUFF2[5];
#pragma DATA_SECTION(CNTL_FDB_CoefStruct2, "CNTL_FDB_Coef"); //这个是不是还要改别的文件?
struct CNTL_FDB_CoefStruct CNTL_FDB_CoefStruct2;
//Current loop
CNTL_FDB_Ref2 = &dwInv_Curr_Ref;
CNTL_FDB_Out2 = &dwInv_Curr_LoopOut;
CNTL_FDB_Fdbk2 = &dwInv_Current_1;
CNTL_FDB_Coef2 = &CNTL_FDB_CoefStruct2.b2;
系数的结构和定义我就没放,那部分应该没问题,按着CNTL_2P2Z弄得
然后,我又改了ISM文件,首先加了一句就有错(下面这句),说unexpected trailing,我不知道是不是哪我没定义好,还是需要include什么?
.include "CNTL_FDB.asm"
最后,我想问一下,是不是c28.cmd文件也要改,可以指导一下原则吗? 写一个类似的CNTLFDBRAM : origin = ?, length = 0x000030,dataRAM 的起点可以改的靠后些吗,然后我能加上我的这个。
PAGE 0: /* Program Memory */
/* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */
RAML0 : origin = 0x008000, length = 0x001000 /* on-chip RAM block L0 */
/*RAML1 : origin = 0x009000, length = 0x001000 on-chip RAM block L1 */
ADCDRVRAM : origin = 0x009000, length = 0x000020
PFCICMDRAM : origin = 0x009020, length = 0x000020
GENSINCOS : origin = 0x009040, length = 0x000020
PWMDRVRAM : origin = 0x009060, length = 0x000020
CNTL2P2ZRAM : origin = 0x009080, length = 0x000030
dataRAM1 : origin = 0x0090b0, length = 0x000010
CNTL2P2ZBUFF : origin = 0x0090c0, length = 0x000030
DLOG : origin = 0x009100, length = 0x000020
dataRAM : origin = 0x009120, length = 0x000ee0