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编译TM4C微控制器bootloader时,出现警告,烧录bin文件后不能正常运行

Other Parts Discussed in Thread: TM4C1294KCPDT, EK-TM4C1294XL, LMFLASHPROGRAMMER

警报信息如下:

Description Resource Path Location Type
#10247-D creating output section ".cinit" without a SECTIONS specification tmIoT_boot C/C++ Problem

#10278-D LOAD placement specified for section ".text:decompress:none:rtsv7M4_T_le_v4SPD16_eabi.lib<copy_decompress_none.obj>". This section contains decompression routines required for linker generated copy tables and C/C++ auto-initialization. Must ensure that this section is copied to run address before the C/C++ boot code is executed or is placed with single allocation specifier (ex. "> MEMORY"). tmIoT_boot C/C++ Problem

#10278-D LOAD placement specified for section ".text:decompress:rle24:rtsv7M4_T_le_v4SPD16_eabi.lib<copy_decompress_rle.obj>". This section contains decompression routines required for linker generated copy tables and C/C++ auto-initialization. Must ensure that this section is copied to run address before the C/C++ boot code is executed or is placed with single allocation specifier (ex. "> MEMORY"). tmIoT_boot C/C++ Problem

#10278-D LOAD placement specified for section ".text:rtsv7M4_T_le_v4SPD16_eabi.lib<copy_decompress_rle.obj>". This section contains decompression routines required for linker generated copy tables and C/C++ auto-initialization. Must ensure that this section is copied to run address before the C/C++ boot code is executed or is placed with single allocation specifier (ex. "> MEMORY"). tmIoT_boot C/C++ Problem

#10278-D LOAD placement specified for section ".text:rtsv7M4_T_le_v4SPD16_eabi.lib<memcpy_t2.obj>". This section contains decompression routines required for linker generated copy tables and C/C++ auto-initialization. Must ensure that this section is copied to run address before the C/C++ boot code is executed or is placed with single allocation specifier (ex. "> MEMORY"). tmIoT_boot C/C++ Problem

#10278-D LOAD placement specified for section ".text:rtsv7M4_T_le_v4SPD16_eabi.lib<memset_t2.obj>". This section contains decompression routines required for linker generated copy tables and C/C++ auto-initialization. Must ensure that this section is copied to run address before the C/C++ boot code is executed or is placed with single allocation specifier (ex. "> MEMORY"). tmIoT_boot C/C++ Problem

  • 请问您现在使用的程序以及您产品的具体型号是什么?若是使用官方例程的话,请您给出名称或者路径?

    在E2E上有一些类似的讨论,您可以先参考一下

    e2e.ti.com/.../355168
  • 您好,感谢您的回复。我使用的是TM4C1294KCPDT,官方例程是TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c1294xl\boot_emac_flash。我直接编译官方例程是正常的,可以使用。但是我重新创建CCS工程,源码跟例程一样,编译后就会出现以上警报,不能正常运行。希望您能给我帮助,谢谢。
  • "但是我重新创建CCS工程,源码跟例程一样"

    是您直接拷贝了工程还是新建工程后拷贝了源码?

    那您使用的cmd文件是和例程中一致的吗?

    When doing an EMAC based boot loader the first thing to note is that you must have a DHCP server for IP address allocation. Then the LMFlashProgrammer can use the IP address and MAC ID to download a program.
  • 我是创建工程后,将源码添加到工程中的,cmd文件和例程是一致的。cmd文件如下:
    /******************************************************************************
    *
    * bl_link_ccs.cmd - CCS linker configuration file for boot loader.
    *
    * Copyright (c) 2009-2017 Texas Instruments Incorporated. All rights reserved.
    * Software License Agreement
    *
    * Texas Instruments (TI) is supplying this software for use solely and
    * exclusively on TI's microcontroller products. The software is owned by
    * TI and/or its suppliers, and is protected under applicable copyright
    * laws. You may not combine this software with "viral" open-source
    * software in order to form a larger program.
    *
    * THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
    * NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
    * NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    * A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
    * CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
    * DAMAGES, FOR ANY REASON WHATSOEVER.
    *
    * This is part of revision 2.1.4.178 of the Tiva Firmware Development Package.
    *
    *****************************************************************************/

    --retain=Vectors

    /* The following command line options are set as part of the CCS project. */
    /* If you are building using the command line, or for some reason want to */
    /* define them here, you can uncomment and modify these lines as needed. */
    /* If you are using CCS for building, it is probably better to make any such */
    /* modifications in your CCS project and leave this file alone. */
    /* */
    /* --heap_size=0 */
    /* --stack_size=256 */
    /* --library=rtsv7M3_T_le_eabi.lib */

    /* System memory map */

    MEMORY
    {
    FLASH (RX) : origin = 0x00000000, length = 0x00010000
    SRAM (RWX) : origin = 0x20000000, length = 0x00010000
    }

    /* Section allocation in memory */

    SECTIONS
    {
    GROUP
    {
    .intvecs
    .text
    .const
    .data
    } load = FLASH, run = 0x20000000, LOAD_START(init_load), RUN_START(init_run), SIZE(init_size)

    GROUP
    {
    .bss
    .stack
    } run = SRAM, RUN_START(bss_run), RUN_END(bss_end), SIZE(bss_size), RUN_END(__STACK_TOP)

    }
    这个平台可以上传附件吗?我可以上传我的工程,或者通过其他方式将我的工程发给您。
  • 可以上传工程的。您可以使用右下角的“使用高级编辑器编辑文本” 以附件形式发送给我 或者 点击我的头像私信给我
  • 请您参考下面的设置

    在ARM Linker标志中使用--ram_model

  • 修改以后,可以正常运行了,感谢您的帮助。
    平时创建工程都是按默认配置,对此配置不太了解,造成困扰。
  • 很高兴能帮到您!