From 15442150e9f401fc9170beb82ef04d63cda3ff92 Mon Sep 17 00:00:00 2001 From: Celia Date: Mon, 15 Nov 2021 19:17:23 +0100 Subject: [PATCH] integration --- Drivers/MyTimer.c | 1 + Keil_Commun/Listings/projet_chavirement.map | 479 ++++++++++-------- Keil_Commun/Local_Sources/principal.c | 18 +- Keil_Commun/Objects/bordage.crf | Bin 239786 -> 240874 bytes Keil_Commun/Objects/bordage.d | 1 + Keil_Commun/Objects/bordage.o | Bin 259324 -> 269848 bytes Keil_Commun/Objects/chavirement.crf | Bin 239409 -> 239732 bytes Keil_Commun/Objects/chavirement.o | Bin 263356 -> 263708 bytes Keil_Commun/Objects/driver_gpio.crf | Bin 238767 -> 238767 bytes Keil_Commun/Objects/driver_gpio.o | Bin 262100 -> 262100 bytes Keil_Commun/Objects/driver_spi.crf | Bin 239122 -> 239122 bytes Keil_Commun/Objects/driver_spi.o | Bin 261192 -> 261192 bytes Keil_Commun/Objects/mytimer.crf | Bin 239661 -> 239697 bytes Keil_Commun/Objects/mytimer.o | Bin 267352 -> 267388 bytes Keil_Commun/Objects/principal.crf | Bin 238655 -> 239030 bytes Keil_Commun/Objects/principal.d | 1 + Keil_Commun/Objects/principal.o | Bin 257648 -> 258708 bytes Keil_Commun/Objects/projet_chavirement.axf | Bin 245132 -> 254712 bytes .../Objects/projet_chavirement.build_log.htm | 38 +- Keil_Commun/Objects/projet_chavirement.htm | 415 +++++++++------ Keil_Commun/Objects/projet_chavirement.lnp | 1 + .../Objects/projet_chavirement_CarteSTM.dep | 71 ++- Keil_Commun/Objects/system_stm32f10x.crf | Bin 239349 -> 239349 bytes Keil_Commun/Objects/system_stm32f10x.o | Bin 259216 -> 259216 bytes Keil_Commun/Objects/tourniquet.crf | Bin 0 -> 238849 bytes Keil_Commun/Objects/tourniquet.d | 12 + Keil_Commun/Objects/tourniquet.o | Bin 0 -> 259484 bytes Keil_Commun/projet_chavirement.uvguix.chauz | 110 ++-- Keil_Commun/projet_chavirement.uvoptx | 45 +- Keil_Commun/projet_chavirement.uvprojx | 20 + .../bordage/drivers.uvguix.chauz | 53 +- Sources/bordage.c | 92 +++- Sources/bordage.h | 25 +- Sources/chavirement.c | 20 +- Sources/chavirement.h | 4 +- {Includes => Sources}/tourniquet.c | 26 +- {Includes => Sources}/tourniquet.h | 0 37 files changed, 888 insertions(+), 544 deletions(-) create mode 100644 Keil_Commun/Objects/tourniquet.crf create mode 100644 Keil_Commun/Objects/tourniquet.d create mode 100644 Keil_Commun/Objects/tourniquet.o rename {Includes => Sources}/tourniquet.c (51%) rename {Includes => Sources}/tourniquet.h (100%) diff --git a/Drivers/MyTimer.c b/Drivers/MyTimer.c index 6a7af73..b9a2a48 100644 --- a/Drivers/MyTimer.c +++ b/Drivers/MyTimer.c @@ -20,6 +20,7 @@ void MyTimer_EncoderMode_Conf ( TIM_TypeDef * TIM ) { TIM->PSC = 0; // Réglage de la période du Timer TIM->ARR = 360*4; + RCC->APB1ENR |= RCC_APB1ENR_TIM4EN ; // CC1S= ‘01’ (TIMx_CCMR1 register, TI1FP1 mapped on TI1) TIM->CCMR1 &= ~TIM_CCMR1_CC1S; diff --git a/Keil_Commun/Listings/projet_chavirement.map b/Keil_Commun/Listings/projet_chavirement.map index c0648e4..1bac1e9 100644 --- a/Keil_Commun/Listings/projet_chavirement.map +++ b/Keil_Commun/Listings/projet_chavirement.map @@ -17,11 +17,13 @@ Section Cross References mytimer.o(i.TIM3_IRQHandler) refers to mytimer.o(.data) for PtrF mytimer.o(i.TIM4_IRQHandler) refers to mytimer.o(.data) for PtrF principal.o(i.main) refers to driver_gpio.o(i.MyGPIO_Activate) for MyGPIO_Activate + principal.o(i.main) refers to bordage.o(i.init_bordage) for init_bordage + principal.o(i.main) refers to bordage.o(i.init_codeur_incr) for init_codeur_incr principal.o(i.main) refers to chavirement.o(i.chavirement_init) for chavirement_init - principal.o(i.main) refers to chavirement.o(i.chavirement_handler) for chavirement_handler - principal.o(i.main) refers to principal.o(.data) for value + principal.o(i.main) refers to tourniquet.o(i.tourniquet_init) for tourniquet_init chavirement.o(i.chavirement_handler) refers to chavirement.o(i.lire) for lire chavirement.o(i.chavirement_handler) refers to bordage.o(i.Roulis_Handler) for Roulis_Handler + chavirement.o(i.chavirement_handler) refers to chavirement.o(.data) for localvalue chavirement.o(i.chavirement_init) refers to driver_spi.o(i.SPI_init_master) for SPI_init_master chavirement.o(i.chavirement_init) refers to chavirement.o(i.ecrire) for ecrire chavirement.o(i.chavirement_init) refers to chavirement.o(i.lire) for lire @@ -33,19 +35,37 @@ Section Cross References chavirement.o(i.lire) refers to driver_spi.o(i.SPI_send) for SPI_send chavirement.o(i.lire) refers to driver_spi.o(i.SPI_rcv) for SPI_rcv chavirement.o(i.lire) refers to driver_gpio.o(i.MyGPIO_Set) for MyGPIO_Set + bordage.o(i.IT_bordage_auto) refers to bordage.o(i.calcul_angle_voile) for calcul_angle_voile + bordage.o(i.IT_bordage_auto) refers to bordage.o(i.bordage) for bordage + bordage.o(i.IT_bordage_auto) refers to bordage.o(.data) for tempo_chavirement bordage.o(i.Roulis_Handler) refers to bordage.o(i.bordage) for bordage + bordage.o(i.Roulis_Handler) refers to bordage.o(.data) for tempo_chavirement bordage.o(i.bordage) refers to dflti.o(.text) for __aeabi_i2d bordage.o(i.bordage) refers to dadd.o(.text) for __aeabi_drsub bordage.o(i.bordage) refers to d2f.o(.text) for __aeabi_d2f bordage.o(i.bordage) refers to f2d.o(.text) for __aeabi_f2d bordage.o(i.bordage) refers to ddiv.o(.text) for __aeabi_ddiv - bordage.o(i.bordage) refers to mytimer.o(i.MyTimer_Base_Init) for MyTimer_Base_Init - bordage.o(i.bordage) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init - bordage.o(i.bordage) refers to mytimer.o(i.MyTimer_PWM) for MyTimer_PWM bordage.o(i.bordage) refers to ffixui.o(.text) for __aeabi_f2uiz bordage.o(i.bordage) refers to mytimer.o(i.Set_Duty_Cycle) for Set_Duty_Cycle + bordage.o(i.calcul_angle_voile) refers to dflti.o(.text) for __aeabi_i2d + bordage.o(i.calcul_angle_voile) refers to dmul.o(.text) for __aeabi_dmul + bordage.o(i.calcul_angle_voile) refers to ddiv.o(.text) for __aeabi_ddiv + bordage.o(i.calcul_angle_voile) refers to dfixi.o(.text) for __aeabi_d2iz + bordage.o(i.init_bordage) refers to mytimer.o(i.MyTimer_Base_Init) for MyTimer_Base_Init + bordage.o(i.init_bordage) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init + bordage.o(i.init_bordage) refers to mytimer.o(i.MyTimer_PWM) for MyTimer_PWM + bordage.o(i.init_codeur_incr) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init + bordage.o(i.init_codeur_incr) refers to bordage.o(i.init_exti_interrupt) for init_exti_interrupt + bordage.o(i.init_codeur_incr) refers to mytimer.o(i.MyTimer_EncoderMode_Conf) for MyTimer_EncoderMode_Conf + tourniquet.o(i.tourniquet_handler) refers to tourniquet.o(.data) for tourniquet_curseur + tourniquet.o(i.tourniquet_init) refers to mytimer.o(i.MyTimer_ActiveIT) for MyTimer_ActiveIT + tourniquet.o(i.tourniquet_init) refers to tourniquet.o(.data) for tourniquet_curseur + tourniquet.o(i.tourniquet_init) refers to tourniquet.o(i.tourniquet_handler) for tourniquet_handler + tourniquet.o(.data) refers to chavirement.o(i.chavirement_handler) for chavirement_handler + tourniquet.o(.data) refers to bordage.o(i.IT_bordage_auto) for IT_bordage_auto startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(STACK) for __initial_sp startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(.text) for Reset_Handler + startup_stm32f10x_md.o(RESET) refers to bordage.o(i.EXTI9_5_IRQHandler) for EXTI9_5_IRQHandler startup_stm32f10x_md.o(RESET) refers to mytimer.o(i.TIM1_UP_IRQHandler) for TIM1_UP_IRQHandler startup_stm32f10x_md.o(RESET) refers to mytimer.o(i.TIM2_IRQHandler) for TIM2_IRQHandler startup_stm32f10x_md.o(RESET) refers to mytimer.o(i.TIM3_IRQHandler) for TIM3_IRQHandler @@ -67,11 +87,15 @@ Section Cross References dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr dadd.o(.text) refers to depilogue.o(.text) for _double_epilogue + dmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue ddiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp ddiv.o(.text) refers to depilogue.o(.text) for _double_round dflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp dflti.o(.text) refers to depilogue.o(.text) for _double_epilogue ffixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfixi.o(.text) refers to llushr.o(.text) for __aeabi_llsr f2d.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp d2f.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp d2f.o(.text) refers to fepilogue.o(.text) for _float_round @@ -102,17 +126,19 @@ 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.MyTimer_ActiveIT), (112 bytes). - Removing mytimer.o(i.MyTimer_EncoderMode_Conf), (124 bytes). Removing principal.o(.rev16_text), (4 bytes). Removing principal.o(.revsh_text), (4 bytes). Removing principal.o(.rrx_text), (6 bytes). + Removing principal.o(.data), (2 bytes). Removing chavirement.o(.rev16_text), (4 bytes). Removing chavirement.o(.revsh_text), (4 bytes). Removing chavirement.o(.rrx_text), (6 bytes). Removing bordage.o(.rev16_text), (4 bytes). Removing bordage.o(.revsh_text), (4 bytes). Removing bordage.o(.rrx_text), (6 bytes). + Removing tourniquet.o(.rev16_text), (4 bytes). + Removing tourniquet.o(.revsh_text), (4 bytes). + Removing tourniquet.o(.rrx_text), (6 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). @@ -120,7 +146,7 @@ Removing Unused input sections from the image. Removing system_stm32f10x.o(i.SystemCoreClockUpdate), (164 bytes). Removing system_stm32f10x.o(.data), (20 bytes). -28 unused section(s) (total 1078 bytes) removed from the image. +30 unused section(s) (total 858 bytes) removed from the image. ============================================================================== @@ -130,43 +156,47 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.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 entry11b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.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 entry8a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../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 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE - ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE ../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE ../fplib/microlib/f2d.c 0x00000000 Number 0 f2d.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE - ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixi.o ABSOLUTE ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 dflti.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE ..\Drivers\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE ..\Drivers\Driver_SPI.c 0x00000000 Number 0 driver_spi.o ABSOLUTE ..\Drivers\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE ..\Sources\bordage.c 0x00000000 Number 0 bordage.o ABSOLUTE ..\Sources\chavirement.c 0x00000000 Number 0 chavirement.o ABSOLUTE + ..\Sources\tourniquet.c 0x00000000 Number 0 tourniquet.o ABSOLUTE ..\\Drivers\\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE ..\\Drivers\\Driver_SPI.c 0x00000000 Number 0 driver_spi.o ABSOLUTE ..\\Drivers\\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE ..\\Sources\\bordage.c 0x00000000 Number 0 bordage.o ABSOLUTE ..\\Sources\\chavirement.c 0x00000000 Number 0 chavirement.o ABSOLUTE + ..\\Sources\\tourniquet.c 0x00000000 Number 0 tourniquet.o ABSOLUTE Local_Sources\\principal.c 0x00000000 Number 0 principal.o ABSOLUTE Local_Sources\principal.c 0x00000000 Number 0 principal.o ABSOLUTE RTE\Device\STM32F103RB\startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE @@ -189,53 +219,66 @@ Image Symbol Table __lit__00000000 0x08000100 Data 4 entry2.o(.ARM.Collect$$$$00002712) .text 0x08000104 Section 36 startup_stm32f10x_md.o(.text) .text 0x08000128 Section 0 dadd.o(.text) - .text 0x08000276 Section 0 ddiv.o(.text) - .text 0x08000354 Section 0 dflti.o(.text) - .text 0x08000376 Section 0 ffixui.o(.text) - .text 0x0800039e Section 0 f2d.o(.text) - .text 0x080003c4 Section 0 d2f.o(.text) - .text 0x080003fc Section 0 llshl.o(.text) - .text 0x0800041a Section 0 llsshr.o(.text) - .text 0x0800043e Section 0 fepilogue.o(.text) - .text 0x0800043e Section 0 iusefp.o(.text) - .text 0x080004ac Section 0 depilogue.o(.text) - .text 0x08000568 Section 36 init.o(.text) - .text 0x0800058c Section 0 llushr.o(.text) - i.MyGPIO_Activate 0x080005ac Section 0 driver_gpio.o(i.MyGPIO_Activate) - i.MyGPIO_Init 0x080005c4 Section 0 driver_gpio.o(i.MyGPIO_Init) - i.MyGPIO_Reset 0x0800066a Section 0 driver_gpio.o(i.MyGPIO_Reset) - i.MyGPIO_Set 0x08000676 Section 0 driver_gpio.o(i.MyGPIO_Set) - i.MyTimer_Base_Init 0x08000680 Section 0 mytimer.o(i.MyTimer_Base_Init) - i.MyTimer_PWM 0x080006fc Section 0 mytimer.o(i.MyTimer_PWM) - i.Roulis_Handler 0x08000774 Section 0 bordage.o(i.Roulis_Handler) - i.SPI_activate_clock 0x08000780 Section 0 driver_spi.o(i.SPI_activate_clock) - i.SPI_init_master 0x080007bc Section 0 driver_spi.o(i.SPI_init_master) - i.SPI_rcv 0x08000884 Section 0 driver_spi.o(i.SPI_rcv) - i.SPI_send 0x080008a8 Section 0 driver_spi.o(i.SPI_send) - i.SetSysClock 0x080008c6 Section 0 system_stm32f10x.o(i.SetSysClock) - SetSysClock 0x080008c7 Thumb Code 8 system_stm32f10x.o(i.SetSysClock) - i.SetSysClockTo72 0x080008d0 Section 0 system_stm32f10x.o(i.SetSysClockTo72) - SetSysClockTo72 0x080008d1 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72) - i.Set_Duty_Cycle 0x080009b0 Section 0 mytimer.o(i.Set_Duty_Cycle) - i.SystemInit 0x080009fc Section 0 system_stm32f10x.o(i.SystemInit) - i.TIM1_UP_IRQHandler 0x08000a5c Section 0 mytimer.o(i.TIM1_UP_IRQHandler) - i.TIM2_IRQHandler 0x08000a80 Section 0 mytimer.o(i.TIM2_IRQHandler) - i.TIM3_IRQHandler 0x08000aa4 Section 0 mytimer.o(i.TIM3_IRQHandler) - i.TIM4_IRQHandler 0x08000ac8 Section 0 mytimer.o(i.TIM4_IRQHandler) - i.__scatterload_copy 0x08000aec Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x08000afa Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x08000afc Section 14 handlers.o(i.__scatterload_zeroinit) - i.bordage 0x08000b0c Section 0 bordage.o(i.bordage) - i.chavirement_handler 0x08000bb4 Section 0 chavirement.o(i.chavirement_handler) - i.chavirement_init 0x08000bd8 Section 0 chavirement.o(i.chavirement_init) - i.ecrire 0x08000bfc Section 0 chavirement.o(i.ecrire) - i.lire 0x08000c3c Section 0 chavirement.o(i.lire) - i.main 0x08000c80 Section 0 principal.o(i.main) + .text 0x08000276 Section 0 dmul.o(.text) + .text 0x0800035a Section 0 ddiv.o(.text) + .text 0x08000438 Section 0 dflti.o(.text) + .text 0x0800045a Section 0 ffixui.o(.text) + .text 0x08000482 Section 0 dfixi.o(.text) + .text 0x080004c0 Section 0 f2d.o(.text) + .text 0x080004e6 Section 0 d2f.o(.text) + .text 0x0800051e Section 0 llshl.o(.text) + .text 0x0800053c Section 0 llushr.o(.text) + .text 0x0800055c Section 0 llsshr.o(.text) + .text 0x08000580 Section 0 fepilogue.o(.text) + .text 0x08000580 Section 0 iusefp.o(.text) + .text 0x080005ee Section 0 depilogue.o(.text) + .text 0x080006a8 Section 36 init.o(.text) + i.EXTI9_5_IRQHandler 0x080006cc Section 0 bordage.o(i.EXTI9_5_IRQHandler) + i.IT_bordage_auto 0x080006e8 Section 0 bordage.o(i.IT_bordage_auto) + i.MyGPIO_Activate 0x08000724 Section 0 driver_gpio.o(i.MyGPIO_Activate) + i.MyGPIO_Init 0x0800073c Section 0 driver_gpio.o(i.MyGPIO_Init) + i.MyGPIO_Reset 0x080007e2 Section 0 driver_gpio.o(i.MyGPIO_Reset) + i.MyGPIO_Set 0x080007ee Section 0 driver_gpio.o(i.MyGPIO_Set) + i.MyTimer_ActiveIT 0x080007f8 Section 0 mytimer.o(i.MyTimer_ActiveIT) + i.MyTimer_Base_Init 0x08000868 Section 0 mytimer.o(i.MyTimer_Base_Init) + i.MyTimer_EncoderMode_Conf 0x080008e4 Section 0 mytimer.o(i.MyTimer_EncoderMode_Conf) + i.MyTimer_PWM 0x08000970 Section 0 mytimer.o(i.MyTimer_PWM) + i.Roulis_Handler 0x080009e8 Section 0 bordage.o(i.Roulis_Handler) + i.SPI_activate_clock 0x080009fc Section 0 driver_spi.o(i.SPI_activate_clock) + i.SPI_init_master 0x08000a38 Section 0 driver_spi.o(i.SPI_init_master) + i.SPI_rcv 0x08000b00 Section 0 driver_spi.o(i.SPI_rcv) + i.SPI_send 0x08000b24 Section 0 driver_spi.o(i.SPI_send) + i.SetSysClock 0x08000b42 Section 0 system_stm32f10x.o(i.SetSysClock) + SetSysClock 0x08000b43 Thumb Code 8 system_stm32f10x.o(i.SetSysClock) + i.SetSysClockTo72 0x08000b4c Section 0 system_stm32f10x.o(i.SetSysClockTo72) + SetSysClockTo72 0x08000b4d Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72) + i.Set_Duty_Cycle 0x08000c2c Section 0 mytimer.o(i.Set_Duty_Cycle) + i.SystemInit 0x08000c78 Section 0 system_stm32f10x.o(i.SystemInit) + i.TIM1_UP_IRQHandler 0x08000cd8 Section 0 mytimer.o(i.TIM1_UP_IRQHandler) + i.TIM2_IRQHandler 0x08000cfc Section 0 mytimer.o(i.TIM2_IRQHandler) + i.TIM3_IRQHandler 0x08000d20 Section 0 mytimer.o(i.TIM3_IRQHandler) + i.TIM4_IRQHandler 0x08000d44 Section 0 mytimer.o(i.TIM4_IRQHandler) + i.__scatterload_copy 0x08000d68 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x08000d76 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x08000d78 Section 14 handlers.o(i.__scatterload_zeroinit) + i.bordage 0x08000d88 Section 0 bordage.o(i.bordage) + i.calcul_angle_voile 0x08000df0 Section 0 bordage.o(i.calcul_angle_voile) + i.chavirement_handler 0x08000e68 Section 0 chavirement.o(i.chavirement_handler) + i.chavirement_init 0x08000e98 Section 0 chavirement.o(i.chavirement_init) + i.ecrire 0x08000ebc Section 0 chavirement.o(i.ecrire) + i.init_bordage 0x08000efc Section 0 bordage.o(i.init_bordage) + i.init_codeur_incr 0x08000f40 Section 0 bordage.o(i.init_codeur_incr) + i.init_exti_interrupt 0x08000f90 Section 0 bordage.o(i.init_exti_interrupt) + i.lire 0x08001000 Section 0 chavirement.o(i.lire) + i.main 0x08001044 Section 0 principal.o(i.main) + i.tourniquet_handler 0x08001068 Section 0 tourniquet.o(i.tourniquet_handler) + i.tourniquet_init 0x080010bc Section 0 tourniquet.o(i.tourniquet_init) .data 0x20000000 Section 8 driver_spi.o(.data) .data 0x20000008 Section 4 mytimer.o(.data) - .data 0x2000000c Section 2 principal.o(.data) - .data 0x20000010 Section 4 chavirement.o(.data) - STACK 0x20000018 Section 1024 startup_stm32f10x_md.o(STACK) + .data 0x2000000c Section 8 chavirement.o(.data) + .data 0x20000014 Section 4 bordage.o(.data) + .data 0x20000018 Section 12 tourniquet.o(.data) + STACK 0x20000028 Section 1024 startup_stm32f10x_md.o(STACK) Global Symbols @@ -288,7 +331,6 @@ Image Symbol Table EXTI2_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) EXTI3_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) EXTI4_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) - EXTI9_5_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) FLASH_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) I2C1_ER_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) I2C1_EV_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text) @@ -314,57 +356,76 @@ Image Symbol Table __aeabi_dadd 0x08000129 Thumb Code 322 dadd.o(.text) __aeabi_dsub 0x0800026b Thumb Code 6 dadd.o(.text) __aeabi_drsub 0x08000271 Thumb Code 6 dadd.o(.text) - __aeabi_ddiv 0x08000277 Thumb Code 222 ddiv.o(.text) - __aeabi_i2d 0x08000355 Thumb Code 34 dflti.o(.text) - __aeabi_f2uiz 0x08000377 Thumb Code 40 ffixui.o(.text) - __aeabi_f2d 0x0800039f Thumb Code 38 f2d.o(.text) - __aeabi_d2f 0x080003c5 Thumb Code 56 d2f.o(.text) - __aeabi_llsl 0x080003fd Thumb Code 30 llshl.o(.text) - _ll_shift_l 0x080003fd Thumb Code 0 llshl.o(.text) - __aeabi_lasr 0x0800041b Thumb Code 36 llsshr.o(.text) - _ll_sshift_r 0x0800041b Thumb Code 0 llsshr.o(.text) - __I$use$fp 0x0800043f Thumb Code 0 iusefp.o(.text) - _float_round 0x0800043f Thumb Code 18 fepilogue.o(.text) - _float_epilogue 0x08000451 Thumb Code 92 fepilogue.o(.text) - _double_round 0x080004ad Thumb Code 30 depilogue.o(.text) - _double_epilogue 0x080004cb Thumb Code 156 depilogue.o(.text) - __scatterload 0x08000569 Thumb Code 28 init.o(.text) - __scatterload_rt2 0x08000569 Thumb Code 0 init.o(.text) - __aeabi_llsr 0x0800058d Thumb Code 32 llushr.o(.text) - _ll_ushift_r 0x0800058d Thumb Code 0 llushr.o(.text) - MyGPIO_Activate 0x080005ad Thumb Code 18 driver_gpio.o(i.MyGPIO_Activate) - MyGPIO_Init 0x080005c5 Thumb Code 166 driver_gpio.o(i.MyGPIO_Init) - MyGPIO_Reset 0x0800066b Thumb Code 12 driver_gpio.o(i.MyGPIO_Reset) - MyGPIO_Set 0x08000677 Thumb Code 8 driver_gpio.o(i.MyGPIO_Set) - MyTimer_Base_Init 0x08000681 Thumb Code 106 mytimer.o(i.MyTimer_Base_Init) - MyTimer_PWM 0x080006fd Thumb Code 120 mytimer.o(i.MyTimer_PWM) - Roulis_Handler 0x08000775 Thumb Code 10 bordage.o(i.Roulis_Handler) - SPI_activate_clock 0x08000781 Thumb Code 54 driver_spi.o(i.SPI_activate_clock) - SPI_init_master 0x080007bd Thumb Code 190 driver_spi.o(i.SPI_init_master) - SPI_rcv 0x08000885 Thumb Code 36 driver_spi.o(i.SPI_rcv) - SPI_send 0x080008a9 Thumb Code 30 driver_spi.o(i.SPI_send) - Set_Duty_Cycle 0x080009b1 Thumb Code 76 mytimer.o(i.Set_Duty_Cycle) - SystemInit 0x080009fd Thumb Code 78 system_stm32f10x.o(i.SystemInit) - TIM1_UP_IRQHandler 0x08000a5d Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler) - TIM2_IRQHandler 0x08000a81 Thumb Code 32 mytimer.o(i.TIM2_IRQHandler) - TIM3_IRQHandler 0x08000aa5 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler) - TIM4_IRQHandler 0x08000ac9 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler) - __scatterload_copy 0x08000aed Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x08000afb Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x08000afd Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - bordage 0x08000b0d Thumb Code 146 bordage.o(i.bordage) - chavirement_handler 0x08000bb5 Thumb Code 36 chavirement.o(i.chavirement_handler) - chavirement_init 0x08000bd9 Thumb Code 28 chavirement.o(i.chavirement_init) - ecrire 0x08000bfd Thumb Code 54 chavirement.o(i.ecrire) - lire 0x08000c3d Thumb Code 58 chavirement.o(i.lire) - main 0x08000c81 Thumb Code 30 principal.o(i.main) - Region$$Table$$Base 0x08000ca4 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08000cc4 Number 0 anon$$obj.o(Region$$Table) + __aeabi_dmul 0x08000277 Thumb Code 228 dmul.o(.text) + __aeabi_ddiv 0x0800035b Thumb Code 222 ddiv.o(.text) + __aeabi_i2d 0x08000439 Thumb Code 34 dflti.o(.text) + __aeabi_f2uiz 0x0800045b Thumb Code 40 ffixui.o(.text) + __aeabi_d2iz 0x08000483 Thumb Code 62 dfixi.o(.text) + __aeabi_f2d 0x080004c1 Thumb Code 38 f2d.o(.text) + __aeabi_d2f 0x080004e7 Thumb Code 56 d2f.o(.text) + __aeabi_llsl 0x0800051f Thumb Code 30 llshl.o(.text) + _ll_shift_l 0x0800051f Thumb Code 0 llshl.o(.text) + __aeabi_llsr 0x0800053d Thumb Code 32 llushr.o(.text) + _ll_ushift_r 0x0800053d Thumb Code 0 llushr.o(.text) + __aeabi_lasr 0x0800055d Thumb Code 36 llsshr.o(.text) + _ll_sshift_r 0x0800055d Thumb Code 0 llsshr.o(.text) + __I$use$fp 0x08000581 Thumb Code 0 iusefp.o(.text) + _float_round 0x08000581 Thumb Code 18 fepilogue.o(.text) + _float_epilogue 0x08000593 Thumb Code 92 fepilogue.o(.text) + _double_round 0x080005ef Thumb Code 30 depilogue.o(.text) + _double_epilogue 0x0800060d Thumb Code 156 depilogue.o(.text) + __scatterload 0x080006a9 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x080006a9 Thumb Code 0 init.o(.text) + EXTI9_5_IRQHandler 0x080006cd Thumb Code 20 bordage.o(i.EXTI9_5_IRQHandler) + IT_bordage_auto 0x080006e9 Thumb Code 50 bordage.o(i.IT_bordage_auto) + MyGPIO_Activate 0x08000725 Thumb Code 18 driver_gpio.o(i.MyGPIO_Activate) + MyGPIO_Init 0x0800073d Thumb Code 166 driver_gpio.o(i.MyGPIO_Init) + MyGPIO_Reset 0x080007e3 Thumb Code 12 driver_gpio.o(i.MyGPIO_Reset) + MyGPIO_Set 0x080007ef Thumb Code 8 driver_gpio.o(i.MyGPIO_Set) + MyTimer_ActiveIT 0x080007f9 Thumb Code 88 mytimer.o(i.MyTimer_ActiveIT) + MyTimer_Base_Init 0x08000869 Thumb Code 106 mytimer.o(i.MyTimer_Base_Init) + MyTimer_EncoderMode_Conf 0x080008e5 Thumb Code 136 mytimer.o(i.MyTimer_EncoderMode_Conf) + MyTimer_PWM 0x08000971 Thumb Code 120 mytimer.o(i.MyTimer_PWM) + Roulis_Handler 0x080009e9 Thumb Code 16 bordage.o(i.Roulis_Handler) + SPI_activate_clock 0x080009fd Thumb Code 54 driver_spi.o(i.SPI_activate_clock) + SPI_init_master 0x08000a39 Thumb Code 190 driver_spi.o(i.SPI_init_master) + SPI_rcv 0x08000b01 Thumb Code 36 driver_spi.o(i.SPI_rcv) + SPI_send 0x08000b25 Thumb Code 30 driver_spi.o(i.SPI_send) + Set_Duty_Cycle 0x08000c2d Thumb Code 76 mytimer.o(i.Set_Duty_Cycle) + SystemInit 0x08000c79 Thumb Code 78 system_stm32f10x.o(i.SystemInit) + TIM1_UP_IRQHandler 0x08000cd9 Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler) + TIM2_IRQHandler 0x08000cfd Thumb Code 32 mytimer.o(i.TIM2_IRQHandler) + TIM3_IRQHandler 0x08000d21 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler) + TIM4_IRQHandler 0x08000d45 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler) + __scatterload_copy 0x08000d69 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x08000d77 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x08000d79 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + bordage 0x08000d89 Thumb Code 88 bordage.o(i.bordage) + calcul_angle_voile 0x08000df1 Thumb Code 112 bordage.o(i.calcul_angle_voile) + chavirement_handler 0x08000e69 Thumb Code 40 chavirement.o(i.chavirement_handler) + chavirement_init 0x08000e99 Thumb Code 28 chavirement.o(i.chavirement_init) + ecrire 0x08000ebd Thumb Code 54 chavirement.o(i.ecrire) + init_bordage 0x08000efd Thumb Code 58 bordage.o(i.init_bordage) + init_codeur_incr 0x08000f41 Thumb Code 72 bordage.o(i.init_codeur_incr) + init_exti_interrupt 0x08000f91 Thumb Code 92 bordage.o(i.init_exti_interrupt) + lire 0x08001001 Thumb Code 58 chavirement.o(i.lire) + main 0x08001045 Thumb Code 34 principal.o(i.main) + tourniquet_handler 0x08001069 Thumb Code 66 tourniquet.o(i.tourniquet_handler) + tourniquet_init 0x080010bd Thumb Code 26 tourniquet.o(i.tourniquet_init) + Region$$Table$$Base 0x080010e8 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08001108 Number 0 anon$$obj.o(Region$$Table) sortieSPI 0x20000000 Data 8 driver_spi.o(.data) PtrF 0x20000008 Data 4 mytimer.o(.data) - value 0x2000000c Data 2 principal.o(.data) - device_id 0x20000010 Data 4 chavirement.o(.data) - __initial_sp 0x20000418 Data 0 startup_stm32f10x_md.o(STACK) + device_id 0x2000000c Data 4 chavirement.o(.data) + localvalue 0x20000010 Data 2 chavirement.o(.data) + lsblocal 0x20000012 Data 1 chavirement.o(.data) + msblocal 0x20000013 Data 1 chavirement.o(.data) + tempo_chavirement 0x20000014 Data 4 bordage.o(.data) + tourniquet_curseur 0x20000018 Data 1 tourniquet.o(.data) + maximum 0x20000019 Data 1 tourniquet.o(.data) + IT_TOURNIQUET_1 0x2000001c Data 4 tourniquet.o(.data) + IT_TOURNIQUET_2 0x20000020 Data 4 tourniquet.o(.data) + __initial_sp 0x20000428 Data 0 startup_stm32f10x_md.o(STACK) @@ -374,90 +435,101 @@ Memory Map of the image Image Entry point : 0x08000105 - Load Region LR_1 (Base: 0x08000000, Size: 0x00000cd8, Max: 0xffffffff, ABSOLUTE) + Load Region LR_1 (Base: 0x08000000, Size: 0x0000112c, Max: 0xffffffff, ABSOLUTE) - Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000cc4, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001108, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x08000000 0x08000000 0x000000ec Data RO 323 RESET startup_stm32f10x_md.o - 0x080000ec 0x080000ec 0x00000000 Code RO 374 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x080000ec 0x080000ec 0x00000004 Code RO 389 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x080000f0 0x080000f0 0x00000004 Code RO 392 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 394 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 396 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x080000f4 0x080000f4 0x00000008 Code RO 397 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x080000fc 0x080000fc 0x00000004 Code RO 404 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) - 0x08000100 0x08000100 0x00000000 Code RO 399 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) - 0x08000100 0x08000100 0x00000000 Code RO 401 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) - 0x08000100 0x08000100 0x00000004 Code RO 390 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) - 0x08000104 0x08000104 0x00000024 Code RO 324 * .text startup_stm32f10x_md.o - 0x08000128 0x08000128 0x0000014e Code RO 377 .text mf_w.l(dadd.o) - 0x08000276 0x08000276 0x000000de Code RO 379 .text mf_w.l(ddiv.o) - 0x08000354 0x08000354 0x00000022 Code RO 381 .text mf_w.l(dflti.o) - 0x08000376 0x08000376 0x00000028 Code RO 383 .text mf_w.l(ffixui.o) - 0x0800039e 0x0800039e 0x00000026 Code RO 385 .text mf_w.l(f2d.o) - 0x080003c4 0x080003c4 0x00000038 Code RO 387 .text mf_w.l(d2f.o) - 0x080003fc 0x080003fc 0x0000001e Code RO 405 .text mc_w.l(llshl.o) - 0x0800041a 0x0800041a 0x00000024 Code RO 407 .text mc_w.l(llsshr.o) - 0x0800043e 0x0800043e 0x00000000 Code RO 409 .text mc_w.l(iusefp.o) - 0x0800043e 0x0800043e 0x0000006e Code RO 410 .text mf_w.l(fepilogue.o) - 0x080004ac 0x080004ac 0x000000ba Code RO 412 .text mf_w.l(depilogue.o) - 0x08000566 0x08000566 0x00000002 PAD - 0x08000568 0x08000568 0x00000024 Code RO 414 .text mc_w.l(init.o) - 0x0800058c 0x0800058c 0x00000020 Code RO 416 .text mc_w.l(llushr.o) - 0x080005ac 0x080005ac 0x00000018 Code RO 4 i.MyGPIO_Activate driver_gpio.o - 0x080005c4 0x080005c4 0x000000a6 Code RO 5 i.MyGPIO_Init driver_gpio.o - 0x0800066a 0x0800066a 0x0000000c Code RO 7 i.MyGPIO_Reset driver_gpio.o - 0x08000676 0x08000676 0x00000008 Code RO 8 i.MyGPIO_Set driver_gpio.o - 0x0800067e 0x0800067e 0x00000002 PAD - 0x08000680 0x08000680 0x0000007c Code RO 139 i.MyTimer_Base_Init mytimer.o - 0x080006fc 0x080006fc 0x00000078 Code RO 141 i.MyTimer_PWM mytimer.o - 0x08000774 0x08000774 0x0000000a Code RO 294 i.Roulis_Handler bordage.o - 0x0800077e 0x0800077e 0x00000002 PAD - 0x08000780 0x08000780 0x0000003c Code RO 90 i.SPI_activate_clock driver_spi.o - 0x080007bc 0x080007bc 0x000000c8 Code RO 91 i.SPI_init_master driver_spi.o - 0x08000884 0x08000884 0x00000024 Code RO 92 i.SPI_rcv driver_spi.o - 0x080008a8 0x080008a8 0x0000001e Code RO 93 i.SPI_send driver_spi.o - 0x080008c6 0x080008c6 0x00000008 Code RO 331 i.SetSysClock system_stm32f10x.o - 0x080008ce 0x080008ce 0x00000002 PAD - 0x080008d0 0x080008d0 0x000000e0 Code RO 332 i.SetSysClockTo72 system_stm32f10x.o - 0x080009b0 0x080009b0 0x0000004c Code RO 142 i.Set_Duty_Cycle mytimer.o - 0x080009fc 0x080009fc 0x00000060 Code RO 334 i.SystemInit system_stm32f10x.o - 0x08000a5c 0x08000a5c 0x00000024 Code RO 143 i.TIM1_UP_IRQHandler mytimer.o - 0x08000a80 0x08000a80 0x00000024 Code RO 144 i.TIM2_IRQHandler mytimer.o - 0x08000aa4 0x08000aa4 0x00000024 Code RO 145 i.TIM3_IRQHandler mytimer.o - 0x08000ac8 0x08000ac8 0x00000024 Code RO 146 i.TIM4_IRQHandler mytimer.o - 0x08000aec 0x08000aec 0x0000000e Code RO 420 i.__scatterload_copy mc_w.l(handlers.o) - 0x08000afa 0x08000afa 0x00000002 Code RO 421 i.__scatterload_null mc_w.l(handlers.o) - 0x08000afc 0x08000afc 0x0000000e Code RO 422 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x08000b0a 0x08000b0a 0x00000002 PAD - 0x08000b0c 0x08000b0c 0x000000a8 Code RO 295 i.bordage bordage.o - 0x08000bb4 0x08000bb4 0x00000024 Code RO 249 i.chavirement_handler chavirement.o - 0x08000bd8 0x08000bd8 0x00000024 Code RO 250 i.chavirement_init chavirement.o - 0x08000bfc 0x08000bfc 0x00000040 Code RO 251 i.ecrire chavirement.o - 0x08000c3c 0x08000c3c 0x00000044 Code RO 252 i.lire chavirement.o - 0x08000c80 0x08000c80 0x00000024 Code RO 216 i.main principal.o - 0x08000ca4 0x08000ca4 0x00000020 Data RO 418 Region$$Table anon$$obj.o + 0x08000000 0x08000000 0x000000ec Data RO 401 RESET startup_stm32f10x_md.o + 0x080000ec 0x080000ec 0x00000000 Code RO 452 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 471 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 474 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 476 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 478 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 479 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 486 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) + 0x08000100 0x08000100 0x00000000 Code RO 481 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) + 0x08000100 0x08000100 0x00000000 Code RO 483 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) + 0x08000100 0x08000100 0x00000004 Code RO 472 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000104 0x08000104 0x00000024 Code RO 402 * .text startup_stm32f10x_md.o + 0x08000128 0x08000128 0x0000014e Code RO 455 .text mf_w.l(dadd.o) + 0x08000276 0x08000276 0x000000e4 Code RO 457 .text mf_w.l(dmul.o) + 0x0800035a 0x0800035a 0x000000de Code RO 459 .text mf_w.l(ddiv.o) + 0x08000438 0x08000438 0x00000022 Code RO 461 .text mf_w.l(dflti.o) + 0x0800045a 0x0800045a 0x00000028 Code RO 463 .text mf_w.l(ffixui.o) + 0x08000482 0x08000482 0x0000003e Code RO 465 .text mf_w.l(dfixi.o) + 0x080004c0 0x080004c0 0x00000026 Code RO 467 .text mf_w.l(f2d.o) + 0x080004e6 0x080004e6 0x00000038 Code RO 469 .text mf_w.l(d2f.o) + 0x0800051e 0x0800051e 0x0000001e Code RO 487 .text mc_w.l(llshl.o) + 0x0800053c 0x0800053c 0x00000020 Code RO 489 .text mc_w.l(llushr.o) + 0x0800055c 0x0800055c 0x00000024 Code RO 491 .text mc_w.l(llsshr.o) + 0x08000580 0x08000580 0x00000000 Code RO 493 .text mc_w.l(iusefp.o) + 0x08000580 0x08000580 0x0000006e Code RO 494 .text mf_w.l(fepilogue.o) + 0x080005ee 0x080005ee 0x000000ba Code RO 496 .text mf_w.l(depilogue.o) + 0x080006a8 0x080006a8 0x00000024 Code RO 498 .text mc_w.l(init.o) + 0x080006cc 0x080006cc 0x0000001c Code RO 297 i.EXTI9_5_IRQHandler bordage.o + 0x080006e8 0x080006e8 0x0000003c Code RO 298 i.IT_bordage_auto bordage.o + 0x08000724 0x08000724 0x00000018 Code RO 4 i.MyGPIO_Activate driver_gpio.o + 0x0800073c 0x0800073c 0x000000a6 Code RO 5 i.MyGPIO_Init driver_gpio.o + 0x080007e2 0x080007e2 0x0000000c Code RO 7 i.MyGPIO_Reset driver_gpio.o + 0x080007ee 0x080007ee 0x00000008 Code RO 8 i.MyGPIO_Set driver_gpio.o + 0x080007f6 0x080007f6 0x00000002 PAD + 0x080007f8 0x080007f8 0x00000070 Code RO 138 i.MyTimer_ActiveIT mytimer.o + 0x08000868 0x08000868 0x0000007c Code RO 139 i.MyTimer_Base_Init mytimer.o + 0x080008e4 0x080008e4 0x0000008c Code RO 140 i.MyTimer_EncoderMode_Conf mytimer.o + 0x08000970 0x08000970 0x00000078 Code RO 141 i.MyTimer_PWM mytimer.o + 0x080009e8 0x080009e8 0x00000014 Code RO 299 i.Roulis_Handler bordage.o + 0x080009fc 0x080009fc 0x0000003c Code RO 90 i.SPI_activate_clock driver_spi.o + 0x08000a38 0x08000a38 0x000000c8 Code RO 91 i.SPI_init_master driver_spi.o + 0x08000b00 0x08000b00 0x00000024 Code RO 92 i.SPI_rcv driver_spi.o + 0x08000b24 0x08000b24 0x0000001e Code RO 93 i.SPI_send driver_spi.o + 0x08000b42 0x08000b42 0x00000008 Code RO 409 i.SetSysClock system_stm32f10x.o + 0x08000b4a 0x08000b4a 0x00000002 PAD + 0x08000b4c 0x08000b4c 0x000000e0 Code RO 410 i.SetSysClockTo72 system_stm32f10x.o + 0x08000c2c 0x08000c2c 0x0000004c Code RO 142 i.Set_Duty_Cycle mytimer.o + 0x08000c78 0x08000c78 0x00000060 Code RO 412 i.SystemInit system_stm32f10x.o + 0x08000cd8 0x08000cd8 0x00000024 Code RO 143 i.TIM1_UP_IRQHandler mytimer.o + 0x08000cfc 0x08000cfc 0x00000024 Code RO 144 i.TIM2_IRQHandler mytimer.o + 0x08000d20 0x08000d20 0x00000024 Code RO 145 i.TIM3_IRQHandler mytimer.o + 0x08000d44 0x08000d44 0x00000024 Code RO 146 i.TIM4_IRQHandler mytimer.o + 0x08000d68 0x08000d68 0x0000000e Code RO 502 i.__scatterload_copy mc_w.l(handlers.o) + 0x08000d76 0x08000d76 0x00000002 Code RO 503 i.__scatterload_null mc_w.l(handlers.o) + 0x08000d78 0x08000d78 0x0000000e Code RO 504 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x08000d86 0x08000d86 0x00000002 PAD + 0x08000d88 0x08000d88 0x00000068 Code RO 300 i.bordage bordage.o + 0x08000df0 0x08000df0 0x00000078 Code RO 301 i.calcul_angle_voile bordage.o + 0x08000e68 0x08000e68 0x00000030 Code RO 252 i.chavirement_handler chavirement.o + 0x08000e98 0x08000e98 0x00000024 Code RO 253 i.chavirement_init chavirement.o + 0x08000ebc 0x08000ebc 0x00000040 Code RO 254 i.ecrire chavirement.o + 0x08000efc 0x08000efc 0x00000044 Code RO 302 i.init_bordage bordage.o + 0x08000f40 0x08000f40 0x00000050 Code RO 303 i.init_codeur_incr bordage.o + 0x08000f90 0x08000f90 0x00000070 Code RO 304 i.init_exti_interrupt bordage.o + 0x08001000 0x08001000 0x00000044 Code RO 255 i.lire chavirement.o + 0x08001044 0x08001044 0x00000022 Code RO 216 i.main principal.o + 0x08001066 0x08001066 0x00000002 PAD + 0x08001068 0x08001068 0x00000054 Code RO 369 i.tourniquet_handler tourniquet.o + 0x080010bc 0x080010bc 0x0000002c Code RO 370 i.tourniquet_init tourniquet.o + 0x080010e8 0x080010e8 0x00000020 Data RO 500 Region$$Table anon$$obj.o - Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000cc4, Size: 0x00000014, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08001108, Size: 0x00000024, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08000cc4 0x00000008 Data RW 94 .data driver_spi.o - 0x20000008 0x08000ccc 0x00000004 Data RW 147 .data mytimer.o - 0x2000000c 0x08000cd0 0x00000002 Data RW 217 .data principal.o - 0x2000000e 0x08000cd2 0x00000002 PAD - 0x20000010 0x08000cd4 0x00000004 Data RW 253 .data chavirement.o + 0x20000000 0x08001108 0x00000008 Data RW 94 .data driver_spi.o + 0x20000008 0x08001110 0x00000004 Data RW 147 .data mytimer.o + 0x2000000c 0x08001114 0x00000008 Data RW 256 .data chavirement.o + 0x20000014 0x0800111c 0x00000004 Data RW 305 .data bordage.o + 0x20000018 0x08001120 0x0000000c Data RW 371 .data tourniquet.o - Execution Region ER_ZI (Exec base: 0x20000014, Load base: 0x08000cd8, Size: 0x00000404, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_ZI (Exec base: 0x20000024, Load base: 0x0800112c, Size: 0x00000404, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000014 0x08000cd8 0x00000004 PAD - 0x20000018 - 0x00000400 Zero RW 321 STACK startup_stm32f10x_md.o + 0x20000024 0x0800112c 0x00000004 PAD + 0x20000028 - 0x00000400 Zero RW 399 STACK startup_stm32f10x_md.o ============================================================================== @@ -467,19 +539,20 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 178 22 0 0 0 1183 bordage.o - 204 28 0 4 0 2513 chavirement.o + 592 84 0 4 0 4555 bordage.o + 216 36 0 8 0 2666 chavirement.o 210 6 0 0 0 209488 driver_gpio.o 326 16 0 8 0 2884 driver_spi.o - 464 46 0 4 0 4877 mytimer.o - 36 6 0 2 0 743 principal.o + 716 74 0 4 0 6131 mytimer.o + 34 0 0 0 0 499 principal.o 36 8 236 0 1024 852 startup_stm32f10x_md.o 328 28 0 0 0 2149 system_stm32f10x.o + 128 36 0 12 0 1804 tourniquet.o ---------------------------------------------------------------------- - 1788 160 268 20 1028 224689 Object Totals + 2592 288 268 36 1028 231028 Object Totals 0 0 32 0 0 0 (incl. Generated) - 6 0 0 2 4 0 (incl. Padding) + 6 0 0 0 4 0 (incl. Padding) ---------------------------------------------------------------------- @@ -504,24 +577,26 @@ Image component sizes 334 0 0 0 0 148 dadd.o 222 0 0 0 0 100 ddiv.o 186 0 0 0 0 176 depilogue.o + 62 0 0 0 0 80 dfixi.o 34 0 0 0 0 76 dflti.o + 228 0 0 0 0 96 dmul.o 38 0 0 0 0 68 f2d.o 110 0 0 0 0 168 fepilogue.o 40 0 0 0 0 68 ffixui.o ---------------------------------------------------------------------- - 1212 16 0 0 0 1164 Library Totals - 4 0 0 0 0 0 (incl. Padding) + 1500 16 0 0 0 1340 Library Totals + 2 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name 188 16 0 0 0 272 mc_w.l - 1020 0 0 0 0 892 mf_w.l + 1310 0 0 0 0 1068 mf_w.l ---------------------------------------------------------------------- - 1212 16 0 0 0 1164 Library Totals + 1500 16 0 0 0 1340 Library Totals ---------------------------------------------------------------------- @@ -530,15 +605,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 3000 176 268 20 1028 224341 Grand Totals - 3000 176 268 20 1028 224341 ELF Image Totals - 3000 176 268 20 0 0 ROM Totals + 4092 304 268 36 1028 230232 Grand Totals + 4092 304 268 36 1028 230232 ELF Image Totals + 4092 304 268 36 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 3268 ( 3.19kB) - Total RW Size (RW Data + ZI Data) 1048 ( 1.02kB) - Total ROM Size (Code + RO Data + RW Data) 3288 ( 3.21kB) + Total RO Size (Code + RO Data) 4360 ( 4.26kB) + Total RW Size (RW Data + ZI Data) 1064 ( 1.04kB) + Total ROM Size (Code + RO Data + RW Data) 4396 ( 4.29kB) ============================================================================== diff --git a/Keil_Commun/Local_Sources/principal.c b/Keil_Commun/Local_Sources/principal.c index ae40e5f..e0499a0 100644 --- a/Keil_Commun/Local_Sources/principal.c +++ b/Keil_Commun/Local_Sources/principal.c @@ -8,6 +8,8 @@ #include "bordage.h" +#include "tourniquet.h" + uint16_t value = 0; int main(void) { @@ -16,16 +18,10 @@ int main(void) { MyGPIO_Activate(1); MyGPIO_Activate(2); //on init le système de chavirement + init_bordage(); + init_codeur_incr(); + chavirement_init(); - - while (1) { - //on lance le contrôle du chavirement - /*while( i < 1000000 ) { - i++; - } - i = 0;*/ - - value = chavirement_handler(); - } - + tourniquet_init(); + while(1) {} } diff --git a/Keil_Commun/Objects/bordage.crf b/Keil_Commun/Objects/bordage.crf index 3f1aa1d4f42c51654f96588028ecfe76c835c76c..e46a34018161a469338b59ffd944ec2e97498f56 100644 GIT binary patch delta 2643 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 F@;}}yz*ztQ delta 1572 zcmZ9Ne{2**6vt=YF1LHLbJuI(C>5oz7fV5~45k`U3DJ1L3blk98V#|*(vTRmNed=K zA`2}P1f=a%mJ|enLd$8YC~=`i3{ZXumLKv*j~N&`T!y%zJOX z^M1_cde8f#XZf!+0=1 ze{Mbb91R?VNcpd!DVUAj0F^Jz_sR@b6&w?%`V_eW%~S&VVU#B;^7pMQ3G zxaX-+HxZ#Z+CplI2sp_o8Pc=nv)vN^?tGs9)GN{iTy?f{!;hB(tZlxN;s z3l>(e_U@6)e2`3LhmzB06&9D3EUH>uzKFFY9U}%~Wh%C;x}xgsO7>)T@Lz{DfAOLv zW#voCNvXNpKd9s-DgEWbB9?HQKY%v{&vnf0kjtCg$F@VE;7>VAqwq+&%(l7Ar8R-p zM4R`!15wBxnV!aMO^*ZWS1r*0w)lEy!a=CaPh;p6X=5R8)KmJDwiLEq9D(4in}0(Pj!}b!5m)ToaurB{+i>9K_l(9 z$7omLUW@^xhYhwvz+Df{B;k()-1FdzL>~*V4LnA)Q^0Zqj}Yw=u)@H@L@fep3_M8G zDxlWDZ`~=q5C)#@EV~Y)XCw=Kg`Ag2*g!8)4+$G+5M3r=GgU=`giWf#U{^@kM4RX; z37hyXQ7;LbxYX^t4%K|J!RjqIXyPXFG+1!R#EnFa792LQi6~-0hl!0uO%|Lsah1E{ z7nr7bN!x<2y%=`-Zo;|odF-wQXT2y4n+v2xlMqkSDx|3-Cp0vjmz;s$Ad!{HHcGhX z#s3el+QELvE*;LACDe&Q_t42Laf@x1u$rvY1Ro`|MZy}9>eYu5)(SijAI`Q)Sohy^ z5sKUuuI??a_p1PBCw8Vzl2tSE9sJU3A+a`>2&-4fEk=>y&$1e z;8bVkE!dWMe?190dPBlBfqut7kWydigBlAjkYkk(YAx(0s`J503uC0d+6SwwR0-%7 z{5hx|^+BtJjc)y4aL0Uz=8y&}0(gSXHKsvL0FM(z(x5hgN8K+pZHk{VvNPa75FK|Q zUAvXq2jOHE*0{G(t4n6w8iZR}ILWOKX~jVMOF`KG04n$T!`jZ8sb020aSx>dTHMR( z6*o|h1xDPUxQQ|k?!^79QE@Nw5j4F_o8OFkSVVCPmGgV6_V`$tXY++*YgRl1LzLlW zl??rcYTS|{InL&q^XhIb`l!r?pGdn+3DQRRk@zzuX#6=4r+YqELZBE)_l&W*>r9Sn z!?R?_=2uAdOO@026Uf1?yBY9ec=hO34iTnd&^Pl6hqDujuA8N@gZ|POYX6 t%W?W`3OK7|7Ru4Qjra#8N28p`n<@C5l4B@Mpng%CWJnh=o&FVA=pXF8x2^yH diff --git a/Keil_Commun/Objects/bordage.d b/Keil_Commun/Objects/bordage.d index 74dea6f..eedc1a8 100644 --- a/Keil_Commun/Objects/bordage.d +++ b/Keil_Commun/Objects/bordage.d @@ -9,4 +9,5 @@ .\objects\bordage.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h .\objects\bordage.o: C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h .\objects\bordage.o: ..\Drivers\MyTimer.h +.\objects\bordage.o: ..\Drivers\MyADC.h .\objects\bordage.o: ..\Sources\bordage.h diff --git a/Keil_Commun/Objects/bordage.o b/Keil_Commun/Objects/bordage.o index 5eeacadce30cf974ecdcf096ef916b1c4a91b443..5970ecfec32f775ec935f51e8a4cb5be6caaac60 100644 GIT binary patch delta 19125 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 MZ;1o-RjT&?0KQ7y4*&oF delta 11275 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 diff --git a/Keil_Commun/Objects/chavirement.crf b/Keil_Commun/Objects/chavirement.crf index 1022828a1262d55c9a288ec6b29d99bd7fd523b0..12dcbd7a543c58e2eb4800345e884ce57bc8ac87 100644 GIT binary patch delta 1252 zcmb7EU1%It6h7z7X5F8e?dES?W13Dwk{Ytg&8FCDDC$eahqgjfL=3E(-KAOFWOdz5 zivcs>gD=KpO<{^!iehS#x6;&Ut2M2uX(|!}MM-x+X^BX|NDKx`HMVDlNiBV-xNzXR z-*?YdDqBk(%%@q&r*gT%t9ckN1t8+#?{&H3z56pMm@hr-?5|A3Gl@bbX7jPW zY?{?fsRDxbc3(2pmrkT&=_Kqa?WlyH%qHZ|WVx#^o++eYs#Fd^H?!!?yxwICaO_{M zXPq0>e<@ODh}UqHZ{u;-bIXu$aT8oKUVM*w$~-;|ajS-5eNLyDCbE`(E?L7}W(c}4 zz>5%<$`$2m)9?*r;xIk$!bbhC52+Ccjpid%@U>R5TE$h(WpzBrwUMiiYm#O70M!iM#cdB|2Ptx2g>hrXCuVet68v znKORbd;rFTKdj-$jK*#Bk+}gTY=l;pJh`M^b4=Phz#-o-E8&EYt;b=F!WqGN(+`tE z=BHxK+|3s|DHPODA@v~JekPPM4M!OnLg8oh0i#nw;X{WRowm^sTbvO}16%CSaEkfQ zg|bD%HyM2)6h69tfZY;+3g6yd$O=69NAcEc+^g*IR z$2G<%eJW9WGPiF3N@Z-35mD(j5p53!5t8g;L`I!iHxM6;20rGy=brP;$9I_gOKs?d zrcBC=Aux56v(=^&(XwOd^KM4Z(@YgZ(;re2?Cf0Ed@Ypx4YA}LR+~dRNR?SR3 z!$W5My5xFXGrSjep?5qxa;~5LasYD-BVQW9n_SZNb?S|>WO+b$%=WPqR}`wyZe=oXgR5YGiu!4LIlIYKy6Pn+3ap3P zZ*et5?OP3aW6SI|2bt{Qd*XMvW3?1=w!-dmDAAz|p&VY>dt`QxJ8ml>Lw)xPJPZ@W iA8@GEAr6DYM>ueY577K5hqw-#0k%QYq>Fwu7X1Uhg5j?K diff --git a/Keil_Commun/Objects/chavirement.o b/Keil_Commun/Objects/chavirement.o index 5142991373b99a0f1e7546ca396d21883f26eef8..0a720a91a7f84be5e76fa933f10917b0eae9f3b3 100644 GIT binary patch delta 12170 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 delta 11815 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 diff --git a/Keil_Commun/Objects/driver_gpio.crf b/Keil_Commun/Objects/driver_gpio.crf index c68a6b9b093302131b6aa5fbf94acc8c388b965f..094c8856bd3f9b306b7c9c85a5efd78c6c373956 100644 GIT binary patch delta 32 ncmZ2~l5hPUOzBJJTKj6lq^ VJzRvDWf_a9k!kYw_+8AUt^lRf6Au6Y delta 67 zcmccepa05#{tZ?lvI-UoMg~TPN(_t)@$n&^zOM1{3QC5SRwm|Fh9=G7BJJTKj6lq^ VJzRvDWf_Z6nuWpk_+8AUt^lO;6A%CZ diff --git a/Keil_Commun/Objects/driver_spi.crf b/Keil_Commun/Objects/driver_spi.crf index 6c974959b0ec43d75e2f25a4b39c233c5d88d6c4..4ea225ce77038a0d8e7d227792c5a36d7092d789 100644 GIT binary patch delta 74 zcmbPqhHugtz6qNA^Us{n4%}IVG5YoVa){>p1bkv1SSOcRdYIXdpa{C N5HoF0XJ%f#2mlWx8bkm9 delta 74 zcmbPqhHugtz6qNAXCLnGW@7+?)i=`_n4%}IVG5YoVa@gY$dn$i@WhR0Copl{KXwAb W-O!xQ+@8+N2*ga=)0vr9F9HA*5gJ4Q diff --git a/Keil_Commun/Objects/driver_spi.o b/Keil_Commun/Objects/driver_spi.o index 5cfa400b44e429e2535911c391ba1fc227c25750..1eea0ec0423eb266b9897845686e4918e2a27fcd 100644 GIT binary patch delta 52 zcmX@{ga5=2{tep%*^R7>46TffoA(N~?-gVOVy5kT1({2ivm2!)ChHnAOg_lyxxHy8 H^D!p?8JQD| delta 52 zcmX@{ga5=2{tep%*$u1=%&kmJn)eE}?-gVOVy5kT1({2ivzwS08|WG{Og_lyxxHy8 H^D!p?5v~&d diff --git a/Keil_Commun/Objects/mytimer.crf b/Keil_Commun/Objects/mytimer.crf index 4b6d1b71c71552ad319cc3bc95a04f29a4388ac6..f5a1a6f916c5b95697a08f1db9bf8edf2d53dea1 100644 GIT binary patch delta 2007 zcmaJ?3v5(H6n%52f$n`v`IK7S7s_<`wR~Tpg_f4m`YEMY%BKMu#X_M9i7`e4nwYQ~ zB^Iz~G0;)I3RtnQe9C7jNHhkd5QrFR6dr^GRIq#miij~0&+9INmAJ{-opa{S+&4S- zof|q4_w9+en!dd5SW|Te1E15&?3(**&5om$#CsPWiA=`5l_jgPqzGq8D*Yhf3ktS? zB%mkY2YLa$fqpZWgRhC5ESX*_|;U)xjDvcW=Q4(NW|F1NFW=?0Y(Ay04(LV1-{!oU_Zf&?l>=tf5G;FbX6Uo6v~qYf-3IJ?#Y-*i(yf4e)k~M#Wm_B$-FhHfg-*QPmaV=MZ89HP z)Jwtxe#dQg?QCr9OrLj&JUssRQM>QT%;7OGhj+u-BV?RV@Qjm=X>9S);$-Ez#|f~I zkCuSJM~;W*X39JfD0?h3#%tD)Ch)BqjM+ki7{wrHnc&4j+iqFvD8#_sBn zMZ3XZs{ydB7VQCpLw|xb+bjzERT=c{7VU)&*Zv4>heeHGaNSoB)nL&+znYBEPK);Y zmGxrCh>g1uL%wa)U@C#U=i>hP$Td<9;%bW0zNbt^cS=jbQd%i^cJ)hbQZy>XesC@ zXec5B+t=BgCOSC@#-}!CC?1KI2X6{q3c;hre8*#KYSZ(?N{l~i8)u4-okxv&n};Kw zIGZ?!cocCS3|}NU{f*55n+p^dqEQJhLW@F&5?q4bgw`au6#WS8NN|~W-sxs+X$u}B z_-Vlt1y2z(og^b<^K`|qy@>Ng%&*P=V1YxhYHM4-bAo3Io-OzVaR=hI=&BL_xMeGj lxZUPg)p`te*!+h2(7hF#7Yeo1y%n3QgSmt1_FbC!GHzi0(lWk!1p9zas>JKo&rp5$9BhuNeV%x z0n;NW>WW}dNTl06tEiGkr5L5mkjzdn8fq%Wh@dPMJ-bSPS_a}td8CjE%CXsqM`BL93Jd;WRSBrWOD(U&Nw z21*_zd9bX*V8^6-kDBSQaoVIE9>rNQRu^2NxR^4@izGHCu`k&}FTlw1M9DtMxsvlF zPm(-YR$_`4llFMj6HcP>heh&EcFrQ zyy&I#_bsI%U-Hrg$nN9mSZRgbe52D!rF!_^bXz3oAvY;OSoY&LaXk;2#n3i=rB@zA@PE)NteUN!!CwFKkK6t&|w@yz|Q&TWIG##$~o_&pOO`xh;hM3 zzd%oN57#s<`sfrG94cQ2GURXttBHet%|~aT!*sfXUH4H-JB!t2$cloC4bU|ivLFif zwNBs7kn|wi~8Uv~Xdaa*!Lx-QbqwD^fx<}1kB<)@~ADn!)ir~Lt?hi1w6sG^XVW9Mbbgn4~Z z@M60fn=F9}bbX>K9Bsfu+#HU0oC@g0)iOAySpDO4F+Q}!Wc3?@t(M4FzrrcDSu7Q& z62B^Vq2Mv5WNDe0-ZvP z#q8AFkI&lVZ zCUG_#UG#MZ7~9J&?1ppEfdo%L??LMkoR6l1o+G#rjRt*2a1l01;jHNdN!< diff --git a/Keil_Commun/Objects/mytimer.o b/Keil_Commun/Objects/mytimer.o index 1857849b492a40b9a20c00aece28d69cd5d48aca..fb77d8cf28ef56e6207de842bbcf5c66c03be121 100644 GIT binary patch delta 12354 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 W*E{Fp8eZ;&>2W3%J=1`n0{#!fz8L}l delta 12089 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 delta 311 zcmdmXns5IJKAsz#3=B++3_RNm7_=tx$Q%7WbfSli0SG?bRApe2)YFRz&Mz%WPA!f} z&PXiFEK1Ey%`4H%VCeia1)@%35|hs4zf77FH(B#PKLQn;cr%fKDRgo^llNwKMq4JX zXJ?@jTbj2rw{K-;+`g5Wsi1dy#6%{$>4B4&G}*QqFl91K-rg{Y=^iVio&IeOlPV_@M*|}xcLQT?yTV+i?Fw_5d)S188yM|wb2IcCfF)%b7>%~? zTFh+67$E>uE7-u8bDN7{g8>g?10xTULj7%ahK&Y1JPnLXfUHem)?y%QvjLAp1LL&Y noD5qG7`YV~WtiUHW@FfDz{sn>17vJ7VB}Nay1@brCYB#Yd#f&vI#!>bJ$+PdWmFL#P}#roU|fgbs>em1SYJ`qKaMIZEsE&a zxcY_cvAxEeIOdoW$BzBGr26KhI>HrqCDqCD^$k&c_RQAVGtM}xb<)}GQyMJE#F-5J z*5OKQQnVi*@5d+m@fmx! zhkwO>{2Y6sOrNnm`<@cdswGw**@HaO(K>i2&IaZeO7Dv{TkN4vf+gDqh z6$Z-KvNGP{j9o6Ci;-Bxe)@{MwU#+VR%<8s;Op$r9(>OF^x*s1XV|kTMb_Wm>cQ9B zvpx6&?A{)Het`X;hu}b4(t{spmSgyXan)EWyER91GT3cVKTO#Afy+9NCeGCK1-#$S zw|Qc5rPcXH^z*W>ukA7WH5_u**Ts31Bv4<=t+v^SU@;?@&7R2C2d9+OcSw%OQMQwO zY<@I5zzKF8y&kWwh`ohm9so8VjF`Nf?#?pP6K+=AaJFt ztTreck;x8PR#Q2?$B>qb?N+Nku6inU2s<4u+-M4jZ2-kK(RSMq3P5>O4iO*pSx}Hg z3`&B!l-20hx!Q@k7B z11OCECZD^+V0L)pC~4>e-wK%Rj_puzfnqzxauxP-u`?Nmc~;oP5&=f!hPf!VlgvIq zHv^lH6MG;q2=NVSNb~YGjl~Nz*fOWFR}`4N&S3`e=>Awn_DzcL@bP$vI6JWkt~-oz zxIeM&ebo4<-~-DSr~}?$Hk`sZZXsa)u{C=yvaf(?D)9^#nl+ep!!H-b-#HPYsA%B~ z8YssdtLRfx?H-Rb_Ce@LuyI-#^zre5jWB+r^{WHMDo9YYg73#J8u|KRq{#W>sKGuf z>4Py1oCeU2riks-h;|u!wYHD2#|Ny=FAT?{8pzUBFY=&P-C=%OsxJw*p6bQeM9{}0 zQA;BB_e;WmBjQ~DMLg?B{r81E{BUaA59oezO=0DhWN0+9@W7Vjz{7F(-%B?f*)N11 z20V+#oq;ot@Pz^Yl8np`7JHDg!!Gvhu*N>hu#((IJI?GkbjQZU z`E$)4CgSvOCt?C`2|vO3E~w%Df#PuCMByCa0%2abQh2BEN#TpaH-(=G6YL|#ZxT)r zUW)e$SKK7QTHzx?K4|E;S2%#D7W|>Y6NGKTtAw`+*9#vLzAF4!n9JiX!hlB$X9_PA zb_&-D9~15n?iPM7OiTX|OMIT$W5hE{OM=_4#dFObAkIYnpJfLL>=f=6`lf;WbMaY~ zvQc=t@I2vF!ZpH8!mYwLgzpRg5-@L7X=#PSg=2&*!gGb!3s(v^2%i@IukbLH_t8`7mDR`e?MXnV7Ncg01CTi?@;XewW6MiJD?iK7#5pKo}g?@h$o`@Sr zoQL2Mc7SgR6Wl7uPZ9oD_^xnR@1Wlz+$$V_I~e^&3C|HO6y8L{J?MV%j{@@)ydc4c zGRXA}fes`>f28*j;xfHdydo$Bk;R50JgtrKPDttoNE!-*m zRJc!=&4sv!3dad6F}}semdzbye@vbpvR!WQ90!WF{x!mYx$ zg^`Y7lW>x7k?{M%O~PLjdHz3 zaM&pvIW+K-gcl3*!aIdqh3^QHhTzvEJWse>SP(v*SLapX9wGk>VdlpOX9<@G|6aIR z_>%Cyg}obt|B=FJ!fy+273Mdp^S1Cy;UP^SzzM={36}}i2>r%1%Isea_HAa{h|@|p zDwnrPKE-Tg1U+uS@;k+TNr!JKz|^9`o~L}C*^9)pOY#@UU!b?$S%nLKmHd9vqN|%h z?GsO3Fy+d#TCY6g%yI2wDQUL$_ETq{*}iD$6{AZZuts-`9@BnmaOrIBxOURiZ(lR- z%z1^kUQ15v`pJvQig-fFxP9@G#hu2ceg5SO7A{)~!ThB`aPj3!7tC9<(B^l{yL$1` zg_kW{(&^@f3EPv$8%r@pcMSjf5ue$S98}1^oKzJ)+n)S;zrUVFA+^XB*1nz`PurTp zZ_(>Q@6PCN9Aijf$c|*k*M+}fXEL;F=+5MeXn1+LUz;sTTIlm?(pCT0X||6oT(B*f zT&R61Y3`cwTJp`mHM4^XvtCas3TuAz_38QS>)uEzyD+((1&FK36jW;cE6&T>s{nc8mJ<|moMr(=>hY$Q7c>eR{9433IpMG6Nt*!yc-$*t}P?3 zT5;G=fg*cEFV?1h#@t=02#7~ziL~ZbLC-d)k&g!} zypP*R>w8Gx*uD~G?`HU0EFH%(xMe#97k>50TyLLBh%X#592-(LAWaSXS-YhbkFS(! zY@jNaDGq^%;}O;q@ME!{1>9k{FfUMQh_@Iw;>I)Uz?H6RjYa#PC(QjJcW~q1dK-rD z{T;u7E(Lgi(=NS1xWS$ zxLlmgjg<1Z*<6+o&OPZBrg3Vy%)dM4td6Ueu~p@&&_@);18v5o#a+t}jO!`H{UhXu z{t62G_T{_78Tg`#p3HU#injqOx8PE23mb|BvQyX~8@x3Y>1Rl;4uP_ zUdzHd7!5B9(>Wd)`zO2NgcI#V8gh6k8psEF&eM(TsPejzjknl)e)sUDMnycU^}PAj z`%KaZl#lub8Xg5FY`Vy16qBF~?^nrVz;$vhkC2uNUf1&;Cm#MD!b`2AI-apG5|>yZ zzT*-$6hyYt`H^g!yqh*XZfy08?K84WZl!&>LTipM+fF<;aRa+iZViDH&U3VqWf{;X z{IqckKTxe)ecP!1h34IO5xD(7lUhC7nSErt%>IGtI(b??ui_~f7{wz}HL%WFC)rCO zv$UdK1}wV!NJW=uZ8%K))*gPobSXaxf<8%aGZURflRgA-oZ?73n7Z`F(1aNx)lXCV z@YK-g5U#*5cTri#FQI-$+>|Lzz*qS+wS1v?v#^9)5Fz40K5b(?0(qn$yu&9DV!Lv$ z4;t#N{ZL#5oXL<9eydG4?FM*hKcJUK;gH<|hDzq6!MR3mca!IUdf=MfA)ihNLrf&T zmWCSI9qtJk1Y4Qe9j@}mZ^JHc4#GT&=<)c~)}qbg%pFKd4l3a5ypP8&qOirKEIA zKD^E5DmF-a4aVnUL%qc7ft!7xFnkhD;a#2qJ<~ba_#4A^ zN$olF$bYJ!#OpAz^c;FLH4E5c(RHE6`Dbh-ii01d16^~Y*;aP1V$)R|5ihAu8OyNr z*c4E8*wa?!?}9;zmsL8nY2MjRn8FhDba4keYfn!ha{MZP()l=d1s&RKFEn`Qc_7!d z`J`YThGW5*hlfXS5Ddat{wf8}EJw90-FMM|!J6A-T{v>FS<2)+0`Lc+;h~ z#)n_4^-er7ib35}^|1tz2g$xJWbSJIR$NZBrmfXwH9qxK*7vCHUj(Ph3R~sI}R4_Tq;AW=lX;aW zfn;kR%d|l>0vATga_BPJni*a$S$+g{q27!Yh1F?;h(Sns8#o$phmZA)i##93)tq2T zXDY`Ob9yX;SX#+dKBkhL=$`43Y+}Uc*}$5QnBop{k*|Ln_TqFOEBkx{#KkFjL~zGH zU)(e_L(EI*9VWxz#lNa37QwIWmLy~2JKfIb>j4MSfMfXn!T!@UA^GCPmg4Z7+cx75 zkn}IvH1My-i4aw_O+o9?Qth_1BIDAfqwluzWt#4>&}voko>&MotJOdA!G-P%N`-JA zA1P~X*Hh02LTa3(gHfK?8)y$=S5F*1i+tiPLo;zL|L=-jQD(E7^9$60dw6&h G*#85SV!bf{ delta 9603 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 R1PjJm#ETOigg=A+{{Tve7vTT^ diff --git a/Keil_Commun/Objects/projet_chavirement.axf b/Keil_Commun/Objects/projet_chavirement.axf index 5b932b0ded070d15d044d81d64340083407242a2..3ee56537a7227515717a0b993d1b6602e3a972f0 100644 GIT binary patch delta 14589 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: C:\Users\chauz\Documents_non_drive\INSA\4A\S7\projet_voilier\projet_voilier\Keil_Commun\projet_chavirement.uvprojx -Project File Date: 11/05/2021 +Project File Date: 11/15/2021

Output:

*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' -Build target 'CarteSTM' -".\Objects\projet_chavirement.axf" - 0 Error(s), 0 Warning(s). +Rebuild target 'CarteSTM' +compiling MyTimer.c... +compiling principal.c... +..\Sources\tourniquet.h(6): warning: #1295-D: Deprecated declaration tourniquet_init - give arg types + void tourniquet_init() ; +..\Sources\tourniquet.h(7): warning: #1295-D: Deprecated declaration tourniquet_handler - give arg types + void tourniquet_handler() ; +..\Sources\tourniquet.h(9): warning: #1-D: last line of file ends without a newline + #endif +Local_Sources\principal.c(16): warning: #177-D: variable "i" was declared but never referenced + int i = 0; +Local_Sources\principal.c: 4 warnings, 0 errors +compiling tourniquet.c... +..\Sources\tourniquet.c(35): warning: #1-D: last line of file ends without a newline + } +..\Sources\tourniquet.c: 1 warning, 0 errors +compiling Driver_SPI.c... +..\Drivers\Driver_SPI.c(80): warning: #550-D: variable "a" was set but never used + int a; +..\Drivers\Driver_SPI.c(101): warning: #177-D: variable "a" was declared but never referenced + int a; +..\Drivers\Driver_SPI.c: 2 warnings, 0 errors +compiling chavirement.c... +compiling bordage.c... +compiling Driver_GPIO.c... +assembling startup_stm32f10x_md.s... +compiling system_stm32f10x.c... +linking... +Program Size: Code=4092 RO-data=268 RW-data=36 ZI-data=1028 +".\Objects\projet_chavirement.axf" - 0 Error(s), 7 Warning(s).

Software Packages used:

@@ -55,10 +83,10 @@ Package Vendor: Keil * Component: Keil::Device:Startup:1.0.0 Include file: RTE_Driver\Config\RTE_Device.h + Source file: Device\Source\ARM\STM32F1xx_OPT.s Source file: Device\Source\ARM\startup_stm32f10x_md.s Source file: Device\Source\system_stm32f10x.c - Source file: Device\Source\ARM\STM32F1xx_OPT.s -Build Time Elapsed: 00:00:00 +Build Time Elapsed: 00:00:01 diff --git a/Keil_Commun/Objects/projet_chavirement.htm b/Keil_Commun/Objects/projet_chavirement.htm index c47a41a..06afd29 100644 --- a/Keil_Commun/Objects/projet_chavirement.htm +++ b/Keil_Commun/Objects/projet_chavirement.htm @@ -3,11 +3,11 @@ Static Call Graph - [.\Objects\projet_chavirement.axf]

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


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Mon Nov 15 10:07:44 2021 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Mon Nov 15 12:21:34 2021

-

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

+

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

Call chain for Maximum Stack Depth:

-main ⇒ chavirement_handler ⇒ Roulis_Handler ⇒ bordage ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round +chavirement_handler ⇒ Roulis_Handler ⇒ bordage ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round

Mutually Recursive functions @@ -44,13 +44,14 @@ Function Pointers
  • EXTI2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • EXTI3_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • EXTI4_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) -
  • EXTI9_5_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) +
  • EXTI9_5_IRQHandler from bordage.o(i.EXTI9_5_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
  • FLASH_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • HardFault_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • I2C1_ER_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • I2C1_EV_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • I2C2_ER_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • I2C2_EV_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) +
  • IT_bordage_auto from bordage.o(i.IT_bordage_auto) referenced from tourniquet.o(.data)
  • MemManage_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • NMI_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • PVD_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) @@ -58,7 +59,7 @@ Function Pointers
  • RCC_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • RTCAlarm_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • RTC_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) -
  • Reset_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) +
  • Reset_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • SPI1_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • SPI2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • SVC_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET) @@ -81,7 +82,9 @@ Function Pointers
  • UsageFault_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • WWDG_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  • __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f10x_md.o(.text) +
  • chavirement_handler from chavirement.o(i.chavirement_handler) referenced from tourniquet.o(.data)
  • main from principal.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B) +
  • tourniquet_handler from tourniquet.o(i.tourniquet_handler) referenced from tourniquet.o(i.tourniquet_init)

    @@ -90,29 +93,29 @@ Global Symbols

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

    • startup_stm32f10x_md.o(.text)
    -

    _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]