.CIO sección MSP430

0

En la ventana de asignación de memoria de Code composer studio 6.1, veo 288 bytes de la sección .CIO. ¿Qué es este segmento y cómo puedo eliminarlo? El archivo de enlace lnk_msp430f2619 tiene mención de la sección .CIO. Pero donde puedo hacer esta sección de cero bytes.

 .bss        : {} > RAM                  /* Global & static vars              */
    .data       : {} > RAM                  /* Global & static vars              */
    .TI.noinit  : {} > RAM                  /* For #pragma noinit                */
    .sysmem     : {} > RAM                  /* Dynamic memory allocation area    */
    .stack      : {} > RAM (HIGH)           /* Software system stack             */

#ifndef __LARGE_DATA_MODEL__
    .text       : {}>> FLASH                /* Code                              */
#else
    .text       : {}>> FLASH2 | FLASH       /* Code                              */
#endif
    .text:_isr  : {} > FLASH                /* ISR Code space                    */
    .cinit      : {} > FLASH                /* Initialization tables             */
#ifndef __LARGE_DATA_MODEL__
    .const      : {} > FLASH                /* Constant data                     */
#else
    .const      : {} > FLASH | FLASH2       /* Constant data                     */
#endif
    .cio        : {} > RAM                  /* C I/O Buffer                      *

/

    
pregunta prasad

1 respuesta

2

Según la guía del usuario de CCS:

  

Las funciones de E / S de consola (CIO), como printf, requieren el uso de un punto de interrupción. Si estas funciones están compiladas, pero no desea utilizar un punto de interrupción, deshabilite la funcionalidad del CIO cambiando la opción en Proyecto → Propiedades → Configuración de depuración de CCS → Destino → Opciones de depuración genéricas → Habilitar el uso de la función de CIO.

Según los foros de TI:

  

Las propiedades del proyecto de depuración controlan si el depurador de CCS intenta realizar el CIO, y no la asignación de la sección .cio en el destino.

     

Para evitar que la sección .cio se asigne en el destino, debe asegurarse de que no haya llamadas para ejecutar funciones de biblioteca de tiempo que utilizan CIO, por ejemplo. asegúrese de que no haya llamadas a printf () en el código.

Más adelante menciona:

  

Resulta que tuve algunas declaraciones _assert (0) en una de mis bibliotecas. Esto a su vez traería a stdio , que exigiría una sección .cio, que consume ~ 400 bytes de RAM.

Tenga en cuenta qué bibliotecas utiliza.

    
respondido por el Passerby

Lea otras preguntas en las etiquetas