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.

[参考译文] MSP430FR2476:存储器分配问题 MSP430

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/845439/msp430fr2476-memory-allocation-problem-msp430

器件型号:MSP430FR2476

您好!

当我使用内存分配时、MSP430FR2476有问题。 我使用的是 IAR 7.12.4

基本上、"malloc()"函数不分配内存。 我执行了一个测试程序、并注意到矢量的第一个和第二个位置的值没有收到正确的无效值、如下图所示:

我已经尝试在编译器设置上设置堆大小、如下所示:

我尝试在链接器文件上设置堆大小、但结果相同。 如果我更改"p"的类型或在堆大小上设置0、则向量不会接收任何值。

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

    作为内存地址的值0是否对您很有趣?

    malloc()调用失败并返回 NULL 指针。 地址0甚至可能不是 RAM。

    在使用 malloc()返回值之前,请始终选中它。

    很抱歉,我不能告诉您*为什么*它失败了。

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

    你好、Yuri、

    我不建议使用栈大小为0的栈。 此外、如上面链接的原始问题线程中所述、像 MSP430这样的小型嵌入式系统不应使用动态内存分配、我建议您尽量避免使用动态内存分配。 相反、只需在 RAM 或闪存中使用数组即可。

    CCS/MSP430F5529:如何写入 MSP430上的堆

    此致、

    James