Compare commits

..

No commits in common. "master" and "Anti-chavirement" have entirely different histories.

92 changed files with 1984 additions and 1262 deletions

10
.gitignore vendored
View file

@ -1,6 +1,6 @@
*.lst
*.uvguix*
MDK-ARM/DebugConfig/
MDK-ARM/NUCLEO-F103RB
MDK-ARM/*.scvd
MDK-ARM/*.uvguix.*
MDK-ARM/RTE/
*.lst
*.scvd
MDK-ARM/NUCLEO-F103RB/
*.o

View file

@ -0,0 +1,2 @@
[EXTDLL]
Count=0

Binary file not shown.

View file

@ -0,0 +1,80 @@
<html>
<body>
<pre>
<h1>µVision Build Log</h1>
<h2>Tool Versions:</h2>
IDE-Version: µVision V5.29.0.0
Copyright (C) 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: Toto Lala, INSA Toulouse, LIC=----
Tool Versions:
Toolchain: MDK-Lite Version: 5.29.0.0
Toolchain Path: F:\Keil\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 6 (build 750)
Assembler: Armasm.exe V5.06 update 6 (build 750)
Linker/Locator: ArmLink.exe V5.06 update 6 (build 750)
Library Manager: ArmAr.exe V5.06 update 6 (build 750)
Hex Converter: FromElf.exe V5.06 update 6 (build 750)
CPU DLL: SARMCM3.DLL V5.29.0.0
Dialog DLL: DARMSTM.DLL V1.68.0.0
Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.7.0
Dialog DLL: TARMSTM.DLL V1.66.0.0
<h2>Project:</h2>
C:\Users\elies\Desktop\Cours\4A\Info Mat\Projet_Voilier_4IR\MDK-ARM\Project.uvprojx
Project File Date: 11/02/2020
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'F:\Keil\ARM\ARMCC\Bin'
Rebuild target 'Simulateur'
compiling Voilier.c...
compiling Allure.c...
compiling Gouvernail.c...
compiling Batterie.c...
compiling Heure.c...
compiling Transmission.c...
compiling Voile.c...
compiling MyTimer.c...
compiling stm32f1xx_ll_rcc.c...
compiling AntiChavirement.c...
..\Src\AntiChavirement.h(28): warning: #1295-D: Deprecated declaration RecupRouli - give arg types
int RecupRouli();
..\Src\AntiChavirement.h(36): warning: #1295-D: Deprecated declaration ConfAntiChavirement - give arg types
void ConfAntiChavirement();
..\Src\AntiChavirement.c(4): warning: #940-D: missing return statement at end of non-void function "CalculerDanger"
}
..\Src\AntiChavirement.c(7): warning: #940-D: missing return statement at end of non-void function "RecupRouli"
}
..\Src\AntiChavirement.c: 4 warnings, 0 errors
assembling startup_stm32f103xb.s...
compiling stm32f1xx_ll_utils.c...
compiling system_stm32f1xx.c...
linking...
Program Size: Code=924 RO-data=268 RW-data=28 ZI-data=1028
"NUCLEO-F103RB\NUCLEO-F103RB.axf" - 0 Error(s), 4 Warning(s).
<h2>Software Packages used:</h2>
Package Vendor: ARM
http://www.keil.com/pack/ARM.CMSIS.5.6.0.pack
ARM.CMSIS.5.6.0
CMSIS (Cortex Microcontroller Software Interface Standard)
* Component: CORE Version: 5.3.0
Package Vendor: Keil
http://www.keil.com/pack/Keil.STM32F1xx_DFP.2.3.0.pack
Keil.STM32F1xx_DFP.2.3.0
STMicroelectronics STM32F1 Series Device Support, Drivers and Examples
<h2>Collection of Component include folders:</h2>
.\RTE\_Simulateur
C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
C:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.3.0
Build Time Elapsed: 00:00:06
</pre>
</body>
</html>

View file

@ -0,0 +1,407 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [NUCLEO-F103RB\NUCLEO-F103RB.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image NUCLEO-F103RB\NUCLEO-F103RB.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Mon Nov 02 18:12:38 2020
<BR><P>
<H3>Maximum Stack Usage = 32 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main &rArr; ConfAntiChavirement &rArr; LL_ADC_SetChannelSamplingTime
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[1]">NMI_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1]">NMI_Handler</a><BR>
<LI><a href="#[2]">HardFault_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[2]">HardFault_Handler</a><BR>
<LI><a href="#[3]">MemManage_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[3]">MemManage_Handler</a><BR>
<LI><a href="#[4]">BusFault_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[4]">BusFault_Handler</a><BR>
<LI><a href="#[5]">UsageFault_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[5]">UsageFault_Handler</a><BR>
<LI><a href="#[6]">SVC_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[6]">SVC_Handler</a><BR>
<LI><a href="#[7]">DebugMon_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[7]">DebugMon_Handler</a><BR>
<LI><a href="#[8]">PendSV_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[8]">PendSV_Handler</a><BR>
<LI><a href="#[9]">SysTick_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[9]">SysTick_Handler</a><BR>
<LI><a href="#[1c]">ADC1_2_IRQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1c]">ADC1_2_IRQHandler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
<LI><a href="#[1c]">ADC1_2_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[4]">BusFault_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[1f]">CAN1_RX1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[20]">CAN1_SCE_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[15]">DMA1_Channel1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[16]">DMA1_Channel2_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[17]">DMA1_Channel3_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[18]">DMA1_Channel4_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[19]">DMA1_Channel5_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[1a]">DMA1_Channel6_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[1b]">DMA1_Channel7_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[7]">DebugMon_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[10]">EXTI0_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[32]">EXTI15_10_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[11]">EXTI1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[12]">EXTI2_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[13]">EXTI3_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[14]">EXTI4_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[21]">EXTI9_5_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[e]">FLASH_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[2]">HardFault_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[2a]">I2C1_ER_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[29]">I2C1_EV_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[2c]">I2C2_ER_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[2b]">I2C2_EV_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[3]">MemManage_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[1]">NMI_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[b]">PVD_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[8]">PendSV_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[f]">RCC_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[33]">RTC_Alarm_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[d]">RTC_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[0]">Reset_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[2d]">SPI1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[2e]">SPI2_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[6]">SVC_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[9]">SysTick_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[36]">SystemInit</a> from system_stm32f1xx.o(i.SystemInit) referenced from startup_stm32f103xb.o(.text)
<LI><a href="#[c]">TAMPER_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[22]">TIM1_BRK_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[25]">TIM1_CC_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[24]">TIM1_TRG_COM_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[23]">TIM1_UP_IRQHandler</a> from mytimer.o(i.TIM1_UP_IRQHandler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[26]">TIM2_IRQHandler</a> from mytimer.o(i.TIM2_IRQHandler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[27]">TIM3_IRQHandler</a> from mytimer.o(i.TIM3_IRQHandler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[28]">TIM4_IRQHandler</a> from mytimer.o(i.TIM4_IRQHandler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[2f]">USART1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[30]">USART2_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[31]">USART3_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[34]">USBWakeUp_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[1d]">USB_HP_CAN1_TX_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[1e]">USB_LP_CAN1_RX0_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[5]">UsageFault_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[a]">WWDG_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[37]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f103xb.o(.text)
<LI><a href="#[35]">main</a> from antichavirement.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[37]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(.text)
</UL>
<P><STRONG><a name="[44]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[38]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[3a]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[45]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[46]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[47]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[48]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
<P><STRONG><a name="[49]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[1]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NMI_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NMI_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[2]"></a>HardFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HardFault_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HardFault_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[3]"></a>MemManage_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MemManage_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MemManage_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[4]"></a>BusFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BusFault_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BusFault_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[5]"></a>UsageFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UsageFault_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UsageFault_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[6]"></a>SVC_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SVC_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SVC_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[7]"></a>DebugMon_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DebugMon_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DebugMon_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[8]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PendSV_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PendSV_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[9]"></a>SysTick_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[1c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC1_2_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[1c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC1_2_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>CAN1_RX1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>CAN1_SCE_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[15]"></a>DMA1_Channel1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[16]"></a>DMA1_Channel2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[17]"></a>DMA1_Channel3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[18]"></a>DMA1_Channel4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[19]"></a>DMA1_Channel5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[1a]"></a>DMA1_Channel6_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[1b]"></a>DMA1_Channel7_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[10]"></a>EXTI0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[32]"></a>EXTI15_10_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[11]"></a>EXTI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[12]"></a>EXTI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[13]"></a>EXTI3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[14]"></a>EXTI4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[21]"></a>EXTI9_5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[e]"></a>FLASH_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[2a]"></a>I2C1_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[29]"></a>I2C1_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[2c]"></a>I2C2_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[2b]"></a>I2C2_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[b]"></a>PVD_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[f]"></a>RCC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[33]"></a>RTC_Alarm_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[d]"></a>RTC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[2d]"></a>SPI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[2e]"></a>SPI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[c]"></a>TAMPER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[22]"></a>TIM1_BRK_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[25]"></a>TIM1_CC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[24]"></a>TIM1_TRG_COM_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[2f]"></a>USART1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[30]"></a>USART2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[31]"></a>USART3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[34]"></a>USBWakeUp_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[1d]"></a>USB_HP_CAN1_TX_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[1e]"></a>USB_LP_CAN1_RX0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[39]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>
<P><STRONG><a name="[4a]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[3b]"></a>ConfAntiChavirement</STRONG> (Thumb, 160 bytes, Stack size 16 bytes, antichavirement.o(i.ConfAntiChavirement))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = ConfAntiChavirement &rArr; LL_ADC_SetChannelSamplingTime
</UL>
<BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LL_GPIO_SetPinMode
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LL_APB2_GRP1_EnableClock
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LL_ADC_SetChannelSamplingTime
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LL_ADC_INJ_SetSequencerRanks
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[41]"></a>LL_Init1msTick</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_ll_utils.o(i.LL_Init1msTick))
<BR><BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[42]"></a>LL_SetSystemCoreClock</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock))
<BR><BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[40]"></a>SystemClock_Config</STRONG> (Thumb, 142 bytes, Stack size 8 bytes, antichavirement.o(i.SystemClock_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SystemClock_Config
</UL>
<BR>[Calls]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LL_SetSystemCoreClock
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LL_Init1msTick
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[36]"></a>SystemInit</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, system_stm32f1xx.o(i.SystemInit))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(.text)
</UL>
<P><STRONG><a name="[23]"></a>TIM1_UP_IRQHandler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, mytimer.o(i.TIM1_UP_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM1_UP_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[26]"></a>TIM2_IRQHandler</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, mytimer.o(i.TIM2_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM2_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>TIM3_IRQHandler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, mytimer.o(i.TIM3_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM3_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, mytimer.o(i.TIM4_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM4_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[4b]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[4c]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[4d]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, antichavirement.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = main &rArr; ConfAntiChavirement &rArr; LL_ADC_SetChannelSamplingTime
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ConfAntiChavirement
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LL_ADC_INJ_ReadConversionData12
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL><P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[43]"></a>LL_ADC_INJ_ReadConversionData12</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, antichavirement.o(i.LL_ADC_INJ_ReadConversionData12))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3e]"></a>LL_ADC_INJ_SetSequencerRanks</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, antichavirement.o(i.LL_ADC_INJ_SetSequencerRanks))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = LL_ADC_INJ_SetSequencerRanks
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ConfAntiChavirement
</UL>
<P><STRONG><a name="[3f]"></a>LL_ADC_SetChannelSamplingTime</STRONG> (Thumb, 70 bytes, Stack size 16 bytes, antichavirement.o(i.LL_ADC_SetChannelSamplingTime))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = LL_ADC_SetChannelSamplingTime
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ConfAntiChavirement
</UL>
<P><STRONG><a name="[3c]"></a>LL_APB2_GRP1_EnableClock</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, antichavirement.o(i.LL_APB2_GRP1_EnableClock))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = LL_APB2_GRP1_EnableClock
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ConfAntiChavirement
</UL>
<P><STRONG><a name="[3d]"></a>LL_GPIO_SetPinMode</STRONG> (Thumb, 42 bytes, Stack size 12 bytes, antichavirement.o(i.LL_GPIO_SetPinMode))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = LL_GPIO_SetPinMode
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ConfAntiChavirement
</UL>
<P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>

View file

@ -0,0 +1,18 @@
--cpu Cortex-M3
"nucleo-f103rb\voilier.o"
"nucleo-f103rb\mytimer.o"
"nucleo-f103rb\allure.o"
"nucleo-f103rb\batterie.o"
"nucleo-f103rb\gouvernail.o"
"nucleo-f103rb\heure.o"
"nucleo-f103rb\transmission.o"
"nucleo-f103rb\voile.o"
"nucleo-f103rb\antichavirement.o"
"nucleo-f103rb\stm32f1xx_ll_rcc.o"
"nucleo-f103rb\stm32f1xx_ll_utils.o"
"nucleo-f103rb\system_stm32f1xx.o"
"nucleo-f103rb\startup_stm32f103xb.o"
--library_type=microlib --strict --scatter "NUCLEO-F103RB\NUCLEO-F103RB.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list "NUCLEO-F103RB.map" -o NUCLEO-F103RB\NUCLEO-F103RB.axf

View file

@ -0,0 +1,428 @@
Component: ARM Compiler 5.06 update 6 (build 750) Tool: armlink [4d35ed]
==============================================================================
Section Cross References
mytimer.o(i.MyTimer_IT_Conf) refers to mytimer.o(.data) for .data
mytimer.o(i.TIM1_UP_IRQHandler) refers to mytimer.o(.data) for .data
mytimer.o(i.TIM2_IRQHandler) refers to mytimer.o(.data) for .data
mytimer.o(i.TIM3_IRQHandler) refers to mytimer.o(.data) for .data
mytimer.o(i.TIM4_IRQHandler) refers to mytimer.o(.data) for .data
antichavirement.o(i.ConfAntiChavirement) refers to antichavirement.o(i.LL_APB2_GRP1_EnableClock) for LL_APB2_GRP1_EnableClock
antichavirement.o(i.ConfAntiChavirement) refers to antichavirement.o(i.LL_GPIO_SetPinMode) for LL_GPIO_SetPinMode
antichavirement.o(i.ConfAntiChavirement) refers to antichavirement.o(i.LL_ADC_INJ_SetSequencerRanks) for LL_ADC_INJ_SetSequencerRanks
antichavirement.o(i.ConfAntiChavirement) refers to antichavirement.o(i.LL_ADC_SetChannelSamplingTime) for LL_ADC_SetChannelSamplingTime
antichavirement.o(i.SystemClock_Config) refers to stm32f1xx_ll_utils.o(i.LL_Init1msTick) for LL_Init1msTick
antichavirement.o(i.SystemClock_Config) refers to stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) for LL_SetSystemCoreClock
antichavirement.o(i.main) refers to antichavirement.o(i.SystemClock_Config) for SystemClock_Config
antichavirement.o(i.main) refers to antichavirement.o(i.ConfAntiChavirement) for ConfAntiChavirement
antichavirement.o(i.main) refers to antichavirement.o(i.LL_ADC_INJ_ReadConversionData12) for LL_ADC_INJ_ReadConversionData12
antichavirement.o(i.main) refers to antichavirement.o(.data) for .data
stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) for RCC_GetSystemClockFreq
stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) for RCC_GetHCLKClockFreq
stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) for RCC_GetPCLK2ClockFreq
stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) for RCC_GetSystemClockFreq
stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) for RCC_GetHCLKClockFreq
stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq) for RCC_GetPCLK1ClockFreq
stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) for RCC_GetPCLK2ClockFreq
stm32f1xx_ll_rcc.o(i.LL_RCC_GetUSBClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS) for RCC_PLL_GetFreqDomain_SYS
stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable
stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq) refers to system_stm32f1xx.o(.constdata) for APBPrescTable
stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) refers to system_stm32f1xx.o(.constdata) for APBPrescTable
stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS) for RCC_PLL_GetFreqDomain_SYS
stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy) for UTILS_PLL_IsBusy
stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency) for UTILS_GetPLLOutputFrequency
stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.LL_RCC_PLL_ConfigDomain_SYS) for LL_RCC_PLL_ConfigDomain_SYS
stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) for UTILS_EnablePLLAndSwitchSystem
stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy) for UTILS_PLL_IsBusy
stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency) for UTILS_GetPLLOutputFrequency
stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.LL_RCC_PLL_ConfigDomain_SYS) for LL_RCC_PLL_ConfigDomain_SYS
stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) for UTILS_EnablePLLAndSwitchSystem
stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) refers to system_stm32f1xx.o(.data) for SystemCoreClock
stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to stm32f1xx_ll_utils.o(i.UTILS_SetFlashLatency) for UTILS_SetFlashLatency
stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable
stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to system_stm32f1xx.o(.data) for SystemCoreClock
system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.data) for .data
system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.constdata) for .constdata
startup_stm32f103xb.o(RESET) refers to startup_stm32f103xb.o(STACK) for __initial_sp
startup_stm32f103xb.o(RESET) refers to startup_stm32f103xb.o(.text) for Reset_Handler
startup_stm32f103xb.o(RESET) refers to mytimer.o(i.TIM1_UP_IRQHandler) for TIM1_UP_IRQHandler
startup_stm32f103xb.o(RESET) refers to mytimer.o(i.TIM2_IRQHandler) for TIM2_IRQHandler
startup_stm32f103xb.o(RESET) refers to mytimer.o(i.TIM3_IRQHandler) for TIM3_IRQHandler
startup_stm32f103xb.o(RESET) refers to mytimer.o(i.TIM4_IRQHandler) for TIM4_IRQHandler
startup_stm32f103xb.o(.text) refers to system_stm32f1xx.o(i.SystemInit) for SystemInit
startup_stm32f103xb.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000D) for __rt_final_cpp
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$0000000F) for __rt_final_exit
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry8b.o(.ARM.Collect$$$$0000000A) for _main_cpp_init
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
entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000
entry2.o(.ARM.Collect$$$$00002712) refers to startup_stm32f103xb.o(STACK) for __initial_sp
entry2.o(__vectab_stack_and_reset_area) refers to startup_stm32f103xb.o(STACK) for __initial_sp
entry2.o(__vectab_stack_and_reset_area) refers to entry.o(.ARM.Collect$$$$00000000) for __main
entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload
entry9a.o(.ARM.Collect$$$$0000000B) refers to antichavirement.o(i.main) for main
entry9b.o(.ARM.Collect$$$$0000000C) refers to antichavirement.o(i.main) for main
init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload
==============================================================================
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_Conf), (76 bytes).
Removing mytimer.o(i.MyTimer_IT_Conf), (152 bytes).
Removing mytimer.o(i.MyTimer_IT_Disable), (68 bytes).
Removing mytimer.o(i.MyTimer_Start), (10 bytes).
Removing mytimer.o(i.MyTimer_Stop), (10 bytes).
Removing antichavirement.o(.rev16_text), (4 bytes).
Removing antichavirement.o(.revsh_text), (4 bytes).
Removing antichavirement.o(.rrx_text), (6 bytes).
Removing antichavirement.o(i.CalculerDanger), (2 bytes).
Removing antichavirement.o(i.RecupRouli), (2 bytes).
Removing stm32f1xx_ll_rcc.o(.rev16_text), (4 bytes).
Removing stm32f1xx_ll_rcc.o(.revsh_text), (4 bytes).
Removing stm32f1xx_ll_rcc.o(.rrx_text), (6 bytes).
Removing stm32f1xx_ll_rcc.o(i.LL_RCC_DeInit), (96 bytes).
Removing stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq), (48 bytes).
Removing stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq), (32 bytes).
Removing stm32f1xx_ll_rcc.o(i.LL_RCC_GetUSBClockFreq), (56 bytes).
Removing stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq), (28 bytes).
Removing stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq), (28 bytes).
Removing stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq), (28 bytes).
Removing stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq), (36 bytes).
Removing stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS), (60 bytes).
Removing stm32f1xx_ll_utils.o(.rev16_text), (4 bytes).
Removing stm32f1xx_ll_utils.o(.revsh_text), (4 bytes).
Removing stm32f1xx_ll_utils.o(.rrx_text), (6 bytes).
Removing stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE), (108 bytes).
Removing stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI), (88 bytes).
Removing stm32f1xx_ll_utils.o(i.LL_RCC_PLL_ConfigDomain_SYS), (24 bytes).
Removing stm32f1xx_ll_utils.o(i.LL_mDelay), (30 bytes).
Removing stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem), (172 bytes).
Removing stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency), (24 bytes).
Removing stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy), (24 bytes).
Removing stm32f1xx_ll_utils.o(i.UTILS_SetFlashLatency), (68 bytes).
Removing system_stm32f1xx.o(.rev16_text), (4 bytes).
Removing system_stm32f1xx.o(.revsh_text), (4 bytes).
Removing system_stm32f1xx.o(.rrx_text), (6 bytes).
Removing system_stm32f1xx.o(i.SystemCoreClockUpdate), (104 bytes).
Removing system_stm32f1xx.o(.constdata), (16 bytes).
Removing system_stm32f1xx.o(.constdata), (8 bytes).
Removing startup_stm32f103xb.o(HEAP), (512 bytes).
43 unused section(s) (total 1980 bytes) removed from the image.
==============================================================================
Image Symbol Table
Local Symbols
Symbol Name Value Ov Type Size Object(Section)
../Src/system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.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 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 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
..\LLDrivers\src\stm32f1xx_ll_rcc.c 0x00000000 Number 0 stm32f1xx_ll_rcc.o ABSOLUTE
..\LLDrivers\src\stm32f1xx_ll_utils.c 0x00000000 Number 0 stm32f1xx_ll_utils.o ABSOLUTE
..\MyDrivers\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE
..\Src\Allure.c 0x00000000 Number 0 allure.o ABSOLUTE
..\Src\AntiChavirement.c 0x00000000 Number 0 antichavirement.o ABSOLUTE
..\Src\Batterie.c 0x00000000 Number 0 batterie.o ABSOLUTE
..\Src\Gouvernail.c 0x00000000 Number 0 gouvernail.o ABSOLUTE
..\Src\Heure.c 0x00000000 Number 0 heure.o ABSOLUTE
..\Src\Transmission.c 0x00000000 Number 0 transmission.o ABSOLUTE
..\Src\Voile.c 0x00000000 Number 0 voile.o ABSOLUTE
..\Src\Voilier.c 0x00000000 Number 0 voilier.o ABSOLUTE
..\Src\system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE
..\\LLDrivers\\src\\stm32f1xx_ll_rcc.c 0x00000000 Number 0 stm32f1xx_ll_rcc.o ABSOLUTE
..\\LLDrivers\\src\\stm32f1xx_ll_utils.c 0x00000000 Number 0 stm32f1xx_ll_utils.o ABSOLUTE
..\\MyDrivers\\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE
..\\Src\\AntiChavirement.c 0x00000000 Number 0 antichavirement.o ABSOLUTE
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE
init.s 0x00000000 Number 0 init.o ABSOLUTE
startup_stm32f103xb.s 0x00000000 Number 0 startup_stm32f103xb.o ABSOLUTE
RESET 0x08000000 Section 236 startup_stm32f103xb.o(RESET)
.ARM.Collect$$$$00000000 0x080000ec Section 0 entry.o(.ARM.Collect$$$$00000000)
.ARM.Collect$$$$00000001 0x080000ec Section 4 entry2.o(.ARM.Collect$$$$00000001)
.ARM.Collect$$$$00000004 0x080000f0 Section 4 entry5.o(.ARM.Collect$$$$00000004)
.ARM.Collect$$$$00000008 0x080000f4 Section 0 entry7b.o(.ARM.Collect$$$$00000008)
.ARM.Collect$$$$0000000A 0x080000f4 Section 0 entry8b.o(.ARM.Collect$$$$0000000A)
.ARM.Collect$$$$0000000B 0x080000f4 Section 8 entry9a.o(.ARM.Collect$$$$0000000B)
.ARM.Collect$$$$0000000D 0x080000fc Section 0 entry10a.o(.ARM.Collect$$$$0000000D)
.ARM.Collect$$$$0000000F 0x080000fc Section 0 entry11a.o(.ARM.Collect$$$$0000000F)
.ARM.Collect$$$$00002712 0x080000fc Section 4 entry2.o(.ARM.Collect$$$$00002712)
__lit__00000000 0x080000fc Data 4 entry2.o(.ARM.Collect$$$$00002712)
.text 0x08000100 Section 36 startup_stm32f103xb.o(.text)
.text 0x08000124 Section 36 init.o(.text)
i.ConfAntiChavirement 0x08000148 Section 0 antichavirement.o(i.ConfAntiChavirement)
i.LL_ADC_INJ_ReadConversionData12 0x080001f4 Section 0 antichavirement.o(i.LL_ADC_INJ_ReadConversionData12)
LL_ADC_INJ_ReadConversionData12 0x080001f5 Thumb Code 28 antichavirement.o(i.LL_ADC_INJ_ReadConversionData12)
i.LL_ADC_INJ_SetSequencerRanks 0x08000210 Section 0 antichavirement.o(i.LL_ADC_INJ_SetSequencerRanks)
LL_ADC_INJ_SetSequencerRanks 0x08000211 Thumb Code 38 antichavirement.o(i.LL_ADC_INJ_SetSequencerRanks)
i.LL_ADC_SetChannelSamplingTime 0x08000236 Section 0 antichavirement.o(i.LL_ADC_SetChannelSamplingTime)
LL_ADC_SetChannelSamplingTime 0x08000237 Thumb Code 70 antichavirement.o(i.LL_ADC_SetChannelSamplingTime)
i.LL_APB2_GRP1_EnableClock 0x0800027c Section 0 antichavirement.o(i.LL_APB2_GRP1_EnableClock)
LL_APB2_GRP1_EnableClock 0x0800027d Thumb Code 18 antichavirement.o(i.LL_APB2_GRP1_EnableClock)
i.LL_GPIO_SetPinMode 0x08000294 Section 0 antichavirement.o(i.LL_GPIO_SetPinMode)
LL_GPIO_SetPinMode 0x08000295 Thumb Code 42 antichavirement.o(i.LL_GPIO_SetPinMode)
i.LL_Init1msTick 0x080002be Section 0 stm32f1xx_ll_utils.o(i.LL_Init1msTick)
i.LL_SetSystemCoreClock 0x080002d8 Section 0 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)
i.SystemClock_Config 0x080002e4 Section 0 antichavirement.o(i.SystemClock_Config)
i.SystemInit 0x08000380 Section 0 system_stm32f1xx.o(i.SystemInit)
i.TIM1_UP_IRQHandler 0x080003c8 Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
i.TIM2_IRQHandler 0x080003e0 Section 0 mytimer.o(i.TIM2_IRQHandler)
i.TIM3_IRQHandler 0x080003f8 Section 0 mytimer.o(i.TIM3_IRQHandler)
i.TIM4_IRQHandler 0x08000410 Section 0 mytimer.o(i.TIM4_IRQHandler)
i.__scatterload_copy 0x08000428 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08000436 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08000438 Section 14 handlers.o(i.__scatterload_zeroinit)
i.main 0x08000448 Section 0 antichavirement.o(i.main)
.data 0x20000000 Section 16 mytimer.o(.data)
.data 0x20000010 Section 8 antichavirement.o(.data)
.data 0x20000018 Section 4 system_stm32f1xx.o(.data)
STACK 0x20000020 Section 1024 startup_stm32f103xb.o(STACK)
Global Symbols
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
__ARM_use_no_argv 0x00000000 Number 0 antichavirement.o ABSOLUTE
__cpp_initialize__aeabi_ - Undefined Weak Reference
__cxa_finalize - Undefined Weak Reference
__decompress - Undefined Weak Reference
_clock_init - Undefined Weak Reference
_microlib_exit - Undefined Weak Reference
__Vectors_Size 0x000000ec Number 0 startup_stm32f103xb.o ABSOLUTE
__Vectors 0x08000000 Data 4 startup_stm32f103xb.o(RESET)
__Vectors_End 0x080000ec Data 0 startup_stm32f103xb.o(RESET)
__main 0x080000ed Thumb Code 0 entry.o(.ARM.Collect$$$$00000000)
_main_stk 0x080000ed Thumb Code 0 entry2.o(.ARM.Collect$$$$00000001)
_main_scatterload 0x080000f1 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004)
__main_after_scatterload 0x080000f5 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004)
_main_clock 0x080000f5 Thumb Code 0 entry7b.o(.ARM.Collect$$$$00000008)
_main_cpp_init 0x080000f5 Thumb Code 0 entry8b.o(.ARM.Collect$$$$0000000A)
_main_init 0x080000f5 Thumb Code 0 entry9a.o(.ARM.Collect$$$$0000000B)
__rt_final_cpp 0x080000fd Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000D)
__rt_final_exit 0x080000fd Thumb Code 0 entry11a.o(.ARM.Collect$$$$0000000F)
Reset_Handler 0x08000101 Thumb Code 8 startup_stm32f103xb.o(.text)
NMI_Handler 0x08000109 Thumb Code 2 startup_stm32f103xb.o(.text)
HardFault_Handler 0x0800010b Thumb Code 2 startup_stm32f103xb.o(.text)
MemManage_Handler 0x0800010d Thumb Code 2 startup_stm32f103xb.o(.text)
BusFault_Handler 0x0800010f Thumb Code 2 startup_stm32f103xb.o(.text)
UsageFault_Handler 0x08000111 Thumb Code 2 startup_stm32f103xb.o(.text)
SVC_Handler 0x08000113 Thumb Code 2 startup_stm32f103xb.o(.text)
DebugMon_Handler 0x08000115 Thumb Code 2 startup_stm32f103xb.o(.text)
PendSV_Handler 0x08000117 Thumb Code 2 startup_stm32f103xb.o(.text)
SysTick_Handler 0x08000119 Thumb Code 2 startup_stm32f103xb.o(.text)
ADC1_2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
CAN1_RX1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
CAN1_SCE_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel5_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel6_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel7_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
EXTI0_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
EXTI15_10_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
EXTI1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
EXTI2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
EXTI3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
EXTI4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
EXTI9_5_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
FLASH_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
I2C1_ER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
I2C1_EV_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
I2C2_ER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
I2C2_EV_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
PVD_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
RCC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
RTC_Alarm_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
RTC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
SPI1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
SPI2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
TAMPER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
TIM1_BRK_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
TIM1_CC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
TIM1_TRG_COM_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
USART1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
USART2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
USART3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
USBWakeUp_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
USB_HP_CAN1_TX_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
USB_LP_CAN1_RX0_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
WWDG_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
__scatterload 0x08000125 Thumb Code 28 init.o(.text)
__scatterload_rt2 0x08000125 Thumb Code 0 init.o(.text)
ConfAntiChavirement 0x08000149 Thumb Code 160 antichavirement.o(i.ConfAntiChavirement)
LL_Init1msTick 0x080002bf Thumb Code 26 stm32f1xx_ll_utils.o(i.LL_Init1msTick)
LL_SetSystemCoreClock 0x080002d9 Thumb Code 6 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)
SystemClock_Config 0x080002e5 Thumb Code 142 antichavirement.o(i.SystemClock_Config)
SystemInit 0x08000381 Thumb Code 56 system_stm32f1xx.o(i.SystemInit)
TIM1_UP_IRQHandler 0x080003c9 Thumb Code 16 mytimer.o(i.TIM1_UP_IRQHandler)
TIM2_IRQHandler 0x080003e1 Thumb Code 18 mytimer.o(i.TIM2_IRQHandler)
TIM3_IRQHandler 0x080003f9 Thumb Code 16 mytimer.o(i.TIM3_IRQHandler)
TIM4_IRQHandler 0x08000411 Thumb Code 16 mytimer.o(i.TIM4_IRQHandler)
__scatterload_copy 0x08000429 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08000437 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08000439 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
main 0x08000449 Thumb Code 56 antichavirement.o(i.main)
Region$$Table$$Base 0x08000488 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080004a8 Number 0 anon$$obj.o(Region$$Table)
pTIM1_Overflow 0x20000000 Data 4 mytimer.o(.data)
pTIM2_Overflow 0x20000004 Data 4 mytimer.o(.data)
pTIM3_Overflow 0x20000008 Data 4 mytimer.o(.data)
pTIM4_Overflow 0x2000000c Data 4 mytimer.o(.data)
res10 0x20000010 Data 4 antichavirement.o(.data)
res12 0x20000014 Data 4 antichavirement.o(.data)
SystemCoreClock 0x20000018 Data 4 system_stm32f1xx.o(.data)
__initial_sp 0x20000420 Data 0 startup_stm32f103xb.o(STACK)
==============================================================================
Memory Map of the image
Image Entry point : 0x080000ed
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000004c4, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000004a8, Max: 0x00020000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 417 RESET startup_stm32f103xb.o
0x080000ec 0x080000ec 0x00000000 Code RO 422 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x080000ec 0x080000ec 0x00000004 Code RO 425 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x080000f0 0x080000f0 0x00000004 Code RO 428 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x080000f4 0x080000f4 0x00000000 Code RO 430 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x080000f4 0x080000f4 0x00000000 Code RO 432 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x080000f4 0x080000f4 0x00000008 Code RO 433 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x080000fc 0x080000fc 0x00000000 Code RO 435 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
0x080000fc 0x080000fc 0x00000000 Code RO 437 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
0x080000fc 0x080000fc 0x00000004 Code RO 426 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000100 0x08000100 0x00000024 Code RO 418 .text startup_stm32f103xb.o
0x08000124 0x08000124 0x00000024 Code RO 439 .text mc_w.l(init.o)
0x08000148 0x08000148 0x000000ac Code RO 127 i.ConfAntiChavirement antichavirement.o
0x080001f4 0x080001f4 0x0000001c Code RO 128 i.LL_ADC_INJ_ReadConversionData12 antichavirement.o
0x08000210 0x08000210 0x00000026 Code RO 129 i.LL_ADC_INJ_SetSequencerRanks antichavirement.o
0x08000236 0x08000236 0x00000046 Code RO 130 i.LL_ADC_SetChannelSamplingTime antichavirement.o
0x0800027c 0x0800027c 0x00000018 Code RO 131 i.LL_APB2_GRP1_EnableClock antichavirement.o
0x08000294 0x08000294 0x0000002a Code RO 132 i.LL_GPIO_SetPinMode antichavirement.o
0x080002be 0x080002be 0x0000001a Code RO 298 i.LL_Init1msTick stm32f1xx_ll_utils.o
0x080002d8 0x080002d8 0x0000000c Code RO 302 i.LL_SetSystemCoreClock stm32f1xx_ll_utils.o
0x080002e4 0x080002e4 0x0000009c Code RO 134 i.SystemClock_Config antichavirement.o
0x08000380 0x08000380 0x00000048 Code RO 381 i.SystemInit system_stm32f1xx.o
0x080003c8 0x080003c8 0x00000018 Code RO 14 i.TIM1_UP_IRQHandler mytimer.o
0x080003e0 0x080003e0 0x00000018 Code RO 15 i.TIM2_IRQHandler mytimer.o
0x080003f8 0x080003f8 0x00000018 Code RO 16 i.TIM3_IRQHandler mytimer.o
0x08000410 0x08000410 0x00000018 Code RO 17 i.TIM4_IRQHandler mytimer.o
0x08000428 0x08000428 0x0000000e Code RO 443 i.__scatterload_copy mc_w.l(handlers.o)
0x08000436 0x08000436 0x00000002 Code RO 444 i.__scatterload_null mc_w.l(handlers.o)
0x08000438 0x08000438 0x0000000e Code RO 445 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x08000446 0x08000446 0x00000002 PAD
0x08000448 0x08000448 0x00000040 Code RO 135 i.main antichavirement.o
0x08000488 0x08000488 0x00000020 Data RO 441 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080004a8, Size: 0x00000420, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x080004a8 0x00000010 Data RW 18 .data mytimer.o
0x20000010 0x080004b8 0x00000008 Data RW 136 .data antichavirement.o
0x20000018 0x080004c0 0x00000004 Data RW 384 .data system_stm32f1xx.o
0x2000001c 0x080004c4 0x00000004 PAD
0x20000020 - 0x00000400 Zero RW 415 STACK startup_stm32f103xb.o
==============================================================================
Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
594 40 0 8 0 58276 antichavirement.o
96 30 0 16 0 342549 mytimer.o
36 8 236 0 1024 780 startup_stm32f103xb.o
38 6 0 0 0 4789 stm32f1xx_ll_utils.o
72 16 0 4 0 1167 system_stm32f1xx.o
0 0 0 0 0 1444 voilier.o
----------------------------------------------------------------------
836 100 268 28 1028 409005 Object Totals
0 0 32 0 0 0 (incl. Generated)
0 0 0 0 4 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
0 0 0 0 0 0 entry.o
0 0 0 0 0 0 entry10a.o
0 0 0 0 0 0 entry11a.o
8 4 0 0 0 0 entry2.o
4 0 0 0 0 0 entry5.o
0 0 0 0 0 0 entry7b.o
0 0 0 0 0 0 entry8b.o
8 4 0 0 0 0 entry9a.o
30 0 0 0 0 0 handlers.o
36 8 0 0 0 68 init.o
----------------------------------------------------------------------
88 16 0 0 0 68 Library Totals
2 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
86 16 0 0 0 68 mc_w.l
----------------------------------------------------------------------
88 16 0 0 0 68 Library Totals
----------------------------------------------------------------------
==============================================================================
Code (inc. data) RO Data RW Data ZI Data Debug
924 116 268 28 1028 408601 Grand Totals
924 116 268 28 1028 408601 ELF Image Totals
924 116 268 28 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 1192 ( 1.16kB)
Total RW Size (RW Data + ZI Data) 1056 ( 1.03kB)
Total ROM Size (Code + RO Data + RW Data) 1220 ( 1.19kB)
==============================================================================

View file

@ -0,0 +1,16 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00020000 { ; load region size_region
ER_IROM1 0x08000000 0x00020000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_IRAM1 0x20000000 0x00005000 { ; RW data
.ANY (+RW +ZI)
}
}

View file

@ -0,0 +1,15 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00020000 { ; load region size_region
ER_IROM1 0x08000000 0x00020000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x20000000 0x00005000 { ; RW data
.ANY (+RW +ZI)
}
}

View file

@ -0,0 +1,73 @@
Dependencies for Project 'Project', Target 'NUCLEO-F103RB': (DO NOT MODIFY !)
CompilerVersion: 5060750::V5.06 update 6 (build 750)::ARMCC
F (..\Src\Voilier.c)(0x5FA03B8B)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\voilier.o --omf_browse nucleo-f103rb\voilier.crf --depend nucleo-f103rb\voilier.d)
F (..\MyDrivers\MyTimer.c)(0x5FA01FEC)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\mytimer.o --omf_browse nucleo-f103rb\mytimer.crf --depend nucleo-f103rb\mytimer.d)
I (..\Inc\stm32f103xb.h)(0x5F8D5414)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (F:\Keil\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5F8D5414)
F (..\Src\Allure.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\allure.o --omf_browse nucleo-f103rb\allure.crf --depend nucleo-f103rb\allure.d)
F (..\Src\Batterie.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\batterie.o --omf_browse nucleo-f103rb\batterie.crf --depend nucleo-f103rb\batterie.d)
F (..\Src\Gouvernail.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\gouvernail.o --omf_browse nucleo-f103rb\gouvernail.crf --depend nucleo-f103rb\gouvernail.d)
F (..\Src\Heure.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\heure.o --omf_browse nucleo-f103rb\heure.crf --depend nucleo-f103rb\heure.d)
F (..\Src\Transmission.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\transmission.o --omf_browse nucleo-f103rb\transmission.crf --depend nucleo-f103rb\transmission.d)
F (..\Src\Voile.c)(0x5FA01FEC)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\voile.o --omf_browse nucleo-f103rb\voile.crf --depend nucleo-f103rb\voile.d)
F (..\Src\Allure.h)(0x5F8D5416)()
F (..\Src\AntiChavirement.h)(0x5FA03BA6)()
F (..\Src\Batterie.h)(0x5F8D5416)()
F (..\Src\Gouvernail.h)(0x5F8D5416)()
F (..\Src\Heure.h)(0x5F8D5416)()
F (..\Src\MyTimer.h)(0x5F8D5416)()
F (..\Src\Transmission.h)(0x5F8D5416)()
F (..\Src\Voile.h)(0x5FA01FEC)()
F (..\Src\AntiChavirement.c)(0x5FA03B67)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\antichavirement.o --omf_browse nucleo-f103rb\antichavirement.crf --depend nucleo-f103rb\antichavirement.d)
I (..\Src\AntiChavirement.h)(0x5FA03BA6)
I (..\Inc\stm32f103xb.h)(0x5F8D5414)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (F:\Keil\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_adc.h)(0x5F8D5982)
I (..\Inc\stm32f1xx.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_gpio.h)(0x5F8D5982)
I (..\LLDrivers\inc\stm32f1xx_ll_bus.h)(0x5F8D5982)
I (..\LLDrivers\inc\stm32f1xx_ll_utils.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_system.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5F8D5414)
F (..\LLDrivers\src\stm32f1xx_ll_rcc.c)(0x5F8D5414)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\stm32f1xx_ll_rcc.o --omf_browse nucleo-f103rb\stm32f1xx_ll_rcc.crf --depend nucleo-f103rb\stm32f1xx_ll_rcc.d)
I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5F8D5414)
I (..\Inc\stm32f1xx.h)(0x5F8D5414)
I (..\Inc\stm32f103xb.h)(0x5F8D5414)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (F:\Keil\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5F8D5414)
F (..\LLDrivers\src\stm32f1xx_ll_utils.c)(0x5F8D5414)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\stm32f1xx_ll_utils.o --omf_browse nucleo-f103rb\stm32f1xx_ll_utils.crf --depend nucleo-f103rb\stm32f1xx_ll_utils.d)
I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5F8D5414)
I (..\Inc\stm32f1xx.h)(0x5F8D5414)
I (..\Inc\stm32f103xb.h)(0x5F8D5414)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (F:\Keil\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_utils.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_system.h)(0x5F8D5414)
F (../Src/system_stm32f1xx.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\system_stm32f1xx.o --omf_browse nucleo-f103rb\system_stm32f1xx.crf --depend nucleo-f103rb\system_stm32f1xx.d)
I (..\Inc\stm32f1xx.h)(0x5F8D5414)
I (..\Inc\stm32f103xb.h)(0x5F8D5414)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (F:\Keil\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5F8D5414)
F (startup_stm32f103xb.s)(0x5F8D5416)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_NUCLEO-F103RB -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 529" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --list startup_stm32f103xb.lst --xref -o nucleo-f103rb\startup_stm32f103xb.o --depend nucleo-f103rb\startup_stm32f103xb.d)

View file

@ -0,0 +1,73 @@
Dependencies for Project 'Project', Target 'Simulateur': (DO NOT MODIFY !)
CompilerVersion: 5060750::V5.06 update 6 (build 750)::ARMCC
F (..\Src\Voilier.c)(0x5FA03B8B)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\voilier.o --omf_browse nucleo-f103rb\voilier.crf --depend nucleo-f103rb\voilier.d)
F (..\MyDrivers\MyTimer.c)(0x5FA01FEC)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\mytimer.o --omf_browse nucleo-f103rb\mytimer.crf --depend nucleo-f103rb\mytimer.d)
I (..\Inc\stm32f103xb.h)(0x5F8D5414)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (F:\Keil\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5F8D5414)
F (..\Src\Allure.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\allure.o --omf_browse nucleo-f103rb\allure.crf --depend nucleo-f103rb\allure.d)
F (..\Src\Batterie.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\batterie.o --omf_browse nucleo-f103rb\batterie.crf --depend nucleo-f103rb\batterie.d)
F (..\Src\Gouvernail.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\gouvernail.o --omf_browse nucleo-f103rb\gouvernail.crf --depend nucleo-f103rb\gouvernail.d)
F (..\Src\Heure.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\heure.o --omf_browse nucleo-f103rb\heure.crf --depend nucleo-f103rb\heure.d)
F (..\Src\Transmission.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\transmission.o --omf_browse nucleo-f103rb\transmission.crf --depend nucleo-f103rb\transmission.d)
F (..\Src\Voile.c)(0x5FA01FEC)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\voile.o --omf_browse nucleo-f103rb\voile.crf --depend nucleo-f103rb\voile.d)
F (..\Src\Allure.h)(0x5F8D5416)()
F (..\Src\AntiChavirement.h)(0x5FA03BA6)()
F (..\Src\Batterie.h)(0x5F8D5416)()
F (..\Src\Gouvernail.h)(0x5F8D5416)()
F (..\Src\Heure.h)(0x5F8D5416)()
F (..\Src\MyTimer.h)(0x5F8D5416)()
F (..\Src\Transmission.h)(0x5F8D5416)()
F (..\Src\Voile.h)(0x5FA01FEC)()
F (..\Src\AntiChavirement.c)(0x5FA03DFD)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\antichavirement.o --omf_browse nucleo-f103rb\antichavirement.crf --depend nucleo-f103rb\antichavirement.d)
I (..\Src\AntiChavirement.h)(0x5FA03BA6)
I (..\Inc\stm32f103xb.h)(0x5F8D5414)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (F:\Keil\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_adc.h)(0x5F8D5982)
I (..\Inc\stm32f1xx.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_gpio.h)(0x5F8D5982)
I (..\LLDrivers\inc\stm32f1xx_ll_bus.h)(0x5F8D5982)
I (..\LLDrivers\inc\stm32f1xx_ll_utils.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_system.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5F8D5414)
F (..\LLDrivers\src\stm32f1xx_ll_rcc.c)(0x5F8D5414)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\stm32f1xx_ll_rcc.o --omf_browse nucleo-f103rb\stm32f1xx_ll_rcc.crf --depend nucleo-f103rb\stm32f1xx_ll_rcc.d)
I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5F8D5414)
I (..\Inc\stm32f1xx.h)(0x5F8D5414)
I (..\Inc\stm32f103xb.h)(0x5F8D5414)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (F:\Keil\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5F8D5414)
F (..\LLDrivers\src\stm32f1xx_ll_utils.c)(0x5F8D5414)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\stm32f1xx_ll_utils.o --omf_browse nucleo-f103rb\stm32f1xx_ll_utils.crf --depend nucleo-f103rb\stm32f1xx_ll_utils.d)
I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5F8D5414)
I (..\Inc\stm32f1xx.h)(0x5F8D5414)
I (..\Inc\stm32f103xb.h)(0x5F8D5414)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (F:\Keil\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_utils.h)(0x5F8D5414)
I (..\LLDrivers\inc\stm32f1xx_ll_system.h)(0x5F8D5414)
F (../Src/system_stm32f1xx.c)(0x5F8D5416)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\system_stm32f1xx.o --omf_browse nucleo-f103rb\system_stm32f1xx.crf --depend nucleo-f103rb\system_stm32f1xx.d)
I (..\Inc\stm32f1xx.h)(0x5F8D5414)
I (..\Inc\stm32f103xb.h)(0x5F8D5414)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (F:\Keil\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5F8D5414)
F (startup_stm32f103xb.s)(0x5F8D5416)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_Simulateur -IC:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\elies\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 529" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --list startup_stm32f103xb.lst --xref -o nucleo-f103rb\startup_stm32f103xb.o --depend nucleo-f103rb\startup_stm32f103xb.d)

Binary file not shown.

View file

@ -0,0 +1 @@
nucleo-f103rb\allure.o: ..\Src\Allure.c

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
nucleo-f103rb\anticharvirement.o: ..\Src\AntiCharvirement.c

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
nucleo-f103rb\batterie.o: ..\Src\Batterie.c

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,10 @@
nucleo-f103rb\chrono.o: ..\Services\Chrono.c
nucleo-f103rb\chrono.o: ..\Services\Chrono.h
nucleo-f103rb\chrono.o: ..\Inc\stm32f103xb.h
nucleo-f103rb\chrono.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h
nucleo-f103rb\chrono.o: F:\Keil\ARM\ARMCC\Bin\..\include\stdint.h
nucleo-f103rb\chrono.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h
nucleo-f103rb\chrono.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h
nucleo-f103rb\chrono.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h
nucleo-f103rb\chrono.o: ..\Inc\system_stm32f1xx.h
nucleo-f103rb\chrono.o: ..\MyDrivers\MyTimer.h

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
nucleo-f103rb\gouvernail.o: ..\Src\Gouvernail.c

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
nucleo-f103rb\heure.o: ..\Src\Heure.c

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,14 @@
nucleo-f103rb\main.o: ../Src/main.c
nucleo-f103rb\main.o: ..\LLDrivers\inc\stm32f1xx_ll_rcc.h
nucleo-f103rb\main.o: ..\Inc\stm32f1xx.h
nucleo-f103rb\main.o: ..\Inc\stm32f103xb.h
nucleo-f103rb\main.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h
nucleo-f103rb\main.o: F:\Keil\ARM\ARMCC\Bin\..\include\stdint.h
nucleo-f103rb\main.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h
nucleo-f103rb\main.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h
nucleo-f103rb\main.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h
nucleo-f103rb\main.o: ..\Inc\system_stm32f1xx.h
nucleo-f103rb\main.o: ..\LLDrivers\inc\stm32f1xx_ll_utils.h
nucleo-f103rb\main.o: ..\LLDrivers\inc\stm32f1xx_ll_system.h
nucleo-f103rb\main.o: ..\Services\Chrono.h
nucleo-f103rb\main.o: ..\MyDrivers\MyTimer.h

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,8 @@
nucleo-f103rb\mytimer.o: ..\MyDrivers\MyTimer.c
nucleo-f103rb\mytimer.o: ..\Inc\stm32f103xb.h
nucleo-f103rb\mytimer.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h
nucleo-f103rb\mytimer.o: F:\Keil\ARM\ARMCC\Bin\..\include\stdint.h
nucleo-f103rb\mytimer.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h
nucleo-f103rb\mytimer.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h
nucleo-f103rb\mytimer.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h
nucleo-f103rb\mytimer.o: ..\Inc\system_stm32f1xx.h

Binary file not shown.

View file

@ -0,0 +1 @@
nucleo-f103rb\startup_stm32f103xb.o: startup_stm32f103xb.s

Binary file not shown.

View file

@ -0,0 +1,4 @@
nucleo-f103rb\stm32f1xx_it.o: ../Src/stm32f1xx_it.c
nucleo-f103rb\stm32f1xx_it.o: ../Inc/stm32f1xx_it.h
nucleo-f103rb\stm32f1xx_it.o: ../Inc/main.h
nucleo-f103rb\stm32f1xx_it.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_rcc.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_adc.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_adc.c
nucleo-f103rb\stm32f1xx_ll_adc.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_adc.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_crc.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_crc.c
nucleo-f103rb\stm32f1xx_ll_crc.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_crc.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_dac.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_dac.c
nucleo-f103rb\stm32f1xx_ll_dac.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dac.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_dma.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_dma.c
nucleo-f103rb\stm32f1xx_ll_dma.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dma.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_exti.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_exti.c
nucleo-f103rb\stm32f1xx_ll_exti.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_exti.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_gpio.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_gpio.c
nucleo-f103rb\stm32f1xx_ll_gpio.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_gpio.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_i2c.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_i2c.c
nucleo-f103rb\stm32f1xx_ll_i2c.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_i2c.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_pwr.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_pwr.c
nucleo-f103rb\stm32f1xx_ll_pwr.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_pwr.h

Binary file not shown.

View file

@ -0,0 +1,10 @@
nucleo-f103rb\stm32f1xx_ll_rcc.o: ..\LLDrivers\src\stm32f1xx_ll_rcc.c
nucleo-f103rb\stm32f1xx_ll_rcc.o: ..\LLDrivers\inc\stm32f1xx_ll_rcc.h
nucleo-f103rb\stm32f1xx_ll_rcc.o: ..\Inc\stm32f1xx.h
nucleo-f103rb\stm32f1xx_ll_rcc.o: ..\Inc\stm32f103xb.h
nucleo-f103rb\stm32f1xx_ll_rcc.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h
nucleo-f103rb\stm32f1xx_ll_rcc.o: F:\Keil\ARM\ARMCC\Bin\..\include\stdint.h
nucleo-f103rb\stm32f1xx_ll_rcc.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h
nucleo-f103rb\stm32f1xx_ll_rcc.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h
nucleo-f103rb\stm32f1xx_ll_rcc.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h
nucleo-f103rb\stm32f1xx_ll_rcc.o: ..\Inc\system_stm32f1xx.h

Binary file not shown.

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_rtc.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_rtc.c
nucleo-f103rb\stm32f1xx_ll_rtc.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_rtc.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_spi.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_spi.c
nucleo-f103rb\stm32f1xx_ll_spi.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_spi.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_tim.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_tim.c
nucleo-f103rb\stm32f1xx_ll_tim.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_tim.h

View file

@ -0,0 +1,2 @@
nucleo-f103rb\stm32f1xx_ll_usart.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usart.c
nucleo-f103rb\stm32f1xx_ll_usart.o: ../../../../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usart.h

Binary file not shown.

View file

@ -0,0 +1,12 @@
nucleo-f103rb\stm32f1xx_ll_utils.o: ..\LLDrivers\src\stm32f1xx_ll_utils.c
nucleo-f103rb\stm32f1xx_ll_utils.o: ..\LLDrivers\inc\stm32f1xx_ll_rcc.h
nucleo-f103rb\stm32f1xx_ll_utils.o: ..\Inc\stm32f1xx.h
nucleo-f103rb\stm32f1xx_ll_utils.o: ..\Inc\stm32f103xb.h
nucleo-f103rb\stm32f1xx_ll_utils.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h
nucleo-f103rb\stm32f1xx_ll_utils.o: F:\Keil\ARM\ARMCC\Bin\..\include\stdint.h
nucleo-f103rb\stm32f1xx_ll_utils.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h
nucleo-f103rb\stm32f1xx_ll_utils.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h
nucleo-f103rb\stm32f1xx_ll_utils.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h
nucleo-f103rb\stm32f1xx_ll_utils.o: ..\Inc\system_stm32f1xx.h
nucleo-f103rb\stm32f1xx_ll_utils.o: ..\LLDrivers\inc\stm32f1xx_ll_utils.h
nucleo-f103rb\stm32f1xx_ll_utils.o: ..\LLDrivers\inc\stm32f1xx_ll_system.h

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,9 @@
nucleo-f103rb\system_stm32f1xx.o: ../Src/system_stm32f1xx.c
nucleo-f103rb\system_stm32f1xx.o: ..\Inc\stm32f1xx.h
nucleo-f103rb\system_stm32f1xx.o: ..\Inc\stm32f103xb.h
nucleo-f103rb\system_stm32f1xx.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h
nucleo-f103rb\system_stm32f1xx.o: F:\Keil\ARM\ARMCC\Bin\..\include\stdint.h
nucleo-f103rb\system_stm32f1xx.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_version.h
nucleo-f103rb\system_stm32f1xx.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h
nucleo-f103rb\system_stm32f1xx.o: C:\Users\elies\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h
nucleo-f103rb\system_stm32f1xx.o: ..\Inc\system_stm32f1xx.h

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
nucleo-f103rb\transmission.o: ..\Src\Transmission.c

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
nucleo-f103rb\voile.o: ..\Src\Voile.c

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
nucleo-f103rb\voilier.o: ..\Src\Voilier.c

Binary file not shown.

View file

@ -26,7 +26,7 @@
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<CLKADS>72000000</CLKADS>
<CLKADS>8000000</CLKADS>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
@ -75,7 +75,7 @@
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
<IsCurrentTarget>0</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
@ -103,7 +103,7 @@
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>0</nTsel>
<nTsel>6</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
@ -114,7 +114,7 @@
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon>BIN\UL2CM3.DLL</pMon>
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
@ -130,7 +130,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</Key>
<Name>(1010=1544,437,1920,994,1)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=1027,281,1448,686,0)(121=-1,-1,-1,-1,0)(122=348,235,769,640,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=87,183,486,528,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=1029,93,1623,787,0)(131=-1,-1,-1,-1,0)(132=1285,441,1879,1135,1)(133=-1,-1,-1,-1,0)(160=900,145,1348,559,0)(161=476,349,924,763,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=1317,406,1920,1040,1)(151=-1,-1,-1,-1,0)</Name>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=100,127,658,622,0)(121=-1,-1,-1,-1,0)(122=348,235,769,640,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@ -145,7 +145,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>UL2CM3</Key>
<Name>-UAny -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)</Name>
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM))</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@ -154,33 +154,6 @@
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint/>
<WatchWindow1>
<Ww>
<count>0</count>
<WinNumber>1</WinNumber>
<ItemText>transmission</ItemText>
</Ww>
<Ww>
<count>1</count>
<WinNumber>1</WinNumber>
<ItemText>NiveauBatterie</ItemText>
</Ww>
<Ww>
<count>2</count>
<WinNumber>1</WinNumber>
<ItemText>res</ItemText>
</Ww>
<Ww>
<count>3</count>
<WinNumber>1</WinNumber>
<ItemText>angle_voile</ItemText>
</Ww>
<Ww>
<count>4</count>
<WinNumber>1</WinNumber>
<ItemText>retourCapteur,0x0A</ItemText>
</Ww>
</WatchWindow1>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
@ -189,7 +162,7 @@
<periodic>1</periodic>
<aLwin>1</aLwin>
<aCover>0</aCover>
<aSer1>1</aSer1>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>1</viewmode>
@ -287,7 +260,7 @@
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>0</IsCurrentTarget>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
@ -332,7 +305,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>DLGDARM</Key>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=120,153,415,450,0)(120=204,207,625,634,0)(121=-1,-1,-1,-1,0)(122=896,89,1317,516,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=248,17,842,768,0)(131=521,17,1115,768,0)(132=896,77,1490,828,1)(133=-1,-1,-1,-1,0)(160=1068,325,1516,739,1)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=120,153,415,450,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=896,89,1317,516,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=248,17,842,768,0)(131=521,17,1115,768,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=251,288,699,702,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=229,0,832,751,0)(151=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@ -365,7 +338,24 @@
<Name>-U-O142 -O2254 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint/>
<Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>99</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134218720</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\MyDrivers\MyTimer.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\NUCLEO_F103RB\../MyDrivers/MyTimer.c\99</Expression>
</Bp>
</Breakpoint>
<WatchWindow1>
<Ww>
<count>0</count>
@ -377,6 +367,21 @@
<WinNumber>1</WinNumber>
<ItemText>USART1</ItemText>
</Ww>
<Ww>
<count>2</count>
<WinNumber>1</WinNumber>
<ItemText>res,0x0A</ItemText>
</Ww>
<Ww>
<count>3</count>
<WinNumber>1</WinNumber>
<ItemText>res10,0x0A</ItemText>
</Ww>
<Ww>
<count>4</count>
<WinNumber>1</WinNumber>
<ItemText>res12,0x0A</ItemText>
</Ww>
</WatchWindow1>
<Tracepoint>
<THDelay>0</THDelay>
@ -386,7 +391,7 @@
<periodic>1</periodic>
<aLwin>1</aLwin>
<aCover>0</aCover>
<aSer1>1</aSer1>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>1</viewmode>
@ -447,7 +452,7 @@
<GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\Voilier.c</PathWithFileName>
@ -470,6 +475,18 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\MyDrivers\MyTimer.c</PathWithFileName>
<FilenameWithoutPath>MyTimer.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\Allure.c</PathWithFileName>
<FilenameWithoutPath>Allure.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
@ -477,7 +494,19 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>3</FileNumber>
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\Batterie.c</PathWithFileName>
<FilenameWithoutPath>Batterie.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -489,7 +518,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>4</FileNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -501,7 +530,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -513,7 +542,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileNumber>8</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -525,7 +554,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber>
<FileNumber>9</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -537,49 +566,97 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>8</FileNumber>
<FileNumber>10</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\maths.h</PathWithFileName>
<FilenameWithoutPath>maths.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\maths.c</PathWithFileName>
<FilenameWithoutPath>maths.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\Projet_Voilier_4IR\Src\Securite.c</PathWithFileName>
<FilenameWithoutPath>Securite.c</FilenameWithoutPath>
<PathWithFileName>..\Src\AntiChavirement.h</PathWithFileName>
<FilenameWithoutPath>AntiChavirement.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>11</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\Batterie.h</PathWithFileName>
<FilenameWithoutPath>Batterie.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>12</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\Gouvernail.h</PathWithFileName>
<FilenameWithoutPath>Gouvernail.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>13</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\Heure.h</PathWithFileName>
<FilenameWithoutPath>Heure.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>14</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\MyTimer.h</PathWithFileName>
<FilenameWithoutPath>MyTimer.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>15</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\Transmission.h</PathWithFileName>
<FilenameWithoutPath>Transmission.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>16</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\Voile.h</PathWithFileName>
<FilenameWithoutPath>Voile.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\Projet_Voilier_4IR\Src\string.c</PathWithFileName>
<FilenameWithoutPath>string.c</FilenameWithoutPath>
<PathWithFileName>..\Src\AntiChavirement.c</PathWithFileName>
<FilenameWithoutPath>AntiChavirement.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
@ -593,7 +670,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>12</FileNumber>
<FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -605,7 +682,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>13</FileNumber>
<FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -615,54 +692,6 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\LLDrivers\src\stm32f1xx_ll_gpio.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_ll_gpio.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>15</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\LLDrivers\src\stm32f1xx_ll_tim.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_ll_tim.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\LLDrivers\src\stm32f1xx_ll_exti.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_ll_exti.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\LLDrivers\src\stm32f1xx_ll_usart.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_ll_usart.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
@ -681,7 +710,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>18</FileNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -701,7 +730,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>19</FileNumber>
<FileNumber>21</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>

View file

@ -10,8 +10,8 @@
<TargetName>NUCLEO-F103RB</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<pCCUsed>5060750::V5.06 update 6 (build 750)::.\ARMCC</pCCUsed>
<uAC6>0</uAC6>
<pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
<uAC6>8</uAC6>
<TargetOption>
<TargetCommonOption>
<Device>STM32F103RB</Device>
@ -185,7 +185,6 @@
<uocXRam>0</uocXRam>
<RvdsVP>0</RvdsVP>
<RvdsMve>0</RvdsMve>
<RvdsCdeCp>0</RvdsCdeCp>
<hadIRAM2>0</hadIRAM2>
<hadIROM2>0</hadIROM2>
<StupSel>8</StupSel>
@ -352,7 +351,7 @@
<NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<ClangAsOpt>4</ClangAsOpt>
<uClangAs>0</uClangAs>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
@ -393,11 +392,21 @@
<Group>
<GroupName>MyDrivers</GroupName>
<Files>
<File>
<FileName>MyTimer.c</FileName>
<FileType>1</FileType>
<FilePath>..\MyDrivers\MyTimer.c</FilePath>
</File>
<File>
<FileName>Allure.c</FileName>
<FileType>1</FileType>
<FilePath>..\Src\Allure.c</FilePath>
</File>
<File>
<FileName>Batterie.c</FileName>
<FileType>1</FileType>
<FilePath>..\Src\Batterie.c</FilePath>
</File>
<File>
<FileName>Gouvernail.c</FileName>
<FileType>1</FileType>
@ -424,24 +433,44 @@
<FilePath>..\Src\Allure.h</FilePath>
</File>
<File>
<FileName>maths.h</FileName>
<FileName>AntiChavirement.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\maths.h</FilePath>
<FilePath>..\Src\AntiChavirement.h</FilePath>
</File>
<File>
<FileName>maths.c</FileName>
<FileType>1</FileType>
<FilePath>..\Src\maths.c</FilePath>
<FileName>Batterie.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\Batterie.h</FilePath>
</File>
<File>
<FileName>Securite.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\Projet_Voilier_4IR\Src\Securite.c</FilePath>
<FileName>Gouvernail.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\Gouvernail.h</FilePath>
</File>
<File>
<FileName>string.c</FileName>
<FileName>Heure.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\Heure.h</FilePath>
</File>
<File>
<FileName>MyTimer.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\MyTimer.h</FilePath>
</File>
<File>
<FileName>Transmission.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\Transmission.h</FilePath>
</File>
<File>
<FileName>Voile.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\Voile.h</FilePath>
</File>
<File>
<FileName>AntiChavirement.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\Projet_Voilier_4IR\Src\string.c</FilePath>
<FilePath>..\Src\AntiChavirement.c</FilePath>
</File>
</Files>
</Group>
@ -458,26 +487,6 @@
<FileType>1</FileType>
<FilePath>..\LLDrivers\src\stm32f1xx_ll_utils.c</FilePath>
</File>
<File>
<FileName>stm32f1xx_ll_gpio.c</FileName>
<FileType>1</FileType>
<FilePath>..\LLDrivers\src\stm32f1xx_ll_gpio.c</FilePath>
</File>
<File>
<FileName>stm32f1xx_ll_tim.c</FileName>
<FileType>1</FileType>
<FilePath>..\LLDrivers\src\stm32f1xx_ll_tim.c</FilePath>
</File>
<File>
<FileName>stm32f1xx_ll_exti.c</FileName>
<FileType>1</FileType>
<FilePath>..\LLDrivers\src\stm32f1xx_ll_exti.c</FilePath>
</File>
<File>
<FileName>stm32f1xx_ll_usart.c</FileName>
<FileType>1</FileType>
<FilePath>..\LLDrivers\src\stm32f1xx_ll_usart.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -512,7 +521,7 @@
<TargetName>Simulateur</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<pCCUsed>5060750::V5.06 update 6 (build 750)::.\ARMCC</pCCUsed>
<pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
<uAC6>0</uAC6>
<TargetOption>
<TargetCommonOption>
@ -687,7 +696,6 @@
<uocXRam>0</uocXRam>
<RvdsVP>0</RvdsVP>
<RvdsMve>0</RvdsMve>
<RvdsCdeCp>0</RvdsCdeCp>
<hadIRAM2>0</hadIRAM2>
<hadIROM2>0</hadIROM2>
<StupSel>8</StupSel>
@ -854,7 +862,7 @@
<NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<ClangAsOpt>4</ClangAsOpt>
<uClangAs>0</uClangAs>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
@ -895,11 +903,21 @@
<Group>
<GroupName>MyDrivers</GroupName>
<Files>
<File>
<FileName>MyTimer.c</FileName>
<FileType>1</FileType>
<FilePath>..\MyDrivers\MyTimer.c</FilePath>
</File>
<File>
<FileName>Allure.c</FileName>
<FileType>1</FileType>
<FilePath>..\Src\Allure.c</FilePath>
</File>
<File>
<FileName>Batterie.c</FileName>
<FileType>1</FileType>
<FilePath>..\Src\Batterie.c</FilePath>
</File>
<File>
<FileName>Gouvernail.c</FileName>
<FileType>1</FileType>
@ -926,24 +944,44 @@
<FilePath>..\Src\Allure.h</FilePath>
</File>
<File>
<FileName>maths.h</FileName>
<FileName>AntiChavirement.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\maths.h</FilePath>
<FilePath>..\Src\AntiChavirement.h</FilePath>
</File>
<File>
<FileName>maths.c</FileName>
<FileType>1</FileType>
<FilePath>..\Src\maths.c</FilePath>
<FileName>Batterie.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\Batterie.h</FilePath>
</File>
<File>
<FileName>Securite.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\Projet_Voilier_4IR\Src\Securite.c</FilePath>
<FileName>Gouvernail.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\Gouvernail.h</FilePath>
</File>
<File>
<FileName>string.c</FileName>
<FileName>Heure.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\Heure.h</FilePath>
</File>
<File>
<FileName>MyTimer.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\MyTimer.h</FilePath>
</File>
<File>
<FileName>Transmission.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\Transmission.h</FilePath>
</File>
<File>
<FileName>Voile.h</FileName>
<FileType>5</FileType>
<FilePath>..\Src\Voile.h</FilePath>
</File>
<File>
<FileName>AntiChavirement.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\Projet_Voilier_4IR\Src\string.c</FilePath>
<FilePath>..\Src\AntiChavirement.c</FilePath>
</File>
</Files>
</Group>
@ -960,26 +998,6 @@
<FileType>1</FileType>
<FilePath>..\LLDrivers\src\stm32f1xx_ll_utils.c</FilePath>
</File>
<File>
<FileName>stm32f1xx_ll_gpio.c</FileName>
<FileType>1</FileType>
<FilePath>..\LLDrivers\src\stm32f1xx_ll_gpio.c</FilePath>
</File>
<File>
<FileName>stm32f1xx_ll_tim.c</FileName>
<FileType>1</FileType>
<FilePath>..\LLDrivers\src\stm32f1xx_ll_tim.c</FilePath>
</File>
<File>
<FileName>stm32f1xx_ll_exti.c</FileName>
<FileType>1</FileType>
<FilePath>..\LLDrivers\src\stm32f1xx_ll_exti.c</FilePath>
</File>
<File>
<FileName>stm32f1xx_ll_usart.c</FileName>
<FileType>1</FileType>
<FilePath>..\LLDrivers\src\stm32f1xx_ll_usart.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -1026,19 +1044,4 @@
<files/>
</RTE>
<LayerInfo>
<Layers>
<Layer>
<LayName>&lt;Project Info&gt;</LayName>
<LayDesc></LayDesc>
<LayUrl></LayUrl>
<LayKeys></LayKeys>
<LayCat></LayCat>
<LayLic></LayLic>
<LayTarg>0</LayTarg>
<LayPrjMark>1</LayPrjMark>
</Layer>
</Layers>
</LayerInfo>
</Project>

109
MyDrivers/MyTimer.c Normal file
View file

@ -0,0 +1,109 @@
// TOUT A FAIRE !! //
/*
indispensable pour pouvoir adresser les registres des périphériques.
Rem : OBLIGATION d'utiliser les définitions utiles contenues dans ce fichier (ex : TIM_CR1_CEN, RCC_APB1ENR_TIM2EN ...)
pour une meilleure lisibilité du code.
Pour les masques, utiliser également les définitions proposée
Rappel : pour mettre à 1 , reg = reg | Mask (ou Mask est le représente le ou les bits à positionner à 1)
pour mettre à 0 , reg = reg&~ Mask (ou Mask est le représente le ou les bits à positionner à 0)
*/
#include "stm32f103xb.h"
void (* pTIM1_Overflow) (void); //Pointeurs de fonctions que l'on appelle dans le handler et définis dans IT_Conf
void (* pTIM2_Overflow) (void);
void (* pTIM3_Overflow) (void);
void (* pTIM4_Overflow) (void);
void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc){
//Activation horloge selon timer utilisé
if (Timer == TIM1){
RCC->APB2ENR = RCC->APB2ENR | RCC_APB2ENR_TIM1EN;
}
if (Timer == TIM2){
RCC->APB1ENR = RCC->APB1ENR | RCC_APB1ENR_TIM2EN;
}
else if (Timer == TIM3){
RCC->APB1ENR = RCC->APB1ENR | RCC_APB1ENR_TIM3EN;
}
else{
RCC->APB1ENR = RCC->APB1ENR | RCC_APB1ENR_TIM4EN;
}
Timer->ARR = Arr;
Timer->PSC = Psc;
}
void MyTimer_Start(TIM_TypeDef * Timer){
//Mise à 1 du bit CEN de CR1 = activation timer
Timer->CR1 |= 0x1;
}
void MyTimer_Stop(TIM_TypeDef * Timer){
//Mise à 0 du bit CEN de CR1 = stop timer
Timer->CR1 &= ~0x1;
}
void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio){
Timer->DIER |= 0x1; //Enable Update IT (débordement du timer)
if (Timer == TIM1){
NVIC->IP[TIM1_UP_IRQn] = Prio<<4;
NVIC->ISER[0] |= 0x1<<TIM1_UP_IRQn;
pTIM1_Overflow = IT_function;
}
if (Timer == TIM2){
NVIC->IP[TIM2_IRQn] = Prio<<4;
NVIC->ISER[0] |= 0x1<<TIM2_IRQn;
pTIM2_Overflow = IT_function;
}
if (Timer == TIM3){
NVIC->IP[TIM3_IRQn] = Prio<<4;
NVIC->ISER[0] |= 0x1<<TIM3_IRQn;
pTIM3_Overflow = IT_function;
}
if (Timer == TIM4){
NVIC->IP[TIM4_IRQn] = Prio<<4;
NVIC->ISER[0] |= 0x1<<TIM4_IRQn;
pTIM4_Overflow = IT_function;
}
}
void MyTimer_IT_Disable(TIM_TypeDef * Timer){
Timer->DIER |= 0x0; //Disable Update IT (débordement du timer)
if (Timer == TIM1){
NVIC->ISER[0] |= 0x0<<TIM1_UP_IRQn;
}
if (Timer == TIM2){
NVIC->ISER[0] |= 0x0<<TIM2_IRQn;
}
if (Timer == TIM3){
NVIC->ISER[0] |= 0x0<<TIM3_IRQn;
}
if (Timer == TIM4){
NVIC->ISER[0] |= 0x0<<TIM4_IRQn;
}
}
void TIM1_UP_IRQHandler(void){ //Fonctions qui sont les handler appelée par le NVIC lors des interruptions
(*pTIM1_Overflow)(); //Contien le faux "handler" qui lui contient des instructions
TIM1->SR = 0x0;
}
void TIM2_IRQHandler(void){
(*pTIM2_Overflow)();
TIM2->SR = 0x0;
}
void TIM3_IRQHandler(void){
(*pTIM3_Overflow)();
TIM3->SR = 0x0;
}
void TIM4_IRQHandler(void){
(*pTIM4_Overflow)();
TIM4->SR = 0x0;
}

70
MyDrivers/MyTimer.h Normal file
View file

@ -0,0 +1,70 @@
// RIEN A MODIFIER //
#ifndef MY_TIMER_H
#define MY_TIMER_H
/*
Driver pour Timer 1 à 4 du STM32F103RB
*/
#include "stm32f103xb.h"
/**
* @brief Active l'horloge et règle l'ARR et le PSC du timer visé
* @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart)
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* int Arr : valeur à placer dans ARR
* int Psc : valeur à placer dans PSC
* @retval None
*/
void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc);
/**
* @brief Démarre le timer considéré
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_Start(TIM_TypeDef * Timer);
/**
* @brief Arrêt le timer considéré
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_Stop(TIM_TypeDef * Timer);
/**
* @brief Configure le Timer considéré en interruption sur débordement.
* @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable )
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption
* int Prio : priorité associée à l'interruption
* @retval None
*/
void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio);
/**
* @brief Autorise les interruptions
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_IT_Enable(TIM_TypeDef * Timer); //On fait tt dans IT_Conf
/**
* @brief Interdit les interruptions
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_IT_Disable(TIM_TypeDef * Timer);
#endif

View file

@ -1,104 +0,0 @@
#include "maths.h" //Pour la valeur absolue
#include "stm32f1xx_ll_gpio.h" // GPIO
#include "stm32f1xx_ll_bus.h" // RCC
#include "stm32f1xx_ll_tim.h" // TIMER
#include "stm32f1xx_ll_exti.h" // External Interrup
int initialized = 0;
/**
* @brief Configure la girouette pour la détection de l'allure (sens du vent).
* @note Configuration des ports PA6 et 7 en alternate input pour récupérer les signaux
Configuration des deux channels du TIM3 pour le compteur incrementeur
Configuration du PA5 avec une interruption pour capter les tours de girouette
* @param None
* @retval None
*/
void ConfAllure(void) {
// Configuration des IO
// Liberation de la clock du port A
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
// Configuration des IO -> pin A6 et A7 en alternate imput, pin A5 en interruption
//LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_5, LL_GPIO_MODE_INPUT);
LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_6, LL_GPIO_MODE_FLOATING);
LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_7, LL_GPIO_MODE_FLOATING);
LL_GPIO_AF_SetEXTISource(LL_GPIO_AF_EXTI_PORTA, LL_GPIO_AF_EXTI_LINE5);
LL_EXTI_InitTypeDef ExtiInitializer;
LL_EXTI_StructInit(&ExtiInitializer);
ExtiInitializer.Line_0_31 = LL_EXTI_LINE_5;
ExtiInitializer.Mode = LL_EXTI_MODE_IT;
ExtiInitializer.Trigger = LL_EXTI_TRIGGER_RISING;
ExtiInitializer.LineCommand = ENABLE;
LL_EXTI_Init(&ExtiInitializer);
NVIC->IP[23] = 0x43;
NVIC->ISER[0] |= 0x01 <<23;
//Configuration du timer
// Libération de la clock du timer
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3);
// Configuration des canaux du timer -> TIM3 CH1 et 2 en alternate input
LL_TIM_ENCODER_InitTypeDef Tim3Initializer;
LL_TIM_ENCODER_StructInit(&Tim3Initializer);
Tim3Initializer.EncoderMode = LL_TIM_ENCODERMODE_X2_TI1;
Tim3Initializer.IC1ActiveInput = LL_TIM_ACTIVEINPUT_DIRECTTI;
Tim3Initializer.IC1Filter = LL_TIM_IC_FILTER_FDIV1 ;
Tim3Initializer.IC1Polarity = LL_TIM_IC_POLARITY_RISING;
Tim3Initializer.IC1Prescaler = LL_TIM_ICPSC_DIV1;
Tim3Initializer.IC2ActiveInput = LL_TIM_ACTIVEINPUT_DIRECTTI;
Tim3Initializer.IC2Filter = LL_TIM_IC_FILTER_FDIV1;
Tim3Initializer.IC2Polarity = LL_TIM_IC_POLARITY_RISING;
Tim3Initializer.IC2Prescaler = LL_TIM_ICPSC_DIV1;
LL_TIM_ENCODER_Init(TIM3, &Tim3Initializer);
LL_TIM_SetAutoReload(TIM3, 719);
LL_TIM_EnableCounter(TIM3);
}
int retourCapteur;
int RecupAllure(void) {
if (!initialized) {
return 180; //Si jamais la girouette n'est pas initialisée, on relache les voiles (comme en cas d'alerte dee chavirement)
} else {
retourCapteur = (int)LL_TIM_GetCounter(TIM3);
if (retourCapteur < 360) {
return (retourCapteur/2);
} else {
return (retourCapteur + 720)/2;
}
}
}
char * AllureToString(int alpha) {
int alpha_abs = abs(alpha);
if (alpha_abs < 45) {
return "Vent debout";
} else if (alpha < 55) {
return "Pres";
} else if (alpha < 65) {
return "Bon plein";
} else if (alpha < 80) {
return "Petit largue";
} else if (alpha < 100) {
return "Travers";
} else if (alpha < 115) {
return "Largue";
} else if (alpha < 155) {
return "Grand largue";
} else if (alpha < 180) {
return "Vent arriere";
} else {
return "ERROR";
}
}
int GirouetteInitialisee(void) {
return initialized;
}
void EXTI9_5_IRQHandler(void) {
LL_TIM_SetCounter(TIM3, 0);
initialized = 1;
LL_EXTI_ClearFlag_0_31(LL_EXTI_LINE_5);
}

View file

@ -1,45 +0,0 @@
#ifndef ALLURE_H
#define ALLURE_H
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : PAUL */
/**
* @brief Configure la girouette pour la détection de l'allure (sens du vent).
* @note Configuration des ports PA6 et 7 en alternate input pour récupérer les signaux
Configuration des deux channels du TIM3 pour le compteur incrementeur
Configuration du PA5 avec une interruption pour capter les tours de girouette
* @param None
* @retval None
*/
void ConfAllure(void);
/**
* @brief Renvoi la valeur de l'allure actuelle
* @note Représentation de la donnée en degrès -> int entre -180 et 180
ATTENTION : -1000 renvoyé si girouette non initialisée
* @param None
* @retval L'allure, représenté en degrès par un entier entre -180 et 180
ATTENTION : -1000 renvoyé si girouette non initialisée
*/
int RecupAllure(void);
/**
* @brief Associe un chaine de caractère a une valeur d'allure.
* @note Une chaine de caractère est associé a des intervalles de alpha :
[-45, 45] -> "Vent debout"
[45, 55] -> "Près" (et intervalle opposé)
[55, 65] -> "Bon plein" (et intervalle opposé)
[65, 80] -> "Petit largue" (et intervalle opposé)
[80, 100] -> "Travers" (et intervalle opposé)
[100, 115] -> "Largue" (et intervalle opposé)
[115, 155] -> "Grand largue" (et intervalle opposé)
[155, -155] -> "Vent arrière"
Autre -> "ERROR"
* @param alpha : un entier représentant l'allure en ° (-180 à 180)
* @retval Une chaine de caractère représentant l'allure
*/
char * AllureToString(int alpha);
int GirouetteInitialisee(void);
#endif

View file

@ -1,21 +1,12 @@
#include "stm32f103xb.h"
#include "stm32f1xx_ll_adc.h"
#include "stm32f1xx_ll_gpio.h"
#include "stm32f1xx_ll_bus.h"
#include "stm32f1xx_ll_utils.h" // utile dans la fonction SystemClock_Config
#include "stm32f1xx_ll_system.h" // utile dans la fonction SystemClock_Config
#include "stm32f1xx_ll_rcc.h" // utile dans la fonction SystemClock_Config
#include "Voile.h"
#include "AntiChavirement.h"
#define SEUIL45DEGRESSENS1 (1853)
int CalculerDanger(int gamma){
}
#define SEUIL45DEGRESSENS2 (2457)
int RecupRouli(){
}
// Seuil represente la valeur (en %) en dessous de laquelle le niveau de batterie est consideree faible
#define Seuil (20)
void ConfSecurite(){
void ConfAntiChavirement(){
//On est pas sûrs pour ADC 1, voir datasheet page 28
//Faire les horloges
@ -60,59 +51,69 @@ void ConfSecurite(){
/*LL_ADC_StartCalibration(ADC1);
LL_ADC_StartCalibration(ADC1);
//Tant que calibration par terminée on enable pas
while(LL_ADC_IsCalibrationOnGoing(ADC1)){
}*/
}
//Activation de l'ADC (???)
LL_ADC_Enable(ADC1);
}
int RecupNiveauBatterie(void){
// Lancement de la conversion
LL_ADC_INJ_StartConversionSWStart(ADC1);
// Attente de la fin de conversion
while(!LL_ADC_IsActiveFlag_JEOS(ADC1)){}
// R?cuperation de la valeur apres conversion
int NiveauBatterie = LL_ADC_INJ_ReadConversionData12(ADC1,LL_ADC_INJ_RANK_2);
// Valeur code sur 12 bits : 0 a 4095 ; on veut Niveau de batterie en pourcentage
return (int)((float)(NiveauBatterie) * 100.0 / 4095.0) ;
void SystemClock_Config(void)
{
/* Set FLASH latency */
LL_FLASH_SetLatency(LL_FLASH_LATENCY_2);
/* Enable HSE oscillator */
// ********* Commenter la ligne ci-dessous pour MCBSTM32 *****************
// ********* Conserver la ligne si Nucléo*********************************
LL_RCC_HSE_EnableBypass();
LL_RCC_HSE_Enable();
while(LL_RCC_HSE_IsReady() != 1)
{
};
/* Main PLL configuration and activation */
LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_HSE_DIV_1, LL_RCC_PLL_MUL_9);
LL_RCC_PLL_Enable();
while(LL_RCC_PLL_IsReady() != 1)
{
};
/* Sysclk activation on the main PLL */
LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1);
LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL);
while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL)
{
};
/* Set APB1 & APB2 prescaler*/
LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_2);
LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1);
/* Set systick to 1ms in using frequency set to 72MHz */
LL_Init1msTick(72000000); // utile lorsqu'on utilise la fonction LL_mDelay
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(72000000);
}
int res10;
int res12;
int CalculerDangerNiveauBatterie(int niveau){
if ( niveau <= Seuil)
{
return 1;
}
else
{
return 0;
int main(){
SystemClock_Config();
ConfAntiChavirement();
while(1){
LL_ADC_INJ_StartConversionSWStart(ADC1);
while(!LL_ADC_IsActiveFlag_JEOS(ADC1)){}
res10 = LL_ADC_INJ_ReadConversionData12(ADC1,LL_ADC_INJ_RANK_1);
res12 = LL_ADC_INJ_ReadConversionData12(ADC1,LL_ADC_INJ_RANK_2);
}
}
int CalculerDangerChavirement(int gamma){
if ((gamma > SEUIL45DEGRESSENS2) || (gamma < SEUIL45DEGRESSENS1))
{
return 1;
}
else
{
return 0;
}
}
int RecupRouli(){
// Lancement de la conversion
LL_ADC_INJ_StartConversionSWStart(ADC1);
// Attente de la fin de conversion
while(!LL_ADC_IsActiveFlag_JEOS(ADC1)){}
// R?cuperation de la valeur apres conversion
int NiveauChavirement = LL_ADC_INJ_ReadConversionData12(ADC1,LL_ADC_INJ_RANK_1);
return NiveauChavirement;
}

38
Src/AntiChavirement.h Normal file
View file

@ -0,0 +1,38 @@
#ifndef ANTI_CHAVIREMENT_H
#define ANTI_CHAVIREMENT_H
#include "stm32f103xb.h"
#include "stm32f1xx_ll_adc.h"
#include "stm32f1xx_ll_gpio.h"
#include "stm32f1xx_ll_bus.h"
#include "stm32f1xx_ll_utils.h" // utile dans la fonction SystemClock_Config
#include "stm32f1xx_ll_system.h" // utile dans la fonction SystemClock_Config
#include "stm32f1xx_ll_rcc.h" // utile dans la fonction SystemClock_Config
/**
* @brief
* @note
* @param
* @retval
*/
int CalculerDanger(int gamma);
/**
* @brief
* @note
* @param
* @retval
*/
int RecupRouli();
/**
* @brief
* @note Fonction à lancer avant toute autre.
* @param None
* @retval None
*/
void ConfAntiChavirement();
#endif

0
Src/Batterie.c Normal file
View file

0
Src/Batterie.h Normal file
View file

View file

@ -1,94 +0,0 @@
#include "stm32f1xx_ll_gpio.h" // GPIO
#include "stm32f1xx_ll_bus.h" // RCC
#include "stm32f1xx_ll_tim.h" // TIMER
#include "maths.h"
#define MAX_PWM (50)
#define MAX_PWM_OUTPUT (34999)
/**
* @brief Configure le récepteur de la télécommande ainsi que le plateau rotatif.
* @note Configuration du port PB6 et 7 en alternate input pour récupérer les signaux
Configuration des deux channels du TIM4 pour la lecture de la PWM
Configuration du PA1 en alternate output (commande PWM vitesse) et PA2 en output push pull pour commander le sens
Configuration du TIM2_CH2 pour la sortie PWM
* @param None
* @retval None
*/
void ConfGouvernail(void) {
// Configuration des IO
// Liberation de la clock du port A et B
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOB);
// Configuration des IO -> pin B6 en alternate input, pin A1 en alternate output, et, pin A2 en output push pull
LL_GPIO_SetPinMode(GPIOB, LL_GPIO_PIN_6, LL_GPIO_MODE_FLOATING);
LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_1, LL_GPIO_MODE_ALTERNATE);
LL_GPIO_SetPinOutputType(GPIOA, LL_GPIO_PIN_1, LL_GPIO_OUTPUT_PUSHPULL);
LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_2, LL_GPIO_MODE_OUTPUT_2MHz);
LL_GPIO_SetPinOutputType(GPIOA, LL_GPIO_PIN_2, LL_GPIO_OUTPUT_PUSHPULL);
//Configuration des timers
// Libération de la clock du timer
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2);
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM4);
// Configuration des canaux du timer -> TIM2 CH2 et PWM output (plages de 20ms)
LL_TIM_OC_InitTypeDef Tim2Initializer;
LL_TIM_OC_StructInit(&Tim2Initializer);
Tim2Initializer.OCMode = LL_TIM_OCMODE_PWM1;
LL_TIM_OC_Init(TIM2, LL_TIM_CHANNEL_CH2, &Tim2Initializer);
LL_TIM_SetAutoReload(TIM2, MAX_PWM);
LL_TIM_SetPrescaler(TIM2, 71);
LL_TIM_OC_SetCompareCH2(TIM2, 0);
LL_TIM_EnableCounter(TIM2);
LL_TIM_CC_EnableChannel(TIM2, LL_TIM_CHANNEL_CH2);
LL_TIM_IC_InitTypeDef Tim4Initializer;
LL_TIM_IC_StructInit(&Tim4Initializer);
Tim4Initializer.ICActiveInput = LL_TIM_ACTIVEINPUT_DIRECTTI;
Tim4Initializer.ICPolarity = LL_TIM_IC_POLARITY_RISING;
LL_TIM_IC_Init(TIM4, LL_TIM_CHANNEL_CH1, &Tim4Initializer);
Tim4Initializer.ICActiveInput = LL_TIM_ACTIVEINPUT_INDIRECTTI;
Tim4Initializer.ICPolarity = LL_TIM_IC_POLARITY_FALLING;
LL_TIM_IC_Init(TIM4, LL_TIM_CHANNEL_CH2, &Tim4Initializer);
LL_TIM_SetAutoReload(TIM4, MAX_PWM_OUTPUT);
LL_TIM_SetPrescaler(TIM4, 71);
LL_TIM_SetSlaveMode(TIM4, LL_TIM_SLAVEMODE_RESET);
LL_TIM_SetTriggerInput(TIM4, LL_TIM_TS_TI1FP1);
LL_TIM_EnableCounter(TIM4);
LL_TIM_CC_EnableChannel(TIM4, LL_TIM_CHANNEL_CH1);
LL_TIM_CC_EnableChannel(TIM4, LL_TIM_CHANNEL_CH2);
}
/**
* @brief Renvoi la valeur envoyée par la télécommande
* @note Représentation de la donnée en % bidirectionnel -> int entre -100 et 100 (sens codé par le signe, vitesse par la valeur absolue)
* @param None
* @retval La commande de la télécommande, représenté en % bidirectionnel -> int entre -100 et 100 (sens codé par le signe, vitesse par la valeur absolue)
*/
int LireTelecommande(void) {
int lecture = LL_TIM_IC_GetCaptureCH2(TIM4) + 1;
int Valeur_Lue = ((lecture - 1500) / 5);
if (abs(Valeur_Lue) < 10) {
return 0;
} else {
return Valeur_Lue;
}
}
/**
* @brief Commande le moteur en fonction de la commande donnée.
* @note Commande le sens et la vitesse
* @param Commande en % bidirectionnel -> int entre -100 et 100 (sens codé par le signe, vitesse par la valeur absolue)
* @retval None
*/
void CommanderMoteur(int commande) {
if (commande < 0) {
LL_GPIO_SetOutputPin(GPIOA, LL_GPIO_PIN_2);
} else {
LL_GPIO_ResetOutputPin(GPIOA, LL_GPIO_PIN_2);
}
LL_TIM_OC_SetCompareCH2(TIM2, (int)(((float)abs(commande)) * (((float)MAX_PWM) / 100.0)));
}

View file

@ -1,34 +0,0 @@
#ifndef GOUVERNAIL_H
#define GOUVERNAIL_H
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : PAUL, ELISE */
/**
* @brief Configure le récepteur de la télécommande ainsi que le plateau rotatif.
* @note Configuration du port PB6 et 7 en alternate input pour récupérer les signaux de la télécommande
Configuration des deux channels du TIM4 pour la lecture de la PWM
Configuration du PA1 en alternate output (commande PWM vitesse) et PA2 en output push pull pour commander le sens
Configuration du TIM2_CH2 pour la sortie PWM
* @param None
* @retval None
*/
void ConfGouvernail(void);
/**
* @brief Renvoi la valeur envoyée par la télécommande
* @note Représentation de la donnée en % bidirectionnel -> int entre -100 et 100 (sens codé par le signe, vitesse par la valeur absolue)
* @param None
* @retval La commande de la télécommande, représenté en % bidirectionnel -> int entre -100 et 100 (sens codé par le signe, vitesse par la valeur absolue)
*/
int LireTelecommande(void);
/**
* @brief Commande le moteur en fonction de la commande donnée.
* @note Commande le sens et la vitesse
* @param Commande en % bidirectionnel -> int entre -100 et 100 (sens codé par le signe, vitesse par la valeur absolue)
* @retval None
*/
void CommanderMoteur(int commande);
#endif

182
Src/MyTimer.c Normal file
View file

@ -0,0 +1,182 @@
// TOUT A FAIRE !! //
/*
indispensable pour pouvoir adresser les registres des périphériques.
Rem : OBLIGATION d'utiliser les définitions utiles contenues dans ce fichier (ex : TIM_CR1_CEN, RCC_APB1ENR_TIM2EN ...)
pour une meilleure lisibilité du code.
Pour les masques, utiliser également les définitions proposée
Rappel : pour mettre à 1 , reg = reg | Mask (ou Mask est le représente le ou les bits à positionner à 1)
pour mettre à 0 , reg = reg&~ Mask (ou Mask est le représente le ou les bits à positionner à 0)
*/
#include "MyTimer.h"
#include "stm32f1xx_ll_bus.h" // Pour l'activation des horloges
#include "stm32f1xx_ll_tim.h"
// variable pointeur de fonction permettant de mémoriser le callback à appeler depuis
// le handler d'IT
void (*Ptr_ItFct_TIM1)(void);
void (*Ptr_ItFct_TIM2)(void);
void (*Ptr_ItFct_TIM3)(void);
void (*Ptr_ItFct_TIM4)(void);
/**
* @brief Active l'horloge et règle l'ARR et le PSC du timer visé
* @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart)
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* int Arr : valeur à placer dans ARR
* int Psc : valeur à placer dans PSC
* @retval None
*/
void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc)
{
LL_TIM_InitTypeDef My_LL_Tim_Init_Struct;
// Validation horloge locale
if (Timer==TIM1) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM1);
else if (Timer==TIM2) LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2);
else if (Timer==TIM3) LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3);
else LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM4);
// chargement structure Arr, Psc, Up Count
My_LL_Tim_Init_Struct.Autoreload=Arr;
My_LL_Tim_Init_Struct.Prescaler=Psc;
My_LL_Tim_Init_Struct.ClockDivision=LL_TIM_CLOCKDIVISION_DIV1;
My_LL_Tim_Init_Struct.CounterMode=LL_TIM_COUNTERMODE_UP;
My_LL_Tim_Init_Struct.RepetitionCounter=0;
LL_TIM_Init(Timer,&My_LL_Tim_Init_Struct);
// Blocage IT
LL_TIM_DisableIT_UPDATE(Timer);
// Blocage Timer
LL_TIM_DisableCounter(Timer);
}
/**
* @brief Démarre le timer considéré
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_Start(TIM_TypeDef * Timer)
{
LL_TIM_EnableCounter(Timer);
}
/**
* @brief Arrêt le timer considéré
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_Stop(TIM_TypeDef * Timer)
{
LL_TIM_DisableCounter(Timer);
}
/**
* @brief Configure le Timer considéré en interruption sur débordement.
* @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable )
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption
* int Prio : priorité associée à l'interruption
* @retval None
*/
void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio)
{
// affectation de la fonction
if (Timer==TIM1) Ptr_ItFct_TIM1=IT_function;
else if (Timer==TIM2) Ptr_ItFct_TIM2=IT_function;
else if (Timer==TIM3) Ptr_ItFct_TIM3=IT_function;
else Ptr_ItFct_TIM4=IT_function;
// Blocage IT (il faudra la débloquer voir fct suivante)
LL_TIM_DisableIT_UPDATE(Timer);
// validation du canal NVIC
IRQn_Type TIM_irq;
if (Timer==TIM1) TIM_irq=TIM1_UP_IRQn;
else if (Timer==TIM2) TIM_irq=TIM2_IRQn;
else if (Timer==TIM3) TIM_irq=TIM3_IRQn;
else TIM_irq=TIM4_IRQn;
NVIC_SetPriority(TIM_irq, Prio);
NVIC_EnableIRQ(TIM_irq);
}
/**
* @brief Autorise les interruptions
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_IT_Enable(TIM_TypeDef * Timer)
{
LL_TIM_EnableIT_UPDATE(Timer);
}
/**
* @brief Interdit les interruptions
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_IT_Disable(TIM_TypeDef * Timer)
{
LL_TIM_DisableIT_UPDATE(Timer);
}
/*
============ LES INTERRUPTIONS =================================
*/
void TIM1_UP_IRQHandler(void)
{
// rabaisser le flag d'IT
LL_TIM_ClearFlag_UPDATE(TIM1);
(*Ptr_ItFct_TIM1)();
}
void TIM2_IRQHandler(void)
{
// rabaisser le flag d'IT
LL_TIM_ClearFlag_UPDATE(TIM2);
(*Ptr_ItFct_TIM2)();
}
void TIM3_IRQHandler(void)
{
// rabaisser le flag d'IT
LL_TIM_ClearFlag_UPDATE(TIM3);
(*Ptr_ItFct_TIM3)();
}
void TIM4_IRQHandler(void)
{
// rabaisser le flag d'IT
LL_TIM_ClearFlag_UPDATE(TIM4);
(*Ptr_ItFct_TIM4)();
}

70
Src/MyTimer.h Normal file
View file

@ -0,0 +1,70 @@
// RIEN A MODIFIER //
#ifndef MY_TIMER_H
#define MY_TIMER_H
/*
Driver pour Timer 1 à 4 du STM32F103RB
*/
#include "stm32f103xb.h"
/**
* @brief Active l'horloge et règle l'ARR et le PSC du timer visé
* @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart)
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* int Arr : valeur à placer dans ARR
* int Psc : valeur à placer dans PSC
* @retval None
*/
void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc);
/**
* @brief Démarre le timer considéré
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_Start(TIM_TypeDef * Timer);
/**
* @brief Arrêt le timer considéré
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_Stop(TIM_TypeDef * Timer);
/**
* @brief Configure le Timer considéré en interruption sur débordement.
* @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable )
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption
* int Prio : priorité associée à l'interruption
* @retval None
*/
void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio);
/**
* @brief Autorise les interruptions
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_IT_Enable(TIM_TypeDef * Timer);
/**
* @brief Interdit les interruptions
* @note
* @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4
* @retval None
*/
void MyTimer_IT_Disable(TIM_TypeDef * Timer);
#endif

View file

@ -1,50 +0,0 @@
#ifndef SECURITE_H
#define SECURITE_H
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : ELIES, AURIANE, ELISE */
/**
* @brief Mets le flag drapeauDangerRouli a 1 si l angle de roulis est mauvais
* @note Si le voilier prend un angle de roulis supérieur à 40° -> MSG de danger + voiles sont immédiatement relâchées
* @param un entier representant l angle de roulis (entre 0 et 90 degrés)
* @retval NONE
*/
int CalculerDangerChavirement(int gamma);
/**
* @brief Recuperer l angle de rouli
* @note ADC1 -> Channel 10 (Rang 1)
* @param None
* @retval angle de rouli (entre 0 et 90 degrès)
*/
int RecupRouli(void);
/**
* @brief Recuperer le niveau de batterie
* @note ADC1 -> Channel 12 (Rang 2)
* @param None
* @retval niveau de batterie en pourcentage (entre 0 et 100)
*/
int RecupNiveauBatterie(void);
/**
* @brief Configuration de l'ADC 1 pour l'acceleromètre et le niveau de batterie
* @note Channels 10 et 12. A lancer en 1er
* @param None
* @retval None
*/
void ConfSecurite(void);
/**
* @brief Met le flag de dangerBatterie à 1 si batterie faible.
* @note
* @param un entier representant le niveau de batterie en pourcentage
* @retval 1 si danger, 0 si pas de danger
*/
int CalculerDangerNiveauBatterie(int niveau);
#endif

View file

@ -1,185 +0,0 @@
#include "stm32f1xx_ll_bus.h"
#include "stm32f1xx_ll_gpio.h"
#include "stm32f1xx_ll_utils.h"
#include "stm32f1xx_ll_usart.h"
#include "stm32f1xx_ll_rcc.h"
#include "stm32f1xx_ll_system.h" // utile dans la fonction SystemClock_Config
#include "Allure.h"
#include "Voile.h"
#include "string.h"
#define TAILLE_MESSAGE_MAX 100
#define USARTX USART1
// Structure pour gérer la transmission du message
struct t_transmission {
char message[TAILLE_MESSAGE_MAX];// Le message lui même
int position;// La position du caractere a envoyer
int taille_message; //On peut envoyer des messages de tailles variables, il faut donc spécifier la taille
char envoyer;// Booléen utilisé comme flag -> vrai on envoie, faux on fait rien
char exceptionnel; //Booléen utilisé comme flag -> vrai on envoie un message excep donc, on ne fait pas l'envoi regulier
};
/**
* @brief Initialise une structure t_transmission.
* @note Structure initialisée : (message -> 00:00:00:, end_of_message -> 0x0D, position -> 0, first_appel -> 1)
* @param @ de la structure a initialiser
* @retval None
*/
void init_t_transmission(struct t_transmission * transmission) {
int i;
for (i=0; i<TAILLE_MESSAGE_MAX; i++) {
transmission->message[i] = '0';
}
transmission->message[TAILLE_MESSAGE_MAX - 1] = '\0';
transmission->position = 0;
transmission->taille_message = 0;
transmission->envoyer = 0;
transmission->exceptionnel = 0;
}
static struct t_transmission transmission;
void ConfTransmission(){
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1); //On enable la clock pour l'USARt
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA); //enable la clock du gpio où est l'USART
LL_GPIO_SetPinMode(GPIOA,LL_GPIO_PIN_9,LL_GPIO_MODE_ALTERNATE); // Mode fonction alternative PIN USART Tx
LL_USART_InitTypeDef USART_InitStruct;
LL_USART_StructInit(&USART_InitStruct);
USART_InitStruct.BaudRate = 9600; //Set Baud rate -> 19200Bd
USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B; //Set data width -> 8bits
USART_InitStruct.Parity = LL_USART_PARITY_NONE;// Disable Parity
USART_InitStruct.StopBits = LL_USART_STOPBITS_1;// Set stop bit -> 1
USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX;//Set sens -> TX Only
LL_USART_Init(USARTX, &USART_InitStruct);// Applique les modifs
LL_USART_Enable(USARTX);// Rend l'USART enable A FAIRE EN DERNIER
/*LL_USART_EnableDirectionTx(USARTX); //Enable direction Tx
LL_USART_SetParity(USARTX,LL_USART_PARITY_NONE); // disable parity bit
LL_USART_SetStopBitsLength(USARTX,LL_USART_STOPBITS_1);
LL_USART_SetBaudRate(USARTX, 72000000,9600); //Set Baud Rate à 9600 (règle de trois avec 1 pour 36 000 0000
LL_USART_Enable(USARTX); //Enable Usart*/
LL_GPIO_SetPinMode(GPIOA,LL_GPIO_PIN_11,LL_GPIO_MODE_OUTPUT);
LL_GPIO_SetPinOutputType(GPIOA,LL_GPIO_PIN_11,LL_GPIO_OUTPUT_PUSHPULL);
init_t_transmission(&transmission);
}
void EnvoiRegulier(char * Allure, char * tension){
if (!transmission.exceptionnel) {
/* Message de la forme suivante :
_____________________________
Allure actuelle : xxxxxxxxxxx
Tension des voiles : xxxxxxxx
_____________________________*/
static char promptligne1[] = "Allure actuelle : ";
static int promptligne1size = 19;
static char promptligne2[] = "Tension des voiles : ";
static int promptligne2size = 22;
static char rc[] = "\n";
static int rcsize = 2;
transmission.message[0] = '\0';
int current_size = 1;
current_size = Concatenate(promptligne1, transmission.message, promptligne1size, current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(Allure, transmission.message, size_of(Allure), current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(rc, transmission.message, rcsize, current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(promptligne2, transmission.message, promptligne2size, current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(tension, transmission.message, size_of(tension), current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(rc, transmission.message, rcsize, current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(rc, transmission.message, rcsize, current_size, TAILLE_MESSAGE_MAX);
transmission.envoyer = 1;
transmission.position = 0;
transmission.taille_message = current_size;
}
}
/*LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_11);
int tailleAllure = sizeof(Allure);
int tailleTension = 8; //ATTENTION TAILLE
int index = 0;
while(index < tailleAllure){
if (LL_USART_IsActiveFlag_TXE(USART1)){ //On regarde si le flag de transmission terminée est actif
LL_USART_TransmitData8(USART1, (uint8_t) Allure[index]); //On envoie le message (8 bits)
index++;
}
}
index = 0;
while(index < tailleTension){
if (LL_USART_IsActiveFlag_TXE(USART1)){ //On regarde si le flag de transmission terminée est actif
LL_USART_TransmitData8(USART1, (uint8_t) tension[index]); //On envoie le message (8 bits)
index++;
}
}
LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_11);
}*/
void EnvoiExceptionnel(char * msgAlarme){
/* Message de la forme suivante :
_____________________________
Allure actuelle : xxxxxxxxxxx
Tension des voiles : xxxxxxxx
_____________________________*/
static char prompt[] = "WARNING : ";
static int promptsize = 11;
static char rc[] = "\n";
static int rcsize = 2;
transmission.message[0] = '\0';
int current_size = 1;
current_size = Concatenate(rc, transmission.message, rcsize, current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(rc, transmission.message, rcsize, current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(prompt, transmission.message, promptsize, current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(msgAlarme, transmission.message, size_of(msgAlarme), current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(rc, transmission.message, rcsize, current_size, TAILLE_MESSAGE_MAX);
current_size = Concatenate(rc, transmission.message, rcsize, current_size, TAILLE_MESSAGE_MAX);
transmission.envoyer = 1;
transmission.position = 0;
transmission.taille_message = current_size;
transmission.exceptionnel = 1;
}
/*LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_11);
int tailleMessage = sizeof(msgAlarme);
int index = 0;
while(index < tailleMessage){
if (LL_USART_IsActiveFlag_TXE(USART1)){ //On regarde si le flag de transmission terminée est actif
LL_USART_TransmitData8(USART1, (uint8_t) msgAlarme[index]); //On envoie le message (8 bits)
index++;
}
}
LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_11);
}*/
void EnvoyerCaractere(void) {
if (transmission.envoyer) {
LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_11);
if (LL_USART_IsActiveFlag_TXE(USARTX)) {//On regarde si le flag de transmission terminée est actif
if (transmission.position < transmission.taille_message) {
LL_USART_TransmitData8(USARTX, (uint8_t)(transmission.message[transmission.position]));
transmission.position += 1;
} else {
transmission.envoyer = 0;
transmission.exceptionnel = 0;
}
}
LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_11);
}
}

View file

@ -1,42 +0,0 @@
#ifndef TRANSMISSION_H
#define TRANSMISSION_H
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : PAUL, ELIES, AURIANE */
/**
* @brief Initialiser la structure de transmission avec les chaines de caractères pour l'envoi régulier
* @note Flag d'envoi mis à 1 à la fin pour activer la transmission dans EnvoyerCaractere
* @param 2 chaines de caractères pour l'allure et la tension des voiles
* @retval None
*/
void EnvoiRegulier(char * Allure, char * tension);
/**
* @brief Initialiser la structure de transmission avec les chaines de caractères pour l'envoi excptionnel
* @note Flag d'envoi mis à 1 à la fin pour activer la transmission dans EnvoyerCaractere
Envoi excpetionnel peut être un message d'alerte pour la batterie ou le roulis
* @param A chaine de caractère pour indiquer quel danger est mis en avant
* @retval None
*/
void EnvoiExceptionnel(char * msgAlarme);
/**
* @brief Appelée en BG dans le while(1). Si le flag d'envoi est à 1, envoi le prochain caractère contenu dans la
structure transmission
* @note
* @param None
* @retval None
*/
void EnvoyerCaractere(void);
/**
* @brief Configuration de l'USART pour les transmissions
* @note None
* @param None
* @retval None
*/
void ConfTransmission(void);
#endif

View file

@ -1,135 +0,0 @@
#include "Voile.h"
#include "stm32f1xx_ll_gpio.h"
#include "stm32f1xx_ll_tim.h"
#include "stm32f1xx_ll_bus.h"
#include "maths.h" //Remplacer par maths.h quand on va tout faire marcher.
#include "string.h"
#define ARR (19999)
#define PSC (71)
#define Timer (TIM1)
#define channel (1)
#define A_ALPHA_TO_BETA (2.0/3.0) //Coefficient directeur de la partie linéaire de la fonction transformant l'allure en angle de voile
#define B_ALPHA_TO_BETA (-30.0) //Ordonnée a l'origine de cette même fonction
#define GAMMA_90 (2100) //Valeur du registre commandant la largeur de la PWM pour les voiles lachées
#define GAMMA_0 (1000) //Valeur du registre commandant la largeur de la PWM pour les voiles bordées au maximum
#define A_BETA_TO_GAMMA ((GAMMA_90 - GAMMA_0)/90.0) //Coefficient directeur de la relation entre l'angle de voile et la PWM
#define B_BETA_TO_GAMMA (GAMMA_0) //Ordonnée a l'origine
//Valeurs de CCR1 pour la PWM output
#define POSITION_00 2100
#define POSITION_10 1880
#define POSITION_20 1770
#define POSITION_30 1660
#define POSITION_40 1550
#define POSITION_50 1440
#define POSITION_60 1330
#define POSITION_70 1220
#define POSITION_80 1110
#define POSITION_90 1000
int angleVoileActuel = 0; //angle de la voile. Mis à jour quans on la tend. de 0 à 45.
void ConfVoile(void){
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA); //Enable l'horloge du GPIOA
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM1);
LL_TIM_SetAutoReload(Timer, ARR); //On règle l'ARR
LL_TIM_SetPrescaler(Timer, PSC); //On règle le PSC
LL_GPIO_SetPinMode(GPIOA,LL_GPIO_PIN_8,LL_GPIO_MODE_ALTERNATE); //Pin en mode output alternate
LL_GPIO_SetPinOutputType(GPIOA,LL_GPIO_PIN_8,LL_GPIO_OUTPUT_PUSHPULL); //Pin en mode output pushpull
LL_TIM_OC_SetMode(Timer, channel, LL_TIM_OCMODE_PWM1); //On met le timer en mode PWM1 sur le channel choisi
Timer->CCER |= TIM_CCER_CC1E; //On enable le comptage dans le timer en output
Timer->BDTR |= 0x1 << 15; //Comme on utilise le Timer1, on met le bit MOE à 1
Timer->CCR1 = 1500; // par defaut tendu à 1ms
LL_TIM_EnableCounter(Timer); //On commence le comptage
}
float res;
int RecupTensionVoile(void){
return angleVoileActuel;
}
int CalculerTension(int alpha){
if (abs(alpha) < 45){
res = 0;
return 0;
} else {
res = A_ALPHA_TO_BETA * (float)abs(alpha) + B_ALPHA_TO_BETA;
return (int)res;
}
}
float angle_voile;
void TendreVoile(int theta)
{
/*if (theta < 5){
Timer->CCR1 = POSITION_00;
angleVoileActuel = 0;
}
if (theta < 10){
Timer->CCR1 = POSITION_10;
angleVoileActuel = 10;
}
else if(theta < 20){
Timer->CCR1 = POSITION_20;
angleVoileActuel = 20;
}
else if(theta < 30){
Timer->CCR1 = POSITION_30;
angleVoileActuel = 30;
}
else if(theta < 40){
Timer->CCR1 = POSITION_40;
angleVoileActuel = 40;
}
else if(theta < 50){
Timer->CCR1 = POSITION_50;
angleVoileActuel = 50;
}
else if(theta < 60){
Timer->CCR1 = POSITION_60;
angleVoileActuel = 60;
}
else if(theta < 70){
Timer->CCR1 = POSITION_70;
angleVoileActuel = 70;
}
else if(theta < 80){
Timer->CCR1 = POSITION_80;
angleVoileActuel = 80;
}
else{
Timer->CCR1 = POSITION_90;
angleVoileActuel = 90;
}*/
angleVoileActuel = (A_BETA_TO_GAMMA * (float)theta + B_BETA_TO_GAMMA) ;
Timer->CCR1 = (int)angleVoileActuel ;
}
char * TensionVoileToString(int theta) {
if (theta < 10) {
return "Voiles bordees";
} else if (theta < 20) {
return "Voiles a 20 degres";
} else if (theta < 30) {
return "Voiles a 30 degres";
} else if (theta < 40) {
return "Voiles a 40 degres";
} else if (theta < 50) {
return "Voiles a 50 degres";
} else if (theta < 60) {
return "Voiles a 60 degres";
} else if (theta < 70) {
return "Voiles a 70 degres";
} else if (theta < 80) {
return "Voiles a 80 degres";
} else {
return "Voiles choquees";
}
}

View file

@ -1,51 +0,0 @@
#ifndef VOILE_H
#define VOILE_H
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : ELIES, AURIANE */
/* RESOLUTION PWM SERVOMOTEUR : 10 POSITIONS POSSIBLES*/
/**
* @brief Configuration du Timer en mode PWM output
* @note Timer1 en thérie
* @param
* @retval None
*/
void ConfVoile(void);
/**
* @brief Retourne la valeur de l'angle de la voile actuel en degrés
* @note
* @param
* @retval Un angle compris entre 5 et 90 (en degrés) (10 valeurs possibles entre dans [5,10,20,30,40,50,60,70,80,90]
*/
int RecupTensionVoile(void);
/**
* @brief Calcule à partir de l'angle alpha (allure), l'angle theta (de la voile) à avoir
* @note Si alpha < 45, on détend la voile (theta = 90)
* @param Un entier alpha compris entre 0 et 180
* @retval Un angle theta compris entre 0 et 90 degrés (en degrés)
*/
int CalculerTension(int alpha);
/**
* @brief Met à jour le registre CCR1 pour tendre la voile selon theta
* @note 10 niveaus possibles pour la résolution PWM.
* @param Un entier theta entre 0 et 90
* @retval None
*/
void TendreVoile(int theta);
/**
* @brief Associe un chaine de caractère a une valeur d'angle de voile
* @note
* @param theta : un entier entre 10 valeurs possibles [5,10,20,30,40,50,60,70,80,90]
* @retval Une chaine de caractère représentant l'angle de voile
*/
char * TensionVoileToString(int theta);
#endif

View file

@ -1,204 +0,0 @@
#include "Allure.h"
#include "Gouvernail.h"
//#include "Heure.h"
#include "Transmission.h"
#include "Voile.h"
#include "Securite.h"
#include "stm32f1xx_ll_rcc.h" // utile dans la fonction SystemClock_Config
#include "stm32f1xx_ll_utils.h" // utile dans la fonction SystemClock_Config
#include "stm32f1xx_ll_system.h" // utile dans la fonction SystemClock_Config
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : PAUL, ELIES, AURIANE, ELIES */
void SystemClock_Config(void);
void ConfSysTick(void){
SysTick_Config(7200000);
NVIC_EnableIRQ(SysTick_IRQn);
}
/**
* @brief configure tous les periphs qu'on va utiliser en appelant les
fonctions de config de chaque "module"
* @note
* @param None
* @retval None
*/
void Setup(){
ConfSecurite();
ConfAllure();
ConfVoile();
ConfGouvernail();
ConfTransmission();
}
/**
* @brief
* @note
* @param
* @retval
*/
void Envoi3s(){
EnvoiRegulier(AllureToString(RecupAllure()), TensionVoileToString(RecupTensionVoile()));
}
/**
* @brief tache qui va fonctionner en fond qui gere l'orientation
des voiles, le gouvernail et aussi le systeme anti-chavirement
* @note Le temps d'exécution de cette tache a é mesuré à environ 3.14ms,
on peut donc largement la lancer toutes les 100ms en interruption sans risque de trop mobiliser le CPU
* @param None
* @retval None
*/
void Task100ms(){
int dangerRoulis = 0; //Variable qui permet de ne pas tendre les voiles si il y a trop de roulis
//Anti-Chavirement
if(CalculerDangerChavirement(RecupRouli())){//renvoi boolean : int à 0 si faux et 1 si vrai
dangerRoulis = 1; //Pour pas retendre directement les voiles juste après.
TendreVoile(0); //si il y a danger on relache les voiles (relacher les voiles = les mettre <20> 90)
EnvoiExceptionnel("Risque de chavirement, voiles choquees");//Et on prévient l'utilisateur
}
//Anti-Chavirement
if(CalculerDangerNiveauBatterie(RecupNiveauBatterie())){//renvoi boolean : int à 0 si faux et 1 si vrai
EnvoiExceptionnel("Batterie faible");//Et on prévient l'utilisateur
}
//Voiles
if (!dangerRoulis){ //On vérifie qu'il n'y ait pas de roulis avant de tendre les voiles selon l'allure
TendreVoile(CalculerTension(RecupAllure())); //on tend la voile grace à la tension obtenue a partir du calcul et de l'allure lue
}
//Gouvernail
CommanderMoteur(LireTelecommande()); //On commande le moteur pour aller à la vitesse lue a la télécommande
}
void SysTick_Handler(void) { /* SysTick interrupt Handler. */
static int compteur = 0;
compteur++;
if (compteur == 30) {
Envoi3s();
compteur = 0;
} else {
Task100ms();
}
}
int main(){
SystemClock_Config();
Setup();
EnvoiExceptionnel("Veuillez faire tourner la girouette SVP.");
while(!GirouetteInitialisee()) {
EnvoyerCaractere();
}
ConfSysTick();
while(1){
EnvoyerCaractere();
}
}
/**
* @brief System Clock Configuration
* The system Clock is configured as follow :
* System Clock source = PLL (HSE)
* SYSCLK(Hz) = 72000000
* HCLK(Hz) = 72000000
* AHB Prescaler = 1
* APB1 Prescaler = 2
* APB2 Prescaler = 1
* HSE Frequency(Hz) = 8000000
* PLLMUL = 9
* Flash Latency(WS) = 2
* @param None
* @retval None
*/
void SystemClock_Config(void)
{
/* Set FLASH latency */
LL_FLASH_SetLatency(LL_FLASH_LATENCY_2);
/* Enable HSE oscillator */
// ********* Commenter la ligne ci-dessous pour MCBSTM32 *****************
// ********* Conserver la ligne si Nucl<63>o*********************************
//LL_RCC_HSE_EnableBypass();
LL_RCC_HSE_Enable();
while(LL_RCC_HSE_IsReady() != 1)
{
};
/* Main PLL configuration and activation */
LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_HSE_DIV_1, LL_RCC_PLL_MUL_9);
LL_RCC_PLL_Enable();
while(LL_RCC_PLL_IsReady() != 1)
{
};
/* Sysclk activation on the main PLL */
LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1);
LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL);
while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL)
{
};
/* Set APB1 & APB2 prescaler*/
LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_2);
LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1);
/* Set systick to 1ms in using frequency set to 72MHz */
//LL_Init1msTick(72000000); //!! d<>commenter que si l'IT est r<>cup<75>r<EFBFBD>e
/* Update CMSIS variable (which can be updated also through SystemCoreClockUpdate function) */
LL_SetSystemCoreClock(72000000);
}
/* METTRE SYSTEMCLOCKCONFIG */
/* ============== BOARD SPECIFIC CONFIGURATION CODE END ============== */
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d", file, line) */
/* Infinite loop */
while (1)
{
}
}
#endif
/**
* @}
*/
/**
* @}
*/
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View file

@ -1,8 +0,0 @@
int abs(int a) {
if (a<0) {
return -a;
} else {
return a;
}
}

View file

@ -1,11 +0,0 @@
#ifndef MATHS_H
#define MATHS_H
/**
* @brief Valeur absolue.
* @note Si a < 0 renvoi -a, sinon, a
* @param a : un entier
* @retval La valeur absolue de a
*/
int abs(int a);
#endif

View file

@ -1,20 +0,0 @@
int Concatenate(char * chaine1, char * chaine2, int sizechaine1, int sizechaine2, int sizemax) {
if ((sizechaine1 + sizechaine2 - 1) <= sizemax) {
int j;
for (j=0; j < sizechaine1; j++) {
chaine2[(sizechaine2 - 1 )+ j] = chaine1[j];
}
return sizechaine1 + sizechaine2 - 1;
} else {
return 0;
}
}
int size_of(char * chaine) {
int i = 0;
while (chaine[i] != '\0') {
i++;
}
return i+1;
}

View file

@ -1,9 +0,0 @@
#ifndef STRING_H
#define STRING_H
int Concatenate(char * chaine1, char * chaine2, int sizechaine1, int sizechaine2, int sizemax);
int size_of(char * chaine);
#endif