############################################################################### # # IAR ELF Linker V3.10.1.201 for STM8 09/Jun/2025 20:51:19 # Copyright 2010-2017 IAR Systems AB. # # Output file = # C:\Users\hero\Desktop\USB_AutoLight\Debug\Exe\tail_light_stm8.out # Map file = # C:\Users\hero\Desktop\USB_AutoLight\Debug\List\tail_light_stm8.map # Command line = # -f C:\Users\hero\AppData\Local\Temp\EW3AC5.tmp # (C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\delay.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\hw_init.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\key.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\led.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\main.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\stm8s_adc1.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\stm8s_clk.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\stm8s_exti.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\stm8s_gpio.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\stm8s_rst.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\stm8s_tim1.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\stm8s_tim2.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\stm8s_tim4.o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj\tasks.o --redirect # _Printf=_PrintfFullNoMb --redirect _Scanf=_ScanfFullNoMb -o # C:\Users\hero\Desktop\USB_AutoLight\Debug\Exe\tail_light_stm8.out # --map # C:\Users\hero\Desktop\USB_AutoLight\Debug\List\tail_light_stm8.map # --config "C:\Program Files (x86)\IAR Systems\Embedded Workbench # 8.0\stm8\config\lnkstm8s003f3.icf" --config_def _CSTACK_SIZE=0x100 # --config_def _HEAP_SIZE=0x100 --entry __iar_program_start --debug_lib) # ############################################################################### ******************************************************************************* *** RUNTIME MODEL ATTRIBUTES *** __SystemLibrary = DLib __code_model = small __core = stm8 __data_model = medium __dlib_file_descriptor = 0 __dlib_full_locale_support = 0 __rt_version = 4 ******************************************************************************* *** PLACEMENT SUMMARY *** "A0": place at start of [0x000000-0x0000ff] { rw section .vregs }; "A1": place at end of [0x000000-0x0003ff] { block CSTACK }; "P2": place in [from 0x000000 to 0x0003ff] { block HEAP, rw section __DLIB_PERTHREAD, rw section .far.bss, rw section .far.data, rw section .far.noinit, rw section .far_func.textrw, rw section .huge.bss, rw section .huge.data, rw section .huge.noinit, rw section .huge_func.textrw, rw section .iar.dynexit, rw section .near.bss, rw section .near.data, rw section .near.noinit, rw section .near_func.textrw }; "A2": place at start of [0x008000-0x009fff] { block INTVEC }; "P3": place in [from 0x008000 to 0x009fff] { ro section __DLIB_PERTHREAD_init, ro section .far.data_init, ro section .far_func.textrw_init, ro section .huge.data_init, ro section .huge_func.textrw_init, ro section .iar.init_table, ro section .init_array, ro section .near.data_init, ro section .near.rodata, ro section .near_func.text, ro section .near_func.textrw_init, ro section .tiny.data_init, ro section .tiny.rodata_init }; "P4": place in [from 0x008000 to 0x009fff] { ro section .far.rodata, ro section .far_func.text }; "P5": place in [from 0x008000 to 0x009fff] { ro section .huge.rodata, ro section .huge_func.text }; do not initialize { rw section .eeprom.noinit, rw section .far.noinit, rw section .huge.noinit, rw section .near.noinit, rw section .tiny.noinit, rw section .vregs }; initialize by copy { rw section .far.bss, rw section .far.data, rw section .far_func.textrw, rw section .huge.bss, rw section .huge.data, rw section .huge_func.textrw, rw section .iar.dynexit, rw section .near.bss, rw section .near.data, rw section .near_func.textrw, rw section .tiny.bss, rw section .tiny.data, ro section .tiny.rodata }; Section Kind Address Size Object ------- ---- ------- ---- ------ "A0": 0xc .vregs uninit 0x000000 0xc vregs.o [4] - 0x00000c 0xc "P2": 0x27 P2-1 0x00000c 0x27 .near.data inited 0x00000c 0x6 led.o [1] .near.data inited 0x000012 0x1 tasks.o [1] .near.data inited 0x000013 0x1 tasks.o [1] .near.data inited 0x000014 0x1 tasks.o [1] .near.data inited 0x000015 0x1 tasks.o [1] .near.bss inited 0x000016 0x1 key.o [1] .near.bss inited 0x000017 0x2 key.o [1] .near.bss inited 0x000019 0x1 key.o [1] .near.bss inited 0x00001a 0x2 key.o [1] .near.bss inited 0x00001c 0x4 led.o [1] .near.bss inited 0x000020 0x4 main.o [1] .near.bss inited 0x000024 0x1 main.o [1] .near.bss inited 0x000025 0x1 main.o [1] .near.bss inited 0x000026 0x1 main.o [1] .near.bss inited 0x000027 0x2 main.o [1] .near.bss inited 0x000029 0x1 main.o [1] .near.bss inited 0x00002a 0x1 tasks.o [1] .near.bss inited 0x00002b 0x2 tasks.o [1] .near.bss inited 0x00002d 0x2 tasks.o [1] .near.bss inited 0x00002f 0x4 tasks.o [1] - 0x000033 0x27 "A1": 0x100 CSTACK 0x000300 0x100 CSTACK uninit 0x000300 0x100 - 0x000400 0x100 "A2": 0x80 INTVEC 0x008000 0x80 .intvec const 0x008000 0x80 interrupt.o [4] - 0x008080 0x80 "P3-P5": 0xb65 .near_func.text ro code 0x008080 0xc4 hw_init.o [1] .near_func.text ro code 0x008144 0x9e vreg_util.o [4] .near_func.text ro code 0x0081e2 0x99 stm8s_tim1.o [1] .near_func.text ro code 0x00827b 0x97 tasks.o [1] .near_func.text ro code 0x008312 0x8e stm8s_gpio.o [1] .near_func.text ro code 0x0083a0 0x88 key.o [1] .near_func.text ro code 0x008428 0x87 key.o [1] .near_func.text ro code 0x0084af 0x78 stm8s_exti.o [1] .near_func.text ro code 0x008527 0x76 tasks.o [1] .near_func.text ro code 0x00859d 0x66 stm8s_tim1.o [1] .near_func.text ro code 0x008603 0x5b stm8s_clk.o [1] .near_func.text ro code 0x00865e 0x59 stm8s_tim2.o [1] .near_func.text ro code 0x0086b7 0x57 long.o [4] .near_func.text ro code 0x00870e 0x54 main.o [1] .near_func.text ro code 0x008762 0x53 tasks.o [1] .near_func.text ro code 0x0087b5 0x4a stm8s_tim1.o [1] .near_func.text ro code 0x0087ff 0x43 main.o [1] .near.rodata const 0x008842 0x39 stm8s_tim1.o [1] .near_func.text ro code 0x00887b 0x39 tasks.o [1] .near_func.text ro code 0x0088b4 0x37 hw_init.o [1] .near_func.text ro code 0x0088eb 0x36 stm8s_clk.o [1] .near_func.text ro code 0x008921 0x31 stm8s_adc1.o [1] .near_func.text ro code 0x008952 0x31 stm8s_clk.o [1] .near_func.text ro code 0x008983 0x2f stm8s_tim1.o [1] .near_func.text ro code 0x0089b2 0x2b tasks.o [1] .near_func.text ro code 0x0089dd 0x28 init_small.o [4] Initializer bytes const 0x008a05 0x27 .near_func.text ro code 0x008a2c 0x24 stm8s_tim1.o [1] .iar.init_table const 0x008a50 0xa - Linker created - .near_func.text ro code 0x008a5a 0x1f main.o [1] .near_func.text ro code 0x008a79 0x1c led.o [1] .near_func.text ro code 0x008a95 0x1c tasks.o [1] .near_func.text ro code 0x008ab1 0x1a stm8s_tim4.o [1] .near_func.text ro code 0x008acb 0x1a long_util.o [4] .near_func.text ro code 0x008ae5 0x19 stm8s_tim4.o [1] .near_func.text ro code 0x008afe 0x14 init.o [4] .near_func.text ro code 0x008b12 0x14 __dbg_xxexit.o [3] .near_func.text ro code 0x008b26 0x13 stm8s_gpio.o [1] .near_func.text ro code 0x008b39 0x13 cstartup.o [4] .near_func.text ro code 0x008b4c 0xe stm8s_clk.o [1] .near_func.text ro code 0x008b5a 0xe stm8s_tim1.o [1] .near_func.text ro code 0x008b68 0xe stm8s_tim1.o [1] .near_func.text ro code 0x008b76 0xe stm8s_tim4.o [1] .near_func.text ro code 0x008b84 0xe stm8s_tim4.o [1] .near_func.text ro code 0x008b92 0xd stm8s_tim4.o [1] .near_func.text ro code 0x008b9f 0x9 stm8s_tim1.o [1] .near_func.text ro code 0x008ba8 0x9 stm8s_tim4.o [1] .near_func.text ro code 0x008bb1 0x9 stm8s_tim4.o [1] .near_func.text ro code 0x008bba 0x8 short.o [4] .near_func.text ro code 0x008bc2 0x7 stm8s_gpio.o [1] .near_func.text ro code 0x008bc9 0x6 char.o [4] .near_func.text ro code 0x008bcf 0x5 cexit.o [4] .near_func.text ro code 0x008bd4 0x3 interrupt.o [4] .near_func.text ro code 0x008bd7 0x3 low_level_init.o [4] .near_func.text ro code 0x008bda 0x3 exit.o [4] .near_func.text ro code 0x008bdd 0x3 unhandled_exception.o [4] .near_func.text ro code 0x008be0 0x2 main.o [1] .near_func.text ro code 0x008be2 0x1 main.o [1] .near_func.text ro code 0x008be3 0x1 main.o [1] .near_func.text ro code 0x008be4 0x1 __dbg_break.o [3] - 0x008be5 0xb65 ******************************************************************************* *** INIT TABLE *** Address Size ------- ---- Copy (__iar_copy_init2) 1 source range, total size 0x27: 0x008a05 0x27 1 destination range, total size 0x27: 0x00000c 0x27 ******************************************************************************* *** MODULE SUMMARY *** Module ro code ro data rw data ------ ------- ------- ------- C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj: [1] hw_init.o 251 key.o 271 6 6 led.o 28 10 10 main.o 186 10 10 stm8s_adc1.o 49 stm8s_clk.o 208 stm8s_exti.o 120 stm8s_gpio.o 168 stm8s_tim1.o 449 57 stm8s_tim2.o 89 stm8s_tim4.o 110 tasks.o 480 13 13 ------------------------------------------------ Total: 2 409 96 39 command line: [2] ------------------------------------------------ Total: dbgstm8smd.a: [3] __dbg_break.o 1 __dbg_xxexit.o 20 ------------------------------------------------ Total: 21 dlstm8smn.a: [4] cexit.o 5 char.o 6 cstartup.o 19 exit.o 3 init.o 20 init_small.o 40 interrupt.o 3 128 long.o 87 long_util.o 26 low_level_init.o 3 short.o 8 unhandled_exception.o 3 vreg_util.o 158 vregs.o 12 ------------------------------------------------ Total: 381 128 12 Linker created 10 256 ---------------------------------------------------- Grand Total: 2 811 234 307 ******************************************************************************* *** ENTRY LIST *** Entry Address Size Type Object ----- ------- ---- ---- ------ .iar.init_table$$Base 0x008a50 -- Gb - Linker created - .iar.init_table$$Limit 0x008a5a -- Gb - Linker created - ?add32_l0_l0_0x 0x0086ca Code Gb long.o [4] ?b0 0x000000 Data Gb vregs.o [4] ?b1 0x000001 Data Gb vregs.o [4] ?b10 0x00000a Data Gb vregs.o [4] ?b11 0x00000b Data Gb vregs.o [4] ?b2 0x000002 Data Gb vregs.o [4] ?b3 0x000003 Data Gb vregs.o [4] ?b4 0x000004 Data Gb vregs.o [4] ?b5 0x000005 Data Gb vregs.o [4] ?b6 0x000006 Data Gb vregs.o [4] ?b7 0x000007 Data Gb vregs.o [4] ?b8 0x000008 Data Gb vregs.o [4] ?b9 0x000009 Data Gb vregs.o [4] ?e0 0x000001 Data Gb vregs.o [4] ?e1 0x000005 Data Gb vregs.o [4] ?e2 0x000009 Data Gb vregs.o [4] ?epilogue_l2 0x0081c0 Code Gb vreg_util.o [4] ?epilogue_w4 0x0081c4 Code Gb vreg_util.o [4] ?inc32_0x_0x 0x0086bc Code Gb long.o [4] ?inc32_l0_l0 0x0086b7 Code Gb long.o [4] ?l0 0x000000 Data Gb vregs.o [4] ?l1 0x000004 Data Gb vregs.o [4] ?l2 0x000008 Data Gb vregs.o [4] ?load32_0x_l0 0x008ad7 Code Gb long_util.o [4] ?load32_l0_0x 0x008acb Code Gb long_util.o [4] ?mov_e1_e2 0x0081cb Code Gb vreg_util.o [4] ?mov_e2_e0 0x0081d8 Code Gb vreg_util.o [4] ?mov_l1_l2 0x0081c8 Code Gb vreg_util.o [4] ?mov_l2_l0 0x0081d5 Code Gb vreg_util.o [4] ?mov_w3_w5 0x0081ce Code Gb vreg_util.o [4] ?mov_w5_w1 0x0081db Code Gb vreg_util.o [4] ?pop_l0 0x008197 Code Gb vreg_util.o [4] ?pop_l1 0x0081a2 Code Gb vreg_util.o [4] ?pop_l2 0x0081ad Code Gb vreg_util.o [4] ?pop_w4 0x00815c Code Gb vreg_util.o [4] ?push_l0 0x00816b Code Gb vreg_util.o [4] ?push_l1 0x008170 Code Gb vreg_util.o [4] ?push_l2 0x008175 Code Gb vreg_util.o [4] ?push_w4 0x008144 Code Gb vreg_util.o [4] ?sll16_x_x_a 0x008bba Code Gb short.o [4] ?sll8_a_a_5 0x008bca Code Gb char.o [4] ?sll8_a_a_6 0x008bc9 Code Gb char.o [4] ?sra32_0x_0x_a 0x008700 Code Gb long.o [4] ?sra32_l0_l0_a 0x0086fd Code Gb long.o [4] ?sub32_l0_l0_0x 0x0086e5 Code Gb long.o [4] ?sub32_l0_l0_l1 0x0086e2 Code Gb long.o [4] ?w0 0x000000 Data Gb vregs.o [4] ?w1 0x000002 Data Gb vregs.o [4] ?w2 0x000004 Data Gb vregs.o [4] ?w3 0x000006 Data Gb vregs.o [4] ?w4 0x000008 Data Gb vregs.o [4] ?w5 0x00000a Data Gb vregs.o [4] ADC1_DeInit 0x008921 0x31 Code Gb stm8s_adc1.o [1] ADC1_IRQHandler 0x008a5a 0x1f Code Gb main.o [1] ADC_CH_Init 0x0088b4 0x37 Code Gb hw_init.o [1] AD_FinishFlag 0x000029 0x1 Data Gb main.o [1] AD_Light 0x00002d 0x2 Data Gb tasks.o [1] AD_LightFltSum 0x00002f 0x4 Data Gb tasks.o [1] AD_Value 0x000027 0x2 Data Gb main.o [1] BrightlessLevelPulse 0x00000c 0x6 Data Gb led.o [1] CLK_DeInit 0x0088eb 0x36 Code Gb stm8s_clk.o [1] CLK_HSICmd 0x008b4c 0xe Code Gb stm8s_clk.o [1] CLK_PeripheralClockConfig 0x008603 0x5b Code Gb stm8s_clk.o [1] CLK_SYSCLKConfig 0x008952 0x31 Code Gb stm8s_clk.o [1] CSTACK$$Base 0x000300 -- Gb - Linker created - CSTACK$$Limit 0x000400 -- Gb - Linker created - Delay_EN 0x000015 0x1 Data Gb tasks.o [1] EXTI_PORTC_IRQHandler 0x008be2 0x1 Code Gb main.o [1] EXTI_PORTD_IRQHandler 0x008be3 0x1 Code Gb main.o [1] EXTI_SetExtIntSensitivity 0x0084af 0x78 Code Gb stm8s_exti.o [1] GPIO_DeInit 0x008b26 0x13 Code Gb stm8s_gpio.o [1] GPIO_Init 0x008312 0x8e Code Gb stm8s_gpio.o [1] GPIO_ReadInputPin 0x008bc2 0x7 Code Gb stm8s_gpio.o [1] Global_Timing_Counter 0x000020 0x4 Data Gb main.o [1] HW_Init 0x008080 0xc4 Code Gb hw_init.o [1] INTVEC$$Base 0x008000 -- Gb - Linker created - INTVEC$$Limit 0x008080 -- Gb - Linker created - KeyPressResult 0x00002a 0x1 Data Gb tasks.o [1] LedMode 0x000013 0x1 Data Gb tasks.o [1] Led_ModeProcess 0x0089b2 0x2b Code Gb tasks.o [1] Light_EN 0x000014 0x1 Data Gb tasks.o [1] Light_Level 0x00002b 0x2 Data Gb tasks.o [1] Light_SetBrightless 0x008a79 0x1c Code Gb led.o [1] OnDelayTimeCnt 0x00001c 0x4 Data Gb led.o [1] OnFlag 0x000012 0x1 Data Gb tasks.o [1] PeriodCnt_20ms 0x000025 0x1 Data Gb main.o [1] PeriodCnt_50ms 0x000026 0x1 Data Gb main.o [1] PeriodCnt_5ms 0x000024 0x1 Data Gb main.o [1] Power_Off 0x008762 0x53 Code Gb tasks.o [1] Region$$Table$$Base 0x008a50 -- Gb - Linker created - Region$$Table$$Limit 0x008a5a -- Gb - Linker created - TIM1_CCxCmd 0x0087b5 0x4a Code Gb stm8s_tim1.o [1] TIM1_Cmd 0x008b5a 0xe Code Gb stm8s_tim1.o [1] TIM1_CtrlPWMOutputs 0x008983 0x2f Code Gb stm8s_tim1.o [1] TIM1_DeInit 0x0081e2 0x99 Code Gb stm8s_tim1.o [1] TIM1_OC1Init 0x00859d 0x66 Code Gb stm8s_tim1.o [1] TIM1_OC1PreloadConfig 0x008b68 0xe Code Gb stm8s_tim1.o [1] TIM1_SetCompare1 0x008b9f 0x9 Code Gb stm8s_tim1.o [1] TIM1_TimeBaseInit 0x008a2c 0x24 Code Gb stm8s_tim1.o [1] TIM2_DeInit 0x00865e 0x59 Code Gb stm8s_tim2.o [1] TIM4_ARRPreloadConfig 0x008b84 0xe Code Gb stm8s_tim4.o [1] TIM4_ClearFlag 0x008ba8 0x9 Code Gb stm8s_tim4.o [1] TIM4_ClearITPendingBit 0x008bb1 0x9 Code Gb stm8s_tim4.o [1] TIM4_Cmd 0x008b76 0xe Code Gb stm8s_tim4.o [1] TIM4_DeInit 0x008ae5 0x19 Code Gb stm8s_tim4.o [1] TIM4_ITConfig 0x008ab1 0x1a Code Gb stm8s_tim4.o [1] TIM4_TimeBaseInit 0x008b92 0xd Code Gb stm8s_tim4.o [1] TIM4_UPD_OVF_IRQHandler 0x00870e 0x54 Code Gb main.o [1] Tim4_Isr_CallBack 0x008a95 0x1c Code Gb tasks.o [1] __DebugBreak 0x008be4 0x1 Code Gb __dbg_break.o [3] __exit 0x008b12 0x14 Code Gb __dbg_xxexit.o [3] __iar_copy_init2 0x0089dd Code Gb init_small.o [4] __iar_data_init2 0x008afe 0x14 Code Gb init.o [4] __iar_program_start 0x008b39 Code Gb cstartup.o [4] __iar_unhandled_exception 0x008bdd Code Gb unhandled_exception.o [4] __intvec 0x008000 Data Gb interrupt.o [4] __low_level_init 0x008bd7 0x3 Code Gb low_level_init.o [4] _exit 0x008bcf Code Gb cexit.o [4] _interrupt_24 0x008a5a Code Gb main.o [1] _interrupt_25 0x00870e Code Gb main.o [1] _interrupt_7 0x008be2 Code Gb main.o [1] _interrupt_8 0x008be3 Code Gb main.o [1] assert_failed 0x008be0 0x2 Code Gb main.o [1] exit 0x008bda 0x3 Code Gb exit.o [4] key_driver 0x008428 0x87 Code Gb key.o [1] key_driver::key_state 0x000016 0x1 Data Lc key.o [1] key_driver::key_time 0x000017 0x2 Data Lc key.o [1] key_read 0x0083a0 0x88 Code Gb key.o [1] key_read::key_state1 0x000019 0x1 Data Lc key.o [1] key_read::key_time1 0x00001a 0x2 Data Lc key.o [1] main 0x0087ff 0x43 Code Gb main.o [1] taskA 0x008527 0x76 Code Gb tasks.o [1] taskB 0x00887b 0x39 Code Gb tasks.o [1] taskC 0x00827b 0x97 Code Gb tasks.o [1] [1] = C:\Users\hero\Desktop\USB_AutoLight\Debug\Obj [2] = command line [3] = dbgstm8smd.a [4] = dlstm8smn.a 2 811 bytes of readonly code memory 234 bytes of readonly data memory 307 bytes of readwrite data memory Errors: none Warnings: none