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

Load region size vs execution region size

Trying to the keep the load region under 0x8000 but load region is more then 0x8000 yet execution region is only 0xa7c? How come my load region size is is so much more?
This is a Cortex M1 on a Altera FPGA that has 32k of ITCM which I am trying to use for some bootloader code.


Load Region LR_IROM1 (Base: 0x00000000, Size: 0x00008d40, Max: 0x00008000, ABSOLUTE, COMPRESSED[0x000025c0])

    Execution Region ER_IROM1 (Base: 0x00000000, Size: 0x00000a7c, Max: 0x00008000, ABSOLUTE)

    Base Addr    Size         Type   Attr      Idx    E Section Name        Object

    0x00000000   0x000000c8   Data   RO          597    RESET               startup.o
    0x000000c8   0x00000000   Code   RO         3660  * .ARM.Collect$$$$00000000  mc_p.l(entry.o)
    0x000000c8   0x00000004   Code   RO         3998    .ARM.Collect$$$$00000001  mc_p.l(entry2.o)
    0x000000cc   0x00000004   Code   RO         4001    .ARM.Collect$$$$00000004  mc_p.l(entry5.o)
    0x000000d0   0x00000000   Code   RO         4003    .ARM.Collect$$$$00000008  mc_p.l(entry7b.o)
    0x000000d0   0x00000008   Code   RO         4004    .ARM.Collect$$$$00000009  mc_p.l(entry8.o)
    0x000000d8   0x00000004   Code   RO         3999    .ARM.Collect$$$$00002712  mc_p.l(entry2.o)
    0x000000dc   0x0000009c   Code   RO            1    .text               main.o
    0x00000178   0x00000218   Code   RO          169    .text               isr.o
    0x00000390   0x0000004c   Code   RO          485    .text               flashcopy.o
    0x000003dc   0x00000010   Code   RO          504    .text               retarget.o
    0x000003ec   0x00000010   Code   RO          530    .text               rtx_config.o
    0x000003fc   0x00000064   Code   RO          567    .text               uart.o
    0x00000460   0x0000003c   Code   RO          598    .text               startup.o
    0x0000049c   0x00000220   Code   RO          603    .text               epcs_commands.o
    0x000006bc   0x00000064   Code   RO          619    .text               epcs_flash.o
    0x00000720   0x00000276   Code   RO          659    .text               epcs_flash_controller.o
    0x00000996   0x00000002   PAD
    0x00000998   0x00000024   Code   RO         4065    .text               mc_p.l(init.o)
    0x000009bc   0x00000004   Code   RO         3574    SVC_TABLE           RTX_CM1.lib(SVC_Table.o)
    0x000009c0   0x0000000c   Ven    RO         4081    Veneer$$Code        anon$$obj.o
    0x000009cc   0x0000000c   Ven    RO         4082    Veneer$$Code        anon$$obj.o
    0x000009d8   0x0000000c   Ven    RO         4083    Veneer$$Code        anon$$obj.o
    0x000009e4   0x0000000c   Ven    RO         4084    Veneer$$Code        anon$$obj.o
    0x000009f0   0x0000000c   Ven    RO         4085    Veneer$$Code        anon$$obj.o
    0x000009fc   0x0000000c   Ven    RO         4086    Veneer$$Code        anon$$obj.o
    0x00000a08   0x0000000c   Ven    RO         4087    Veneer$$Code        anon$$obj.o
    0x00000a14   0x0000000e   Code   RO         4073    i.__scatterload_copy  mc_p.l(handlers.o)
    0x00000a22   0x00000002   Code   RO         4074    i.__scatterload_null  mc_p.l(handlers.o)
    0x00000a24   0x0000000e   Code   RO         4075    i.__scatterload_zeroinit  mc_p.l(handlers.o)
    0x00000a32   0x00000002   Data   RO          536    .constdata          rtx_config.o
    0x00000a34   0x00000004   Data   RO          537    .constdata          rtx_config.o
    0x00000a38   0x00000004   Data   RO          538    .constdata          rtx_config.o
    0x00000a3c   0x00000004   Data   RO          539    .constdata          rtx_config.o
    0x00000a40   0x00000001   Data   RO          540    .constdata          rtx_config.o
    0x00000a41   0x00000003   PAD
    0x00000a44   0x00000008   Data   RO          541    .constdata          rtx_config.o
    0x00000a4c   0x00000002   Data   RO          542    .constdata          rtx_config.o
    0x00000a4e   0x00000002   PAD
    0x00000a50   0x00000004   Data   RO          543    .constdata          rtx_config.o
    0x00000a54   0x00000001   Data   RO          544    .constdata          rtx_config.o
    0x00000a55   0x00000001   PAD
    0x00000a56   0x00000002   Data   RO          545    .constdata          rtx_config.o
    0x00000a58   0x00000004   Data   RO          647    .constdata          epcs_flash_cfg_instance.o
    0x00000a5c   0x00000020   Data   RO         4071    Region$$Table       anon$$obj.o

Parents Reply Children
  • Not that I can see

        __main                                   0x000000c9   Thumb Code     0  entry.o(.ARM.Collect$$$$00000000)
        _main_stk                                0x000000c9   Thumb Code     0  entry2.o(.ARM.Collect$$$$00000001)
        _main_scatterload                        0x000000cd   Thumb Code     0  entry5.o(.ARM.Collect$$$$00000004)
        __main_after_scatterload                 0x000000d1   Thumb Code     0  entry5.o(.ARM.Collect$$$$00000004)
        _main_clock                              0x000000d1   Thumb Code     0  entry7b.o(.ARM.Collect$$$$00000008)
        _main_init                               0x000000d1   Thumb Code     0  entry8.o(.ARM.Collect$$$$00000009)
        init                                     0x000000dd   Thumb Code    56  main.o(.text)
        main                                     0x00000115   Thumb Code    32  main.o(.text)
        delay                                    0x00000179   Thumb Code     6  isr.o(.text)
        delay_io                                 0x0000017f   Thumb Code    38  isr.o(.text)
        initialize_user_io                       0x000001a5   Thumb Code    20  isr.o(.text)
        heatDisFaultButtonPress                  0x000001b9   Thumb Code    38  isr.o(.text)
        heatOnRiseButtonPress                    0x000001df   Thumb Code    60  isr.o(.text)
        user_io_ISR                              0x0000021b   Thumb Code   154  isr.o(.text)
        initialize_timers                        0x000002b5   Thumb Code    14  isr.o(.text)
        screen_refresh_timer_ISR                 0x000002c3   Thumb Code    36  isr.o(.text)
        ten_ms_timer_ISR                         0x000002e7   Thumb Code     8  isr.o(.text)
        scroll_accelerator_timer_ISR             0x000002ef   Thumb Code     2  isr.o(.text)
        linear_ramp_ISR                          0x000002f1   Thumb Code    14  isr.o(.text)
        usbReceive                               0x000002ff   Thumb Code    84  isr.o(.text)
        flashCopy                                0x00000391   Thumb Code    64  flashcopy.o(.text)
        Reset_Handler                            0x000003dd   Thumb Code     4  startup.o(.text)
        NMI_Handler                              0x000003e1   Thumb Code     2  startup.o(.text)
        HardFault_Handler                        0x000003e3   Thumb Code     2  startup.o(.text)
        IRQ0_Handler                             0x000003eb   Thumb Code     2  startup.o(.text)
        __RL_RTX_VER                             0x00000422   Number         0  rt_system.o ABSOLUTE
        __RL_TCP_VER                             0x00000422   Number         0  at_system.o ABSOLUTE
        epcs_read_status_register                0x000004a9   Thumb Code    40  epcs_commands.o(.text)
        epcs_sector_erase                        0x000004d1   Thumb Code    46  epcs_commands.o(.text)
        epcs_read_buffer                         0x000004ff   Thumb Code    56  epcs_commands.o(.text)
        epcs_write_enable                        0x00000537   Thumb Code    26  epcs_commands.o(.text)
        epcs_write_status_register               0x00000551   Thumb Code    38  epcs_commands.o(.text)
        epcs_write_buffer                        0x00000577   Thumb Code    84  epcs_commands.o(.text)
        epcs_read_electronic_signature           0x000005cb   Thumb Code    38  epcs_commands.o(.text)
        epcs_read_device_id                      0x000005f1   Thumb Code    38  epcs_commands.o(.text)
        epcs_flash_init                          0x00000639   Thumb Code    54  epcs_flash.o(.text)
        alt_epcs_flash_init                      0x0000069d   Thumb Code     8  epcs_flash_controller.o(.text)
        alt_epcs_flash_read                      0x000006a5   Thumb Code    38  epcs_flash_controller.o(.text)
        alt_epcs_flash_write                     0x000006cb   Thumb Code   258  epcs_flash_controller.o(.text)
        alt_epcs_flash_get_info                  0x000007cd   Thumb Code    38  epcs_flash_controller.o(.text)
        alt_epcs_flash_erase_block               0x000007f3   Thumb Code    32  epcs_flash_controller.o(.text)
        alt_epcs_flash_write_block               0x00000813   Thumb Code    78  epcs_flash_controller.o(.text)
        __scatterload                            0x00000915   Thumb Code    28  init.o(.text)
        __scatterload_rt2                        0x00000915   Thumb Code     0  init.o(.text)
        SVC_Count                                0x00000938   Data           4  SVC_Table.o(SVC_TABLE)
        Long Thumb to Thumb Veneer to LCDMainInit 0x0000093d   Thumb Code    12  anon$$obj.o(Veneer$$Code)
        SVC_Table                                0x0000093c   Data           0  SVC_Table.o(SVC_TABLE)
        Long Thumb to Thumb Veneer to os_set_env 0x00000949   Thumb Code    12  anon$$obj.o(Veneer$$Code)
        Long Thumb to Thumb Veneer to recipe_step_handler 0x00000955   Thumb Code    12  anon$$obj.o(Veneer$$Code)
        Long Thumb to Thumb Veneer to isr_evt_set 0x00000961   Thumb Code    12  anon$$obj.o(Veneer$$Code)
        Long Thumb to Thumb Veneer to timer_tick 0x0000096d   Thumb Code    12  anon$$obj.o(Veneer$$Code)
        Long Thumb to Thumb Veneer to memcmp     0x00000979   Thumb Code    12  anon$$obj.o(Veneer$$Code)
        __scatterload_copy                       0x00000985   Thumb Code    14  handlers.o(i.__scatterload_copy)
        __scatterload_null                       0x00000993   Thumb Code     2  handlers.o(i.__scatterload_null)
        __scatterload_zeroinit                   0x00000995   Thumb Code    14  handlers.o(i.__scatterload_zeroinit)
        epcs_flash_instance_table                0x000009a4   Data           4  epcs_flash_cfg_instance.o(.constdata)
        Region$$Table$$Base                      0x000009a8   Number         0  anon$$obj.o(Region$$Table)
        Region$$Table$$Limit                     0x000009c8   Number         0  anon$$obj.o(Region$$Table)
    
    

  • Commercial license? So you don't get a 32kb empty area from the demo version?

  • We have the licensed version of Keil Cortex M1 Arm, RTX and TCPNet.

  • And the key is registered correctly - shows up in licensing dialog?

  • Yep, shows my name, company name and the "LIC=" a 30 digit string