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.

[参考译文] CCS/TMS320F2.8377万S:对技术参考中DCSM的示例代码存在疑问

Guru**** 2484615 points
Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/656682/ccs-tms320f28377s-doubt-regarding-an-example-code-for-dcsm-found-in-technical-reference

部件号:TMS320F2.8377万S
主题中讨论的其他部件:C2000WARE

工具/软件:Code Composer Studio

我在技术参考手册中找到了用于查找区域选择块起始地址的示例代码

无符号长LinkPointer;
unsigned long *Zone1SelBlockPtr;
Int Bitpos = 28;
Int ZeroFound = 0;
//读取DCSM模块的Z1-Linkpointer寄存器。
LinkPointer =*(unsigned long *) 0x5F000;
//位31 30和29作为最具签名的0是保留的LinkPointer选项
LinkPointer = LinkPointer << 2;

While ((ZeroFound == 0)&&(位数>-1))

如果(LinkPointer和0x8000万)== 0)

ZeroFound = 1;
Zone1SelBlockPtr =(无符号长*)(0x7.8万 +((位数+ 3)*16));
}否则

比特位--;
LinkPointer = LinkPointer <<1;
}
}
IF (零环绕== 0)

//如果没有找到零,则为默认值。
Zone1SelBlockPtr =(unsigned long *) 0x7.802万;

如果我在扫描链接指针时跳过3位((即) 31,30,29),则此片段的粗体行不应该是LinkPointer=LinkPointer<3。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Deepak,您好!

    是的,您的选择是正确的,TRM中的代码片段需要更新。

    它应该是  LinkPointer=LinkPointer<3.

    请使用c2000ware的代码库。

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Deepak您好!

    感谢您 指出这一点。 我们已处理了不存在此问题的问题,并将在下一版本的文档中更正此问题。 CCS凝胶文件也包含此信息,如有需要,您可以参考。

    此致,

    Vivek Singh