diff --git a/FileInclude/MyTimer.c b/FileInclude/MyTimer.c index 932db66..e27ce99 100644 --- a/FileInclude/MyTimer.c +++ b/FileInclude/MyTimer.c @@ -111,7 +111,7 @@ void MyTimer_PWM(TIM_TypeDef * Timer, char Channel){ gpio.GPIO_Conf = AltOut_Ppull; // Activation la capture du compteur (CNT) dans le registre capture register - Timer->CCER |= TIM_CCER_CC1E; + @@ -125,6 +125,7 @@ void MyTimer_PWM(TIM_TypeDef * Timer, char Channel){ Timer->CCMR1 |= TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2; Timer->CCMR1 &= ~(TIM_CCMR1_CC1S | TIM_CCMR1_CC1S); // mettre 00 Timer->CCR1 = 0; + Timer->CCER |= TIM_CCER_CC1E; switch ((int)Timer) { // on cast le timer pour le comparer au pointeur des timers existants case (int)TIM1 : @@ -161,6 +162,7 @@ void MyTimer_PWM(TIM_TypeDef * Timer, char Channel){ Timer->CCMR1 |= TIM_CCMR1_OC2M_1| TIM_CCMR1_OC2M_2; Timer->CCMR1 &= ~(TIM_CCMR1_CC2S | TIM_CCMR1_CC2S); // mettre 00 Timer->CCR2 = 0; + Timer->CCER |= TIM_CCER_CC2E; switch ((int)Timer) { // on cast le timer pour le comparer au pointeur des timers existants case (int)TIM1 : @@ -192,10 +194,11 @@ void MyTimer_PWM(TIM_TypeDef * Timer, char Channel){ ============== */ case 3 : - // On veut mettre les bits 4 à 6 de OC2M à 110 (PWM mode 1 p 349) - Timer->CCMR2 |= TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2; - Timer->CCMR2 &= ~(TIM_CCMR1_CC1S | TIM_CCMR1_CC1S); // mettre 00 + // On veut mettre les bits 4 à 6 de OC2M à 110 (PWM mode 1 p 415) + Timer->CCMR2 |= TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3M_2; + Timer->CCMR2 &= ~(TIM_CCMR2_CC3S | TIM_CCMR2_CC3S); // mettre 00 Timer->CCR3 = 0; + Timer->CCER |= TIM_CCER_CC3E; switch ((int)Timer) { // on cast le timer pour le comparer au pointeur des timers existants case (int)TIM1 : @@ -226,10 +229,11 @@ void MyTimer_PWM(TIM_TypeDef * Timer, char Channel){ ============== */ case 4 : - // On veut mettre les bits 12 à 14 de OC2M à 110 (PWM mode 1 p 349) - Timer->CCMR2 |= TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2; - Timer->CCMR2 &= ~(TIM_CCMR1_CC2S | TIM_CCMR1_CC2S); // mettre 00 + // On veut mettre les bits 12 à 14 de OC2M à 110 (PWM mode 1 p 415) + Timer->CCMR2 |= TIM_CCMR2_OC4M_1 | TIM_CCMR2_OC4M_2; + Timer->CCMR2 &= ~(TIM_CCMR2_CC4S | TIM_CCMR2_CC4S); // mettre 00 Timer->CCR4 = 0; + Timer->CCER |= TIM_CCER_CC4E; switch ((int)Timer) { // on cast le timer pour le comparer au pointeur des timers existants case (int)TIM1 : diff --git a/Listings/Projet1_Simulation.map b/Listings/Projet1_Simulation.map index 6a36f35..2696904 100644 --- a/Listings/Projet1_Simulation.map +++ b/Listings/Projet1_Simulation.map @@ -7,8 +7,15 @@ Section Cross References main.o(i.Callback) refers to myadc.o(i.startADC) for startADC main.o(i.Callback) refers to myadc.o(i.read) for read main.o(i.Callback) refers to main.o(.data) for a - main.o(i.main) refers to mygirouette.o(i.Init_Girouette) for Init_Girouette - main.o(i.main) refers to mygirouette.o(i.Get_Angle) for Get_Angle + main.o(i.main) refers to mytimer.o(i.MyTimer_Base_Init) for MyTimer_Base_Init + main.o(i.main) refers to mytimer.o(i.MyTimer_PWM) for MyTimer_PWM + main.o(i.main) refers to mytimer.o(i.Get_Max_Duty) for Get_Max_Duty + main.o(i.main) refers to dfltui.o(.text) for __aeabi_ui2d + main.o(i.main) refers to dmul.o(.text) for __aeabi_dmul + main.o(i.main) refers to dfixui.o(.text) for __aeabi_d2uiz + main.o(i.main) refers to mytimer.o(i.Set_Duty_Cycle) for Set_Duty_Cycle + main.o(i.main) refers to mytimer.o(i.MyTimer_Base_Start) for MyTimer_Base_Start + main.o(i.main) refers to main.o(.constdata) for .constdata mytimer.o(i.MyTimer_ActiveIT) refers to mytimer.o(.data) for ptr1 mytimer.o(i.MyTimer_PWM) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init mytimer.o(i.TIM1_UP_IRQHandler) refers to mytimer.o(.data) for ptr1 @@ -38,6 +45,12 @@ Section Cross References entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry9a.o(.ARM.Collect$$$$0000000B) for _main_init entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk + dmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue + dfltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfltui.o(.text) refers to depilogue.o(.text) for _double_epilogue + dfixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfixui.o(.text) refers to llushr.o(.text) for __aeabi_llsr entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000 entry2.o(.ARM.Collect$$$$00002712) refers to startup_stm32f10x_md.o(STACK) for __initial_sp entry2.o(__vectab_stack_and_reset_area) refers to startup_stm32f10x_md.o(STACK) for __initial_sp @@ -45,6 +58,8 @@ Section Cross References entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload entry9a.o(.ARM.Collect$$$$0000000B) refers to main.o(i.main) for main entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(i.main) for main + depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl + depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload @@ -60,12 +75,9 @@ Removing Unused input sections from the image. Removing mytimer.o(.rev16_text), (4 bytes). Removing mytimer.o(.revsh_text), (4 bytes). Removing mytimer.o(.rrx_text), (6 bytes). - Removing mytimer.o(i.Get_Max_Duty), (6 bytes). Removing mytimer.o(i.Get_Timer_Count), (6 bytes). Removing mytimer.o(i.MyTimer_ActiveIT), (176 bytes). Removing mytimer.o(i.MyTimer_Base_Stop), (10 bytes). - Removing mytimer.o(i.MyTimer_PWM), (464 bytes). - Removing mytimer.o(i.Set_Duty_Cycle), (40 bytes). Removing mytimer.o(i.Set_PWM_PRCT), (56 bytes). Removing myadc.o(.rev16_text), (4 bytes). Removing myadc.o(.revsh_text), (4 bytes). @@ -83,6 +95,9 @@ Removing Unused input sections from the image. Removing mygirouette.o(.rev16_text), (4 bytes). Removing mygirouette.o(.revsh_text), (4 bytes). Removing mygirouette.o(.rrx_text), (6 bytes). + Removing mygirouette.o(i.Get_Angle), (8 bytes). + Removing mygirouette.o(i.Init_Girouette), (112 bytes). + Removing mygirouette.o(.constdata), (24 bytes). Removing startup_stm32f10x_md.o(HEAP), (512 bytes). Removing system_stm32f10x.o(.rev16_text), (4 bytes). Removing system_stm32f10x.o(.revsh_text), (4 bytes). @@ -90,7 +105,7 @@ Removing Unused input sections from the image. Removing system_stm32f10x.o(i.SystemCoreClockUpdate), (164 bytes). Removing system_stm32f10x.o(.data), (20 bytes). -37 unused section(s) (total 1724 bytes) removed from the image. +37 unused section(s) (total 1358 bytes) removed from the image. ============================================================================== @@ -100,21 +115,28 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE + ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixui.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE FileInclude\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE FileInclude\MyADC.c 0x00000000 Number 0 myadc.o ABSOLUTE FileInclude\MyGirouette.c 0x00000000 Number 0 mygirouette.o ABSOLUTE @@ -144,26 +166,34 @@ Image Symbol Table .ARM.Collect$$$$00002712 0x08000100 Section 4 entry2.o(.ARM.Collect$$$$00002712) __lit__00000000 0x08000100 Data 4 entry2.o(.ARM.Collect$$$$00002712) .text 0x08000104 Section 36 startup_stm32f10x_md.o(.text) - .text 0x08000128 Section 36 init.o(.text) - i.Get_Angle 0x0800014c Section 0 mygirouette.o(i.Get_Angle) - i.Init_Girouette 0x08000154 Section 0 mygirouette.o(i.Init_Girouette) - i.MyGPIO_Init 0x080001c4 Section 0 driver_gpio.o(i.MyGPIO_Init) - i.MyTimer_Base_Init 0x08000278 Section 0 mytimer.o(i.MyTimer_Base_Init) - i.MyTimer_Base_Start 0x080002e4 Section 0 mytimer.o(i.MyTimer_Base_Start) - i.SetSysClock 0x080002ee Section 0 system_stm32f10x.o(i.SetSysClock) - SetSysClock 0x080002ef Thumb Code 8 system_stm32f10x.o(i.SetSysClock) - i.SetSysClockTo72 0x080002f8 Section 0 system_stm32f10x.o(i.SetSysClockTo72) - SetSysClockTo72 0x080002f9 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72) - i.SystemInit 0x080003d8 Section 0 system_stm32f10x.o(i.SystemInit) - i.TIM1_UP_IRQHandler 0x08000438 Section 0 mytimer.o(i.TIM1_UP_IRQHandler) - i.TIM2_IRQHandler 0x0800045c Section 0 mytimer.o(i.TIM2_IRQHandler) - i.TIM3_IRQHandler 0x08000480 Section 0 mytimer.o(i.TIM3_IRQHandler) - i.TIM4_IRQHandler 0x080004a4 Section 0 mytimer.o(i.TIM4_IRQHandler) - i.__scatterload_copy 0x080004c8 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x080004d6 Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x080004d8 Section 14 handlers.o(i.__scatterload_zeroinit) - i.main 0x080004e6 Section 0 main.o(i.main) - .constdata 0x080004f4 Section 24 mygirouette.o(.constdata) + .text 0x08000128 Section 0 dmul.o(.text) + .text 0x0800020c Section 0 dfltui.o(.text) + .text 0x08000226 Section 0 dfixui.o(.text) + .text 0x08000258 Section 0 llushr.o(.text) + .text 0x08000278 Section 0 depilogue.o(.text) + .text 0x08000278 Section 0 iusefp.o(.text) + .text 0x08000334 Section 36 init.o(.text) + .text 0x08000358 Section 0 llshl.o(.text) + i.Get_Max_Duty 0x08000376 Section 0 mytimer.o(i.Get_Max_Duty) + i.MyGPIO_Init 0x0800037c Section 0 driver_gpio.o(i.MyGPIO_Init) + i.MyTimer_Base_Init 0x08000430 Section 0 mytimer.o(i.MyTimer_Base_Init) + i.MyTimer_Base_Start 0x0800049c Section 0 mytimer.o(i.MyTimer_Base_Start) + i.MyTimer_PWM 0x080004a8 Section 0 mytimer.o(i.MyTimer_PWM) + i.SetSysClock 0x08000690 Section 0 system_stm32f10x.o(i.SetSysClock) + SetSysClock 0x08000691 Thumb Code 8 system_stm32f10x.o(i.SetSysClock) + i.SetSysClockTo72 0x08000698 Section 0 system_stm32f10x.o(i.SetSysClockTo72) + SetSysClockTo72 0x08000699 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72) + i.Set_Duty_Cycle 0x08000778 Section 0 mytimer.o(i.Set_Duty_Cycle) + i.SystemInit 0x080007a0 Section 0 system_stm32f10x.o(i.SystemInit) + i.TIM1_UP_IRQHandler 0x08000800 Section 0 mytimer.o(i.TIM1_UP_IRQHandler) + i.TIM2_IRQHandler 0x08000824 Section 0 mytimer.o(i.TIM2_IRQHandler) + i.TIM3_IRQHandler 0x08000848 Section 0 mytimer.o(i.TIM3_IRQHandler) + i.TIM4_IRQHandler 0x0800086c Section 0 mytimer.o(i.TIM4_IRQHandler) + i.__scatterload_copy 0x08000890 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x0800089e Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x080008a0 Section 14 handlers.o(i.__scatterload_zeroinit) + i.main 0x080008b0 Section 0 main.o(i.main) + .constdata 0x08000914 Section 20 main.o(.constdata) .data 0x20000000 Section 16 mytimer.o(.data) STACK 0x20000010 Section 1024 startup_stm32f10x_md.o(STACK) @@ -171,7 +201,7 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) - BuildAttributes$$THM_ISAv4$P$D$K$B$S$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + BuildAttributes$$THM_ISAv4$P$D$K$B$S$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$ROPI$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE __ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE __arm_fini_ - Undefined Weak Reference __cpp_initialize__aeabi_ - Undefined Weak Reference @@ -241,24 +271,35 @@ Image Symbol Table USB_HP_CAN1_TX_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) USB_LP_CAN1_RX0_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) WWDG_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) - __scatterload 0x08000129 Thumb Code 28 init.o(.text) - __scatterload_rt2 0x08000129 Thumb Code 0 init.o(.text) - Get_Angle 0x0800014d Thumb Code 8 mygirouette.o(i.Get_Angle) - Init_Girouette 0x08000155 Thumb Code 108 mygirouette.o(i.Init_Girouette) - MyGPIO_Init 0x080001c5 Thumb Code 166 driver_gpio.o(i.MyGPIO_Init) - MyTimer_Base_Init 0x08000279 Thumb Code 98 mytimer.o(i.MyTimer_Base_Init) - MyTimer_Base_Start 0x080002e5 Thumb Code 10 mytimer.o(i.MyTimer_Base_Start) - SystemInit 0x080003d9 Thumb Code 78 system_stm32f10x.o(i.SystemInit) - TIM1_UP_IRQHandler 0x08000439 Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler) - TIM2_IRQHandler 0x0800045d Thumb Code 32 mytimer.o(i.TIM2_IRQHandler) - TIM3_IRQHandler 0x08000481 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler) - TIM4_IRQHandler 0x080004a5 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler) - __scatterload_copy 0x080004c9 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x080004d7 Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x080004d9 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - main 0x080004e7 Thumb Code 14 main.o(i.main) - Region$$Table$$Base 0x0800050c Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x0800052c Number 0 anon$$obj.o(Region$$Table) + __aeabi_dmul 0x08000129 Thumb Code 228 dmul.o(.text) + __aeabi_ui2d 0x0800020d Thumb Code 26 dfltui.o(.text) + __aeabi_d2uiz 0x08000227 Thumb Code 50 dfixui.o(.text) + __aeabi_llsr 0x08000259 Thumb Code 32 llushr.o(.text) + _ll_ushift_r 0x08000259 Thumb Code 0 llushr.o(.text) + __I$use$fp 0x08000279 Thumb Code 0 iusefp.o(.text) + _double_round 0x08000279 Thumb Code 30 depilogue.o(.text) + _double_epilogue 0x08000297 Thumb Code 156 depilogue.o(.text) + __scatterload 0x08000335 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x08000335 Thumb Code 0 init.o(.text) + __aeabi_llsl 0x08000359 Thumb Code 30 llshl.o(.text) + _ll_shift_l 0x08000359 Thumb Code 0 llshl.o(.text) + Get_Max_Duty 0x08000377 Thumb Code 6 mytimer.o(i.Get_Max_Duty) + MyGPIO_Init 0x0800037d Thumb Code 166 driver_gpio.o(i.MyGPIO_Init) + MyTimer_Base_Init 0x08000431 Thumb Code 98 mytimer.o(i.MyTimer_Base_Init) + MyTimer_Base_Start 0x0800049d Thumb Code 10 mytimer.o(i.MyTimer_Base_Start) + MyTimer_PWM 0x080004a9 Thumb Code 472 mytimer.o(i.MyTimer_PWM) + Set_Duty_Cycle 0x08000779 Thumb Code 40 mytimer.o(i.Set_Duty_Cycle) + SystemInit 0x080007a1 Thumb Code 78 system_stm32f10x.o(i.SystemInit) + TIM1_UP_IRQHandler 0x08000801 Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler) + TIM2_IRQHandler 0x08000825 Thumb Code 32 mytimer.o(i.TIM2_IRQHandler) + TIM3_IRQHandler 0x08000849 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler) + TIM4_IRQHandler 0x0800086d Thumb Code 28 mytimer.o(i.TIM4_IRQHandler) + __scatterload_copy 0x08000891 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x0800089f Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x080008a1 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + main 0x080008b1 Thumb Code 84 main.o(i.main) + Region$$Table$$Base 0x08000928 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08000948 Number 0 anon$$obj.o(Region$$Table) ptr1 0x20000000 Data 4 mytimer.o(.data) ptr2 0x20000004 Data 4 mytimer.o(.data) ptr3 0x20000008 Data 4 mytimer.o(.data) @@ -273,52 +314,62 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000053c, Max: 0x00020000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000958, Max: 0x00020000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x0000052c, Max: 0x00020000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000948, Max: 0x00020000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x08000000 0x08000000 0x000000ec Data RO 303 RESET startup_stm32f10x_md.o - 0x080000ec 0x080000ec 0x00000000 Code RO 354 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x080000ec 0x080000ec 0x00000004 Code RO 357 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x080000f0 0x080000f0 0x00000004 Code RO 360 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 362 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 364 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x080000f4 0x080000f4 0x00000008 Code RO 365 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x080000fc 0x080000fc 0x00000004 Code RO 372 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) - 0x08000100 0x08000100 0x00000000 Code RO 367 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) - 0x08000100 0x08000100 0x00000000 Code RO 369 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) - 0x08000100 0x08000100 0x00000004 Code RO 358 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) - 0x08000104 0x08000104 0x00000024 Code RO 304 .text startup_stm32f10x_md.o - 0x08000128 0x08000128 0x00000024 Code RO 373 .text mc_w.l(init.o) - 0x0800014c 0x0800014c 0x00000008 Code RO 270 i.Get_Angle mygirouette.o - 0x08000154 0x08000154 0x00000070 Code RO 271 i.Init_Girouette mygirouette.o - 0x080001c4 0x080001c4 0x000000b4 Code RO 222 i.MyGPIO_Init driver_gpio.o - 0x08000278 0x08000278 0x0000006c Code RO 81 i.MyTimer_Base_Init mytimer.o - 0x080002e4 0x080002e4 0x0000000a Code RO 82 i.MyTimer_Base_Start mytimer.o - 0x080002ee 0x080002ee 0x00000008 Code RO 311 i.SetSysClock system_stm32f10x.o - 0x080002f6 0x080002f6 0x00000002 PAD - 0x080002f8 0x080002f8 0x000000e0 Code RO 312 i.SetSysClockTo72 system_stm32f10x.o - 0x080003d8 0x080003d8 0x00000060 Code RO 314 i.SystemInit system_stm32f10x.o - 0x08000438 0x08000438 0x00000024 Code RO 87 i.TIM1_UP_IRQHandler mytimer.o - 0x0800045c 0x0800045c 0x00000024 Code RO 88 i.TIM2_IRQHandler mytimer.o - 0x08000480 0x08000480 0x00000024 Code RO 89 i.TIM3_IRQHandler mytimer.o - 0x080004a4 0x080004a4 0x00000024 Code RO 90 i.TIM4_IRQHandler mytimer.o - 0x080004c8 0x080004c8 0x0000000e Code RO 377 i.__scatterload_copy mc_w.l(handlers.o) - 0x080004d6 0x080004d6 0x00000002 Code RO 378 i.__scatterload_null mc_w.l(handlers.o) - 0x080004d8 0x080004d8 0x0000000e Code RO 379 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x080004e6 0x080004e6 0x0000000e Code RO 5 i.main main.o - 0x080004f4 0x080004f4 0x00000018 Data RO 272 .constdata mygirouette.o - 0x0800050c 0x0800050c 0x00000020 Data RO 375 Region$$Table anon$$obj.o + 0x08000000 0x08000000 0x000000ec Data RO 304 RESET startup_stm32f10x_md.o + 0x080000ec 0x080000ec 0x00000000 Code RO 355 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 364 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 367 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 369 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 371 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 372 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 379 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) + 0x08000100 0x08000100 0x00000000 Code RO 374 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) + 0x08000100 0x08000100 0x00000000 Code RO 376 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) + 0x08000100 0x08000100 0x00000004 Code RO 365 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000104 0x08000104 0x00000024 Code RO 305 .text startup_stm32f10x_md.o + 0x08000128 0x08000128 0x000000e4 Code RO 358 .text mf_w.l(dmul.o) + 0x0800020c 0x0800020c 0x0000001a Code RO 360 .text mf_w.l(dfltui.o) + 0x08000226 0x08000226 0x00000032 Code RO 362 .text mf_w.l(dfixui.o) + 0x08000258 0x08000258 0x00000020 Code RO 380 .text mc_w.l(llushr.o) + 0x08000278 0x08000278 0x00000000 Code RO 382 .text mc_w.l(iusefp.o) + 0x08000278 0x08000278 0x000000ba Code RO 383 .text mf_w.l(depilogue.o) + 0x08000332 0x08000332 0x00000002 PAD + 0x08000334 0x08000334 0x00000024 Code RO 385 .text mc_w.l(init.o) + 0x08000358 0x08000358 0x0000001e Code RO 387 .text mc_w.l(llshl.o) + 0x08000376 0x08000376 0x00000006 Code RO 79 i.Get_Max_Duty mytimer.o + 0x0800037c 0x0800037c 0x000000b4 Code RO 223 i.MyGPIO_Init driver_gpio.o + 0x08000430 0x08000430 0x0000006c Code RO 82 i.MyTimer_Base_Init mytimer.o + 0x0800049c 0x0800049c 0x0000000a Code RO 83 i.MyTimer_Base_Start mytimer.o + 0x080004a6 0x080004a6 0x00000002 PAD + 0x080004a8 0x080004a8 0x000001e8 Code RO 85 i.MyTimer_PWM mytimer.o + 0x08000690 0x08000690 0x00000008 Code RO 312 i.SetSysClock system_stm32f10x.o + 0x08000698 0x08000698 0x000000e0 Code RO 313 i.SetSysClockTo72 system_stm32f10x.o + 0x08000778 0x08000778 0x00000028 Code RO 86 i.Set_Duty_Cycle mytimer.o + 0x080007a0 0x080007a0 0x00000060 Code RO 315 i.SystemInit system_stm32f10x.o + 0x08000800 0x08000800 0x00000024 Code RO 88 i.TIM1_UP_IRQHandler mytimer.o + 0x08000824 0x08000824 0x00000024 Code RO 89 i.TIM2_IRQHandler mytimer.o + 0x08000848 0x08000848 0x00000024 Code RO 90 i.TIM3_IRQHandler mytimer.o + 0x0800086c 0x0800086c 0x00000024 Code RO 91 i.TIM4_IRQHandler mytimer.o + 0x08000890 0x08000890 0x0000000e Code RO 391 i.__scatterload_copy mc_w.l(handlers.o) + 0x0800089e 0x0800089e 0x00000002 Code RO 392 i.__scatterload_null mc_w.l(handlers.o) + 0x080008a0 0x080008a0 0x0000000e Code RO 393 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x080008ae 0x080008ae 0x00000002 PAD + 0x080008b0 0x080008b0 0x00000064 Code RO 5 i.main main.o + 0x08000914 0x08000914 0x00000014 Data RO 6 .constdata main.o + 0x08000928 0x08000928 0x00000020 Data RO 389 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x0800052c, Size: 0x00000410, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000948, Size: 0x00000410, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x0800052c 0x00000010 Data RW 91 .data mytimer.o - 0x20000010 - 0x00000400 Zero RW 301 STACK startup_stm32f10x_md.o + 0x20000000 0x08000948 0x00000010 Data RW 92 .data mytimer.o + 0x20000010 - 0x00000400 Zero RW 302 STACK startup_stm32f10x_md.o ============================================================================== @@ -329,14 +380,13 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name 180 14 0 0 0 878 driver_gpio.o - 14 0 0 0 0 206763 main.o - 120 4 24 0 0 957 mygirouette.o - 262 38 0 16 0 4318 mytimer.o + 100 16 20 0 0 207811 main.o + 796 54 0 16 0 6216 mytimer.o 36 8 236 0 1024 792 startup_stm32f10x_md.o 328 28 0 0 0 1901 system_stm32f10x.o ---------------------------------------------------------------------- - 942 92 292 16 1024 215609 Object Totals + 1442 120 288 16 1024 217598 Object Totals 0 0 32 0 0 0 (incl. Generated) 2 0 0 0 0 0 (incl. Padding) @@ -355,19 +405,27 @@ Image component sizes 8 4 0 0 0 0 entry9a.o 30 0 0 0 0 0 handlers.o 36 8 0 0 0 68 init.o + 0 0 0 0 0 0 iusefp.o + 30 0 0 0 0 68 llshl.o + 32 0 0 0 0 68 llushr.o + 186 0 0 0 0 176 depilogue.o + 50 0 0 0 0 76 dfixui.o + 26 0 0 0 0 76 dfltui.o + 228 0 0 0 0 96 dmul.o ---------------------------------------------------------------------- - 90 16 0 0 0 68 Library Totals - 0 0 0 0 0 0 (incl. Padding) + 646 16 0 0 0 628 Library Totals + 4 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 90 16 0 0 0 68 mc_w.l + 152 16 0 0 0 204 mc_w.l + 490 0 0 0 0 424 mf_w.l ---------------------------------------------------------------------- - 90 16 0 0 0 68 Library Totals + 646 16 0 0 0 628 Library Totals ---------------------------------------------------------------------- @@ -376,15 +434,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 1032 108 292 16 1024 215309 Grand Totals - 1032 108 292 16 1024 215309 ELF Image Totals - 1032 108 292 16 0 0 ROM Totals + 2088 136 288 16 1024 217494 Grand Totals + 2088 136 288 16 1024 217494 ELF Image Totals + 2088 136 288 16 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 1324 ( 1.29kB) + Total RO Size (Code + RO Data) 2376 ( 2.32kB) Total RW Size (RW Data + ZI Data) 1040 ( 1.02kB) - Total ROM Size (Code + RO Data + RW Data) 1340 ( 1.31kB) + Total ROM Size (Code + RO Data + RW Data) 2392 ( 2.34kB) ============================================================================== diff --git a/Objects/Projet1_Réel.dep b/Objects/Projet1_Réel.dep index 17d0c4a..fc08d64 100644 --- a/Objects/Projet1_Réel.dep +++ b/Objects/Projet1_Réel.dep @@ -1,6 +1,6 @@ Dependencies for Project 'Projet1', Target 'Réel': (DO NOT MODIFY !) CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC -F (.\Sources\main.c)(0x635BBB54)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d) +F (.\Sources\main.c)(0x635BD358)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) I (.\RTE\_R_el\RTE_Components.h)(0x6352AB45) I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) @@ -13,7 +13,7 @@ I (.\FileInclude\Driver_GPIO.h)(0x6352AB45) I (.\FileInclude\MyTimer.h)(0x6352B1EA) I (.\FileInclude\MyADC.h)(0x6352AB45) I (.\FileInclude\MyGirouette.h)(0x635BBB64) -F (.\FileInclude\MyTimer.c)(0x6352B454)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mytimer.o --omf_browse .\objects\mytimer.crf --depend .\objects\mytimer.d) +F (.\FileInclude\MyTimer.c)(0x635BD048)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mytimer.o --omf_browse .\objects\mytimer.crf --depend .\objects\mytimer.d) I (FileInclude\MyTimer.h)(0x6352B1EA) I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) I (.\RTE\_R_el\RTE_Components.h)(0x6352AB45) diff --git a/Objects/Projet1_Simulation.axf b/Objects/Projet1_Simulation.axf index f27a149..9c5308d 100644 Binary files a/Objects/Projet1_Simulation.axf and b/Objects/Projet1_Simulation.axf differ diff --git a/Objects/Projet1_Simulation.build_log.htm b/Objects/Projet1_Simulation.build_log.htm index 5c2b9d3..a5aa582 100644 --- a/Objects/Projet1_Simulation.build_log.htm +++ b/Objects/Projet1_Simulation.build_log.htm @@ -29,16 +29,16 @@ Project File Date: 10/28/2022 Rebuild target 'Réel' assembling startup_stm32f10x_md.s... compiling MyADC.c... +compiling system_stm32f10x.c... compiling MyGirouette.c... compiling main.c... -Sources\main.c(17): warning: #550-D: variable "a" was set but never used - int a = 0; +Sources\main.c(24): warning: #177-D: variable "GPIOB8" was declared but never referenced + MyGPIO_Struct_TypeDef GPIOB8={ Sources\main.c: 1 warning, 0 errors compiling Driver_GPIO.c... -compiling system_stm32f10x.c... compiling MyTimer.c... linking... -Program Size: Code=1032 RO-data=292 RW-data=16 ZI-data=1024 +Program Size: Code=2088 RO-data=288 RW-data=16 ZI-data=1024 ".\Objects\Projet1_Simulation.axf" - 0 Error(s), 1 Warning(s).

Software Packages used:

diff --git a/Objects/Projet1_Simulation.htm b/Objects/Projet1_Simulation.htm index f07c410..2c20612 100644 --- a/Objects/Projet1_Simulation.htm +++ b/Objects/Projet1_Simulation.htm @@ -3,11 +3,11 @@ Static Call Graph - [.\Objects\Projet1_Simulation.axf]

Static Call Graph for image .\Objects\Projet1_Simulation.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Oct 28 13:22:35 2022 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Oct 28 15:04:29 2022

-

Maximum Stack Usage = 52 bytes + Unknown(Cycles, Untraceable Function Pointers)

+

Maximum Stack Usage = 112 bytes + Unknown(Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

-main ⇒ Init_Girouette ⇒ MyGPIO_Init +main ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round

Mutually Recursive functions @@ -90,27 +90,27 @@ Global Symbols

__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Address Reference Count : 1]

-

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) +

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

_main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))

[Calls]

-

__main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

__main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))

[Called By]

-

_main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) +

_main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) -

_main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) +

_main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) -

_main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) +

_main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) -

__rt_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E)) +

__rt_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E)) -

__rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F)) +

__rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F)) -

__rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011)) +

__rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))

Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
[Address Reference Count : 1]