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/TM4C123GH6PGE:当我调用 GPIOIntRegister()时内存超过圈

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/579929/ccs-tm4c123gh6pge-memory-over-lap-when-i-call-gpiointregister

器件型号:TM4C123GH6PGE

工具/软件:Code Composer Studio

亲爱的支持者

我正在编码1个项目、遇到问题、源代码如下所示:

/* PORTJ 初始值*/
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOJ);
GPIOPinTypeGPIOInput (GPIO_PORTJ_BASE、GPIO_PIN_1_GPIO_PIN_2|GPIO_PIN_3);
GPIOIntEnable (GPIO_PORTJ_BASE、GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
GPIOIntTypeSet (GPIO_PORTJ_BASE、GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3、GPIO_RISE_EDGE);
GPIOIntRegister (GPIO_Porte _BASE、GPIOA_interrupts_Handler);
/*启用中断*/
IntEnable (INT_GPIOJ);

当我构建它时、错误:  


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

当我注释 GPIOIntRegister (GPIO_Porte _BASE、GPIOA_interrupts_Handler);-> Build OK ( GPIOA_interrupts_Handler()已定义)

我使用 BIOS_6_35_01_29、 Code Composer Studio 6.2.0、 xdctools_3_32_01_22_core、 TivaWare_C_Series-2.1.3.156、 tirtos_tivac_2_16_01_14

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

    我可以给一些光亮。  但我不能解释一切。

    当您的程序不调用 GPIOIntRegister 时、它很可能适合用于输出段.vtable 的任何存储器范围、但只适合于勉强。  当您添加一个附加函数调用时、您的程序会增长一点、现在它不适合。  我假设 GPIOIntRegister 来自某个库。  当您的程序未调用它时、它不包含在链接中。  当程序调用它时、链接器必须在.vtable 中再放置一个函数、并且空间不足。  

    我无法告诉您解决此问题的最佳方法。  为此、本主题将转至 TM4C 器件论坛。

    谢谢、此致、

    乔治

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

    问题是:

    Hwi 在0x20000000处创建.vecs

    文件 interrupts.c: #pragma DATA_SECTION (g_pfnRAMVectors、".vecs")

    在*。cmd 中、段中的 auto gen .vtable 为0x20000000

    FIX:转到*。cmd change name .vtable ->.vecs

    部分

    .intvecs:> app_base
    .text:> FLASH
    .const:> FLASH
    .cinit:>闪存
    .pinit:> FLASH
    init_array:> FLASH

    vecs:> RAM_base   (在此处更改)
    .data :> SRAM
    .bss:> SRAM
    .sysmem:> SRAM
    .stack:> SRAM

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    很高兴您的问题得到了解决。