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.

[参考译文] MSP430F5659:面临恒定存储器大小的问题。 如何增加它。 它是否需要链接器更改或任何 IAR 设置?

Guru**** 2538950 points
Other Parts Discussed in Thread: MSP430F5659

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/756527/msp430f5659-facing-an-issue-with-constant-memory-size-how-to-increase-it-does-it-required-linker-change-or-any-iar-settings

器件型号:MSP430F5659

大家好、

我们正在使用 IAR IDE 开发 MSP430F5659。

作为产品要求、我们有一个 LCD、一些常量数据用于在 LCD 上显示数据。

当我们添加几个新菜单时、会出现编译器错误。

当查看映射文件时、发现它占用了超过31K 的常量数据。 如果将来根据需要、我们可能会添加几个屏幕、并且此数据可能会增加。

我们所了解的是、CODE16存储器范围为8000–FF7F、因为它会增大此大小、从而导致编译器错误。

是否需要更改链接器文件/设置 以支持更多常量数据而不影响其他数据。

我们在联系您之前开展的活动

修改了链接器页面数据  

//常量数据

-Z (const) DATA16_C、DATA16_ID、TLS16_ID、DIFUNCT、校验和=8000 - FF7F

更改为

-Z (const) DATA16_C、DATA16_ID、TLS16_ID、DIFUNCT、CHECKSUM_8000-FF7F、10040-87FFF

//代码  

-Z (代码) CSTRT、ISR_code、CODE16=8000-FF7F

更改为  

-Z (代码) CSTART、ISR_code、CODE16=8000-FF7F、10040-87FFF

2.在 IAR 设置-常规选项-目标中将数据模型从"小"更改为"中/高"。

使用第二个选项、我们可以编译代码、但代码不起作用。

请帮帮我们。

谢谢、

Krishna

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

    您需要将存储器模型切换为"大"、以便链接器可以使用完整的存储器地址。 您可能还需要返回默认链接器文件、以便 IAR CNA 能够适当地链接内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jace:

    我们根据您的建议将数据模型从小到大(请参阅随附的 SystemModel1.jpeg)、并且还使用了默认链接器文件。 我们能够在目标板上编译和解码代码、但与小型数据模型相比、系统性能不能达到标准。

    我们必须采取哪些预防措施来提高系统性能?

    请告诉我。

    谢谢、

    Krishna

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

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

    尊敬的 Jace:

    我们在 LCD 上执行了一些任务、下面共享了观察结果、请参阅 DataModel_large.mp4、 DataModel_Small.mp4.e2e.ti.com/.../DataModel_5F00_Large.mp4e2e.ti.com/.../DataModel_5F00_Small.mp4

    谢谢、

    Krishna

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

    使用存储器的上部需要额外的周期来处理扩展存储器寻址。 (每条指令最多2-4个额外周期、具体取决于指令。) 尝试在 IDE 中向上执行优化设置以实现更快速的优化。 此外、您还可以提高 MCLK 速度。 除此之外、您还需要在代码中进行一些优化、以便更快地访问要显示的内容。