工具/软件:Code Composer Studio
尊敬的团队
我的一位客户 一直在为不同的水表项目使用 MSP430FR6972。 他们对 FR6972上的代码保护有一些疑问。 他们还希望获取用于代码保护的示例代码。 请检查以下问题并在可能的情况下提供反馈吗?
我们有关于 CCS v8.0.0和 MSP430FR6972的一些问题。
1 -当项目中启用 JTAG 密码和 IPE 时、首次编程尝试会产生错误、如下所示。 第二次编程尝试成功、但下一次编程尝试再次失败。 因此、即使是尝试编程的次数也是成功的。 为什么奇数的编程尝试失败?
MSP430:文件加载器:验证失败:地址0x04800处的值不匹配请验证目标存储器和存储器映射。
MSP430:GEL:文件:C:\Users\...\Debug\project.out:发生数据验证错误、文件加载失败。
2- slaa685表示向量表可以用作 JTAG 密码。 如果我们使用超过30个字的 JTAG 密码、则在到达矢量表末尾之前会给出如下所示的错误。 是否有任何文档显示了 MCU 支持的最大 JTAG 密码长度?
MSP430:连接到目标时出错:提供的密码超出当前器件支持的最大长度。
3 -如果 JTAG 密码的长度为2个字、那么换句话说、无需在 CCS 中更改 JTAG 密码就没有问题。 如果 JTAG 密码长度为30个字、则第一次编程尝试失败、当密码从 CCS 中删除时、第二次编程尝试成功。 如果 JTAG 密码的长度为30个字、我们为什么要在 CCS 中为每次编程写入和删除 JTAG 密码?
4 -如果 IPE 函数刚刚被非 IPE 中断调用、则该函数应位于何处、IPE 函数区域或 IPE 中断区域? 换句话说、以下哪些 pragma 是正确的? 此外、如果此 IPE 函数具有子 IPE 函数、同一 pragma 是否也正确?
#pragma CODE_SECTION (ipeFunctionJustCa
LledByNonIPeISR、".IPE")
#pragma CODE_SECTION (ipeFunctionJustCalledByNonIPISR、".IPE:_ISR")
#pragma CODE_SECTION (ipeFunctionJustCalledByIPISR、".IPE")
#pragma CODE_SECTION (ipeFunctionJustCalledByIPISR、".IPE:_ISR")
5 -所有函数和所有变量都位于 IPE 区域中是否正常? 如果是、是否可以选择将所有工程都放在 IPE 区域中、而不是将每个函数和每个变量都告知该区域?
6 -为什么"启用实时模式"为被动模式、换句话说、我们为什么不能在 MSP430FR6972的 CCS v8.0.0中启用它? 我们如何在不重置正在运行的器件的情况下对其进行调试?
对于使用 CCS v8.0.0和 MSP430FR6972的静态库工程、我们有一些问题。
1- IPE 将在静态库项目和主项目中使用。 我们应该为静态库工程和主工程或仅为主工程在工程属性中启用 IPE 吗?
2-为静态库工程选择调试或发布配置和优化级别是否重要? 换句话说、*。lib 文件是否使用主工程的工程属性?
3-除下面的 wiki 之外、是否有关于 MSP430静态库项目的任何文档?
http://processors.wiki.ti.com/index.php/Creating_Library_for_MSP430_Project_using_CCS_v5#Creating_Static_Library_Code
此致