This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Printf() size, questions?

How many bytes will printf() take up in a non debug-monitor
environment?

Also, is it easy to set up printf() to map to a second UART?
I will need control of the UART ISR so that I can handle receives
appropriately. How will this confict with printf()?

Parents
  • I just compiled and linked the HELLO example project. The following excerpt from the MAP file (*.m51) lists the starting location and sizes of the modules inthe program.

    LINK MAP OF MODULE:  Hello (HELLO)
    
    
                TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME
                -----------------------------------------------------
    
                * * * * * * *   D A T A   M E M O R Y   * * * * * * *
                REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
                DATA    0008H     0014H     UNIT         _DATA_GROUP_
                        001CH     0004H                  *** GAP ***
                BIT     0020H.0   0001H.1   UNIT         _BIT_GROUP_
                        0021H.1   0000H.7                *** GAP ***
                IDATA   0022H     0001H     UNIT         ?STACK
    
                * * * * * * *   C O D E   M E M O R Y   * * * * * * *
                CODE    0000H     0003H     ABSOLUTE     
                CODE    0003H     035CH     UNIT         ?PR?PRINTF?PRINTF
                CODE    035FH     008EH     UNIT         ?C?LIB_CODE
                CODE    03EDH     0027H     UNIT         ?PR?PUTCHAR?PUTCHAR
                CODE    0414H     001BH     UNIT         ?PR?MAIN?HELLO
                CODE    042FH     000DH     UNIT         ?CO?HELLO
                CODE    043CH     000CH     UNIT         ?C_C51STARTUP
    

    Note that the size of the printf module is 35Ch bytes.

    Keil Support

Reply
  • I just compiled and linked the HELLO example project. The following excerpt from the MAP file (*.m51) lists the starting location and sizes of the modules inthe program.

    LINK MAP OF MODULE:  Hello (HELLO)
    
    
                TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME
                -----------------------------------------------------
    
                * * * * * * *   D A T A   M E M O R Y   * * * * * * *
                REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
                DATA    0008H     0014H     UNIT         _DATA_GROUP_
                        001CH     0004H                  *** GAP ***
                BIT     0020H.0   0001H.1   UNIT         _BIT_GROUP_
                        0021H.1   0000H.7                *** GAP ***
                IDATA   0022H     0001H     UNIT         ?STACK
    
                * * * * * * *   C O D E   M E M O R Y   * * * * * * *
                CODE    0000H     0003H     ABSOLUTE     
                CODE    0003H     035CH     UNIT         ?PR?PRINTF?PRINTF
                CODE    035FH     008EH     UNIT         ?C?LIB_CODE
                CODE    03EDH     0027H     UNIT         ?PR?PUTCHAR?PUTCHAR
                CODE    0414H     001BH     UNIT         ?PR?MAIN?HELLO
                CODE    042FH     000DH     UNIT         ?CO?HELLO
                CODE    043CH     000CH     UNIT         ?C_C51STARTUP
    

    Note that the size of the printf module is 35Ch bytes.

    Keil Support

Children