We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
Doesn't any part of map file tell you what happens - my guess is that some setting you have create a hole.
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