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.

[参考译文] RTOS/TM4C123GH6PM:错误#10099-D:程序不能放入可用内存中

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/597405/rtos-tm4c123gh6pm-error-10099-d-program-will-not-fit-into-available-memory

器件型号:TM4C123GH6PM

工具/软件:TI-RTOS

我尝试使用 UART 连接到 Putty、我使用 CCS7.0.0

控制台显示以下错误

"./EK_TM4C123GXL.cmd"、第66行:错误#10099-D:程序将无法装入可用内存。 对齐方式对齐方式运行的位置失败,对于".VTABLE "大小为0x26c,与".vecs"重叠,大小为0x360 (第0页)

错误#10010:链接期间遇到错误;未构建"P2_Putty.out"

我认为我的头文件有一些问题、 如果我包含 #include "inc/tm4c123ghp6.h"、它将显示72个警告。

请帮助我检查问题所在、谢谢!

该项目附于下文

e2e.ti.com/.../Tiva_5F00_Uart.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题是您的链接命令文件试图将.vtable 放置在地址0x2000000、并且文件"empty_pem4f"中的.vecs 段也被强制设置为地址0x20000000。 我看不到 TI-RTOS 示例中使用的.vtable。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Ben、

    看起来您实际上只是在使用 driverlib 调用(没关系)。 为什么要使用 RTOS? 如果您想使用 RTOS、我首先要提供 TI-RTOS 示例、而不是添加到现有的 driverlib 示例中。 例如、您可以在 TI-RTOS 中使用 UART 驱动程序、而不是使用 driverlib API。 注意:矢量表由 TI-RTOS 和驱动程序(例如、ti/drivers/UART)管理、因此您不必担心。

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

    我从 TI-RTOS 示例开始。 TI-RTOS 中的 UART 驱动程序是什么意思? 这是"#include "utils/uartstdio.h"吗?  

    这与我的错误有何关系?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何在代码中修复此问题? 此错误是否由我的头文件引起?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我是否应该从 cmd 文件中删除“.vtable :>0x20000000”?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您想使用 TI-RTOS、我将从 UART Echo 示例开始。 使其运行、然后根据需要进行修改。 此示例将包含正确的链接器文件、并向您展示如何使用 TI-RTOS UART 驱动程序。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。