Ajout du début de la partie dft

This commit is contained in:
alejeune 2022-03-30 18:19:36 +02:00
parent 7c6c96b88f
commit e570ff1478
35 changed files with 6190 additions and 963 deletions

View file

@ -0,0 +1,9 @@
#ifndef GESTIONSONH
#define GESTIONSONH
// CallBackSon parcourt la ram pour jouer le son qui s'y trouve
// StartSon remet l'index de lecture à 0 : lance la lecture du son
extern void CallbackSon(void);
extern void StartSon(void);
#endif

View file

@ -17,23 +17,23 @@ Library Manager: ArmAr.exe V5.06 update 7 (build 960)
Hex Converter: FromElf.exe V5.06 update 7 (build 960)
CPU DLL: SARMCM3.DLL V5.34.0.0
Dialog DLL: DARMSTM.DLL V1.68.0.0
Target DLL: UL2CM3.DLL V1.163.9.0
Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.8.0
Dialog DLL: TCM.DLL V1.48.0.0
<h2>Project:</h2>
U:\Documents\3MIC\S2\BE_CHTI\Assembleur\Partie son\PjtKEIL_StepSon\PjtKEIL_StepSon\StepSon.uvprojx
Project File Date: 03/22/2022
U:\Documents\3MIC\S2\BE_CHTI\Assembleur\Raphael_lacroix-Aurelia_lejeune-BE_CHTI\Partie son\PjtKEIL_StepSon\PjtKEIL_StepSon\StepSon.uvprojx
Project File Date: 03/24/2022
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'CibleSondeKEIL'
Rebuild target 'Simu'
assembling startup-rvds.s...
assembling bruitverre.asm...
assembling GestionSon.s...
Src\GestionSon.s(16): warning: A1581W: Added 2 bytes of padding at address 0x2
Src\GestionSon.s(17): warning: A1581W: Added 2 bytes of padding at address 0x2
compiling principal.c...
linking...
Program Size: Code=2636 RO-data=11300 RW-data=168 ZI-data=1024
Program Size: Code=2672 RO-data=11300 RW-data=168 ZI-data=1024
FromELF: creating hex file...
".\Obj\StepSon.axf" - 0 Error(s), 1 Warning(s).
@ -51,7 +51,7 @@ Package Vendor: Keil
STMicroelectronics STM32F1 Series Device Support, Drivers and Examples
<h2>Collection of Component include folders:</h2>
.\RTE\_CibleSondeKEIL
.\RTE\_Simu
C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include
C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
<title>Static Call Graph - [.\Obj\StepSon.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Obj\StepSon.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Tue Mar 22 18:12:40 2022
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Wed Mar 30 16:04:00 2022
<BR><P>
<H3>Maximum Stack Usage = 40 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@ -91,7 +91,7 @@ Global Symbols
<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-rvds.o(.text)
</UL>
<P><STRONG><a name="[45]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[46]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[39]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
@ -101,17 +101,17 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[46]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[47]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[47]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[48]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[48]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[49]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[49]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[4a]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[4a]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[4b]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[4b]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
<P><STRONG><a name="[4c]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
@ -306,7 +306,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>
<P><STRONG><a name="[4c]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[4d]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[43]"></a>Active_IT_Debordement_Timer</STRONG> (Thumb, 204 bytes, Stack size 24 bytes, timer_1234.o(i.Active_IT_Debordement_Timer))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = Active_IT_Debordement_Timer
@ -330,17 +330,17 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer_1234_Init_ff
</UL>
<P><STRONG><a name="[4d]"></a>GPIOA_Clear</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOA_Clear), UNUSED)
<P><STRONG><a name="[4e]"></a>GPIOA_Clear</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOA_Clear), UNUSED)
<P><STRONG><a name="[4e]"></a>GPIOA_Set</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOA_Set), UNUSED)
<P><STRONG><a name="[4f]"></a>GPIOA_Set</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOA_Set), UNUSED)
<P><STRONG><a name="[4f]"></a>GPIOB_Clear</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Clear), UNUSED)
<P><STRONG><a name="[50]"></a>GPIOB_Clear</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Clear), UNUSED)
<P><STRONG><a name="[50]"></a>GPIOB_Set</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Set), UNUSED)
<P><STRONG><a name="[51]"></a>GPIOB_Set</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Set), UNUSED)
<P><STRONG><a name="[51]"></a>GPIOC_Clear</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOC_Clear), UNUSED)
<P><STRONG><a name="[52]"></a>GPIOC_Clear</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOC_Clear), UNUSED)
<P><STRONG><a name="[52]"></a>GPIOC_Set</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOC_Set), UNUSED)
<P><STRONG><a name="[53]"></a>GPIOC_Set</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOC_Set), UNUSED)
<P><STRONG><a name="[42]"></a>GPIO_Configure</STRONG> (Thumb, 240 bytes, Stack size 20 bytes, gpio.o(i.GPIO_Configure))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = GPIO_Configure
@ -356,7 +356,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[44]"></a>PWM_Set_Value_TIM3_Ch3</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, timer_1234.o(i.PWM_Set_Value_TIM3_Ch3))
<P><STRONG><a name="[45]"></a>PWM_Set_Value_TIM3_Ch3</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, timer_1234.o(i.PWM_Set_Value_TIM3_Ch3))
<BR><BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CallbackSon
</UL>
@ -393,16 +393,17 @@ Global Symbols
<LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[53]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[54]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[54]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[55]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[55]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[56]"></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, 52 bytes, Stack size 0 bytes, principal.o(i.main))
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, principal.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = main &rArr; PWM_Init_ff &rArr; Timer_1234_Init_ff
</UL>
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer_1234_Init_ff
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;StartSon
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PWM_Init_ff
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Configure
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_Configure
@ -410,11 +411,15 @@ Global Symbols
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P><STRONG><a name="[38]"></a>CallbackSon</STRONG> (Thumb, 52 bytes, Stack size 0 bytes, gestionson.o(moncode))
<BR><BR>[Calls]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PWM_Set_Value_TIM3_Ch3
<P><STRONG><a name="[38]"></a>CallbackSon</STRONG> (Thumb, 68 bytes, Stack size 0 bytes, gestionson.o(moncode))
<BR><BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PWM_Set_Value_TIM3_Ch3
</UL>
<BR>[Address Reference Count : 1]<UL><LI> principal.o(i.main)
</UL><P>
</UL>
<P><STRONG><a name="[44]"></a>StartSon</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, gestionson.o(moncode))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P>
<H3>
Local Symbols
</H3>

View file

@ -9,7 +9,7 @@ Section Cross References
principal.o(i.main) refers to timer_1234.o(i.PWM_Init_ff) for PWM_Init_ff
principal.o(i.main) refers to gpio.o(i.GPIO_Configure) for GPIO_Configure
principal.o(i.main) refers to timer_1234.o(i.Active_IT_Debordement_Timer) for Active_IT_Debordement_Timer
principal.o(i.main) refers to gestionson.o(moncode) for CallbackSon
principal.o(i.main) refers to gestionson.o(moncode) for StartSon
startup-rvds.o(RESET) refers to startup-rvds.o(STACK) for __initial_sp
startup-rvds.o(RESET) refers to startup-rvds.o(.text) for Reset_Handler
startup-rvds.o(RESET) refers to timer_1234.o(i.TIM1_UP_IRQHandler) for TIM1_UP_IRQHandler
@ -257,8 +257,8 @@ Image Symbol Table
i.__scatterload_null 0x08000aa2 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08000aa4 Section 14 handlers.o(i.__scatterload_zeroinit)
i.main 0x08000ab4 Section 0 principal.o(i.main)
moncode 0x08000af8 Section 64 gestionson.o(moncode)
SecSon 0x08000b58 Section 11032 bruitverre.o(SecSon)
moncode 0x08000afc Section 96 gestionson.o(moncode)
SecSon 0x08000b7c Section 11032 bruitverre.o(SecSon)
.data 0x20000000 Section 160 timer_1234.o(.data)
Ptr_TIM1 0x20000010 Data 4 timer_1234.o(.data)
Ptr_TIM2 0x20000014 Data 4 timer_1234.o(.data)
@ -390,13 +390,14 @@ Image Symbol Table
__scatterload_copy 0x08000a95 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08000aa3 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08000aa5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
main 0x08000ab5 Thumb Code 52 principal.o(i.main)
CallbackSon 0x08000af9 Thumb Code 52 gestionson.o(moncode)
Region$$Table$$Base 0x08000b38 Number 0 anon$$obj.o(Region$$Table)
LongueurSon 0x08000b58 Data 4 bruitverre.o(SecSon)
Region$$Table$$Limit 0x08000b58 Number 0 anon$$obj.o(Region$$Table)
PeriodeSonMicroSec 0x08000b5c Data 4 bruitverre.o(SecSon)
Son 0x08000b60 Data 0 bruitverre.o(SecSon)
main 0x08000ab5 Thumb Code 56 principal.o(i.main)
CallbackSon 0x08000afd Thumb Code 68 gestionson.o(moncode)
StartSon 0x08000b41 Thumb Code 12 gestionson.o(moncode)
Region$$Table$$Base 0x08000b5c Number 0 anon$$obj.o(Region$$Table)
LongueurSon 0x08000b7c Data 4 bruitverre.o(SecSon)
Region$$Table$$Limit 0x08000b7c Number 0 anon$$obj.o(Region$$Table)
PeriodeSonMicroSec 0x08000b80 Data 4 bruitverre.o(SecSon)
Son 0x08000b84 Data 0 bruitverre.o(SecSon)
Enable_Fct_IT_Compare_Match_TIM1_Voie1 0x20000000 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM1_Voie2 0x20000001 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM1_Voie3 0x20000002 Data 1 timer_1234.o(.data)
@ -424,9 +425,9 @@ Memory Map of the image
Image Entry point : 0x080000ed
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00003718, Max: 0x00020000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000373c, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00003670, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00003694, Max: 0x00020000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@ -467,18 +468,18 @@ Memory Map of the image
0x08000aa2 0x08000aa2 0x00000002 Code RO 210 i.__scatterload_null mc_w.l(handlers.o)
0x08000aa4 0x08000aa4 0x0000000e Code RO 211 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x08000ab2 0x08000ab2 0x00000002 PAD
0x08000ab4 0x08000ab4 0x00000044 Code RO 4 i.main principal.o
0x08000af8 0x08000af8 0x00000040 Code RO 68 moncode gestionson.o
0x08000b38 0x08000b38 0x00000020 Data RO 207 Region$$Table anon$$obj.o
0x08000b58 0x08000b58 0x00002b18 Data RO 65 SecSon bruitverre.o
0x08000ab4 0x08000ab4 0x00000048 Code RO 4 i.main principal.o
0x08000afc 0x08000afc 0x00000060 Code RO 68 moncode gestionson.o
0x08000b5c 0x08000b5c 0x00000020 Data RO 207 Region$$Table anon$$obj.o
0x08000b7c 0x08000b7c 0x00002b18 Data RO 65 SecSon bruitverre.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08003670, Size: 0x000004a8, Max: 0x00005000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08003694, Size: 0x000004a8, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08003670 0x000000a0 Data RW 131 .data DriverJeuLaser.lib(timer_1234.o)
0x200000a0 0x08003710 0x00000008 Data RW 67 maram gestionson.o
0x20000000 0x08003694 0x000000a0 Data RW 131 .data DriverJeuLaser.lib(timer_1234.o)
0x200000a0 0x08003734 0x00000008 Data RW 67 maram gestionson.o
0x200000a8 - 0x00000400 Zero RW 58 STACK startup-rvds.o
@ -490,12 +491,12 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
0 0 11032 0 0 0 bruitverre.o
64 12 0 8 0 372 gestionson.o
68 16 0 0 0 1939 principal.o
76 20 236 0 1024 840 startup-rvds.o
96 16 0 8 0 464 gestionson.o
72 16 0 0 0 1983 principal.o
76 20 236 0 1024 880 startup-rvds.o
----------------------------------------------------------------------
208 48 11300 8 1024 3151 Object Totals
244 52 11300 8 1024 3327 Object Totals
0 0 32 0 0 0 (incl. Generated)
0 0 0 0 0 0 (incl. Padding)
@ -539,15 +540,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
2636 304 11300 168 1024 3951 Grand Totals
2636 304 11300 168 1024 3951 ELF Image Totals
2636 304 11300 168 0 0 ROM Totals
2672 308 11300 168 1024 4127 Grand Totals
2672 308 11300 168 1024 4127 ELF Image Totals
2672 308 11300 168 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 13936 ( 13.61kB)
Total RO Size (Code + RO Data) 13972 ( 13.64kB)
Total RW Size (RW Data + ZI Data) 1192 ( 1.16kB)
Total ROM Size (Code + RO Data + RW Data) 14104 ( 13.77kB)
Total ROM Size (Code + RO Data + RW Data) 14140 ( 13.81kB)
==============================================================================

View file

@ -1,17 +1,17 @@
Dependencies for Project 'StepSon', Target 'CibleSondeKEIL': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (.\Src\principal.c)(0x623A0386)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\Driver --C99 -I.\RTE\_CibleSondeKEIL -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DSTM32F103xB -DUSE_FULL_LL_DRIVER -o .\obj\principal.o --omf_browse .\obj\principal.crf --depend .\obj\principal.d)
I (.\Driver\DriverJeuLaser.h)(0x6037C015)
F (.\Src\principal.c)(0x623CCB64)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\Driver --C99 -I.\RTE\_CibleSondeKEIL -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DSTM32F103xB -DUSE_FULL_LL_DRIVER -o .\obj\principal.o --omf_browse .\obj\principal.crf --depend .\obj\principal.d)
I (.\Driver\DriverJeuLaser.h)(0x623CCB65)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_CibleSondeKEIL\RTE_Components.h)(0x6239EE2C)
I (.\RTE\_CibleSondeKEIL\RTE_Components.h)(0x623CCB64)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
F (.\Src\startup-rvds.s)(0x5FE38AC6)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup-rvds.lst --xref -o .\obj\startup-rvds.o --depend .\obj\startup-rvds.d)
F (.\Driver\DriverJeuLaser.lib)(0x6037BEDF)()
F (.\Src\bruitverre.asm)(0x5ED5F990)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list bruitverre.lst --xref -o .\obj\bruitverre.o --depend .\obj\bruitverre.d)
F (.\Src\GestionSon.s)(0x6239FDC5)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list gestionson.lst --xref -o .\obj\gestionson.o --depend .\obj\gestionson.d)
I (.\Driver\DriverJeuLaser.inc)(0x6037BEDF)
F (.\Src\startup-rvds.s)(0x623CCB64)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup-rvds.lst --xref -o .\obj\startup-rvds.o --depend .\obj\startup-rvds.d)
F (.\Driver\DriverJeuLaser.lib)(0x623CCB65)()
F (.\Src\bruitverre.asm)(0x623CCB64)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list bruitverre.lst --xref -o .\obj\bruitverre.o --depend .\obj\bruitverre.d)
F (.\Src\GestionSon.s)(0x62445D71)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list gestionson.lst --xref -o .\obj\gestionson.o --depend .\obj\gestionson.d)
I (.\Driver\DriverJeuLaser.inc)(0x623CCB65)

View file

@ -1,17 +1,17 @@
Dependencies for Project 'StepSon', Target 'Simu': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (.\Src\principal.c)(0x6239FAE7)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\Driver --C99 -I.\RTE\_Simu -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DSTM32F103xB -DUSE_FULL_LL_DRIVER -o .\obj\principal.o --omf_browse .\obj\principal.crf --depend .\obj\principal.d)
I (.\Driver\DriverJeuLaser.h)(0x6037C015)
F (.\Src\principal.c)(0x62446350)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\Driver --C99 -I.\RTE\_Simu -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DSTM32F103xB -DUSE_FULL_LL_DRIVER -o .\obj\principal.o --omf_browse .\obj\principal.crf --depend .\obj\principal.d)
I (.\Driver\DriverJeuLaser.h)(0x623CCB65)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_Simu\RTE_Components.h)(0x6232FE54)
I (.\RTE\_Simu\RTE_Components.h)(0x623CCB64)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
F (.\Src\startup-rvds.s)(0x5FE38AC6)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_Simu -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup-rvds.lst --xref -o .\obj\startup-rvds.o --depend .\obj\startup-rvds.d)
F (.\Driver\DriverJeuLaser.lib)(0x6037BEDF)()
F (.\Src\bruitverre.asm)(0x5ED5F990)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_Simu -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list bruitverre.lst --xref -o .\obj\bruitverre.o --depend .\obj\bruitverre.d)
F (.\Src\GestionSon.s)(0x6239FDC5)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_Simu -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list gestionson.lst --xref -o .\obj\gestionson.o --depend .\obj\gestionson.d)
I (.\Driver\DriverJeuLaser.inc)(0x6037BEDF)
F (.\Src\startup-rvds.s)(0x623CCB64)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_Simu -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup-rvds.lst --xref -o .\obj\startup-rvds.o --depend .\obj\startup-rvds.d)
F (.\Driver\DriverJeuLaser.lib)(0x623CCB65)()
F (.\Src\bruitverre.asm)(0x623CCB64)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_Simu -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list bruitverre.lst --xref -o .\obj\bruitverre.o --depend .\obj\bruitverre.d)
F (.\Src\GestionSon.s)(0x6244612F)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_Simu -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list gestionson.lst --xref -o .\obj\gestionson.o --depend .\obj\gestionson.d)
I (.\Driver\DriverJeuLaser.inc)(0x623CCB65)

View file

@ -1,7 +1,7 @@
.\obj\principal.o: Src\principal.c
.\obj\principal.o: .\Driver\DriverJeuLaser.h
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\obj\principal.o: .\RTE\_CibleSondeKEIL\RTE_Components.h
.\obj\principal.o: .\RTE\_Simu\RTE_Components.h
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\obj\principal.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h

View file

@ -39,7 +39,7 @@ CallbackSon proc
ldr r5, = LongueurSon ; r5 = &LongueurSon
ldr r5, [r5] ; r5 = LongueurSon ; r5 = LongueurSon
asl r5, #1; r5 = 2 x LongueurSon
lsl r5, #1; r5 = 2 x LongueurSon
cmp r1, r5 ; compare index et length
bgt done
@ -74,7 +74,16 @@ done
endp
export StartSon
StartSon proc
push {lr}
ldr r2, =index ; r2=&index
mov r1, #0 ;r1 =0
str r1, [r2] ;on ecrit 0 dans index
pop {pc}
endp

View file

@ -1,8 +1,9 @@
#include "DriverJeuLaser.h"
extern void CallbackSon(void);
extern int PeriodeSonMicroSec;
/* Test StartSon : int var = 0; */
int main(void)
{
@ -21,10 +22,14 @@ GPIO_Configure(GPIOB, 0, OUTPUT, ALT_PPULL);
Active_IT_Debordement_Timer(TIM4, 2,CallbackSon);
//============================================================================
StartSon();
while (1)
{
/* Test StartSon
if (var == 1){
StartSon();
var = 0;
} */
}
}

File diff suppressed because one or more lines are too long

View file

@ -75,7 +75,7 @@
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>0</IsCurrentTarget>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
@ -165,6 +165,11 @@
<WinNumber>1</WinNumber>
<ItemText>SortieSon,0x0A</ItemText>
</Ww>
<Ww>
<count>2</count>
<WinNumber>1</WinNumber>
<ItemText>var</ItemText>
</Ww>
</WatchWindow1>
<WatchWindow2>
<Ww>
@ -227,12 +232,12 @@
<Wi>
<IntNumber>0</IntNumber>
<FirstString>`SortieSon</FirstString>
<SecondString>008000000000000000000000000000000078864000000000000000000000000000000000536F72746965536F6E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000700000001000000000000000000E03F0C00000000000000000000000000000000000000EE080008</SecondString>
<SecondString>008000000000000000000000000000000078864000000000000000000000000000000000536F72746965536F6E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000700000001000000000000000000E03F1500000000000000000000000000000000000000EE080008</SecondString>
</Wi>
<Wi>
<IntNumber>1</IntNumber>
<FirstString>((portb &amp; 0x00000001) &amp; 0x1) &gt;&gt; 0</FirstString>
<SecondString>FF008000000000000000000000000000008086400100000000000000000000000000000028706F72746220262030783030303030303031290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000002000000000000000000E03F0C00000000000000000000000000000000000000B40A0008</SecondString>
<SecondString>FF008000000000000000000000000000008086400100000000000000000000000000000028706F72746220262030783030303030303031290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000002000000000000000000E03F1500000000000000000000000000000000000000B40A0008</SecondString>
</Wi>
</LogicAnalyzers>
<DebugDescription>
@ -299,7 +304,7 @@
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
<IsCurrentTarget>0</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
@ -656,6 +661,18 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\GestionSon.h</PathWithFileName>
<FilenameWithoutPath>GestionSon.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
@ -666,7 +683,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>2</FileNumber>
<FileNumber>3</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -686,7 +703,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>3</FileNumber>
<FileNumber>4</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -706,7 +723,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>4</FileNumber>
<FileNumber>5</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -718,7 +735,7 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>5</FileNumber>
<FileNumber>6</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>

View file

@ -388,6 +388,11 @@
<FileType>1</FileType>
<FilePath>.\Src\principal.c</FilePath>
</File>
<File>
<FileName>GestionSon.h</FileName>
<FileType>5</FileType>
<FilePath>.\GestionSon.h</FilePath>
</File>
</Files>
</Group>
<Group>
@ -812,6 +817,11 @@
<FileType>1</FileType>
<FilePath>.\Src\principal.c</FilePath>
</File>
<File>
<FileName>GestionSon.h</FileName>
<FileType>5</FileType>
<FilePath>.\GestionSon.h</FilePath>
</File>
</Files>
</Group>
<Group>
@ -1305,6 +1315,11 @@
<FileType>1</FileType>
<FilePath>.\Src\principal.c</FilePath>
</File>
<File>
<FileName>GestionSon.h</FileName>
<FileType>5</FileType>
<FilePath>.\GestionSon.h</FilePath>
</File>
</Files>
</Group>
<Group>

View file

@ -6093,12 +6093,12 @@ ARM Macro Assembler Page 94
5525 00002B16 06 F7 DCW -2298
5526 00002B18 END
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=.\obj\bruitverre.d -o.\obj\bruitverre.o -I.\RTE\_CibleSondeKEIL -I
C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programda
ta\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL S
ETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 534"
--predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_RTE
_ SETA 1" --list=bruitverre.lst Src\bruitverre.asm
ork --depend=.\obj\bruitverre.d -o.\obj\bruitverre.o -I.\RTE\_Simu -IC:\Program
data\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Ar
m\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL SETA 1" --p
redefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 534" --predefi
ne="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_RTE_ SETA 1"
--list=bruitverre.lst Src\bruitverre.asm

View file

@ -78,94 +78,133 @@ ARM Macro Assembler Page 2
56 00000000 end
4 00000000
5 00000000
6 00000000 ; ====================== zone de réservation de données,
======================================
6 00000000 ; ====================== zone de r�servation de donnï¿
½es, ======================================
7 00000000 ;Section RAM (read only) :
8 00000000 area mesdata,data,readonly
9 00000000 extern Son
10 00000000
11 00000000 ;Section RAM (read write):
12 00000000 area maram,data,readwrite
13 00000000
14 00000000 export SortieSon
15 00000000 00 00 SortieSon
10 00000000 extern LongueurSon
11 00000000
12 00000000 ;Section RAM (read write):
13 00000000 area maram,data,readwrite
14 00000000
15 00000000 export SortieSon
16 00000000 00 00 SortieSon
dcw 0 ;Declaration d'une
variable sur 16bits
16 00000002 00 00 00000000
17 00000002 00 00 00000000
index dcd 0
17 00000008
18 00000008
19 00000008
20 00000008 ; ======================================================
20 00000008
21 00000008 ; ======================================================
=========================================
21 00000008
22 00000008
23 00000008
24 00000008
25 00000008 ;Section ROM code (read only) :
26 00000008 area moncode,code,readonly
27 00000000 ; écrire le code ici
28 00000000
29 00000000 export CallbackSon
30 00000000 CallbackSon
25 00000008
26 00000008 ;Section ROM code (read only) :
27 00000008 area moncode,code,readonly
28 00000000 ; �crire le code ici
29 00000000
30 00000000 export CallbackSon
31 00000000 CallbackSon
proc
31 00000000 B500 push {lr}
32 00000002 480C ldr r0, =Son ;r0=&Son
33 00000004 4A0C ldr r2, =index ; r2=&index
34 00000006 6811 ldr r1, [r2] ; r1 = index
35 00000008 5E43 ldrsh r3, [r0, r1] ;r3=son[index]
36 0000000A ; on aurait pu faire ldrsh r3, [r0, r1, lsl #1] et incre
menter de 1
37 0000000A F101 0102 add r1, #2 ; index +=2
38 0000000E 6011 str r1, [r2] ; index en memoire=
r1
39 00000010
40 00000010 ;Normalisation de la valeur son [index]
41 00000010 F503 4300 add r3, #32768 ;r3+=32278
42 00000014
43 00000014 B410 push {r4}
44 00000016 F240 24CF mov r4, #719 ; r4 = 719
45 0000001A FB03 F304 mul r3,r4 ;r3*=719
46 0000001E EA4F 4323 asr r3, #16 ;r3/=65536
32 00000000
33 00000000 B500 push {lr}
34 00000002 B420 push {r5}
35 00000004
36 00000004 4812 ldr r0, =Son ;r0=&Son
37 00000006 4A13 ldr r2, =index ; r2=&index
38 00000008 6811 ldr r1, [r2] ; r1 = index
39 0000000A
40 0000000A 4D13 ldr r5, = LongueurSon
; r5 = &LongueurSon
41 0000000C 682D ldr r5, [r5] ; r5 = LongueurSon
; r5 = LongueurSon
42 0000000E EA4F 0545 lsl r5, #1 ; r5 = 2 x Longueur
Son
43 00000012
44 00000012 42A9 cmp r1, r5 ; compare index et
ARM Macro Assembler Page 3
47 00000022 BC10 pop {r4}
48 00000024
49 00000024 ;On met la valeur modifiée dans SortieSon
50 00000024 4805 ldr r0, =SortieSon ;r0=&SortieSon
51 00000026 6003 str r3, [r0]
52 00000028
53 00000028 B40F push {r0-r3}
54 0000002A 4618 mov r0,r3
55 0000002C F7FF FFFE bl PWM_Set_Value_TIM3_Ch3
56 00000030 BC0F pop {r0-r3}
57 00000032
58 00000032 BD00 pop {pc}
59 00000034 endp
60 00000034
61 00000034
62 00000034
63 00000034
64 00000034
65 00000034
66 00000034
67 00000034
68 00000034 END
length
45 00000014 DC14 bgt done
46 00000016
47 00000016 5E43 ldrsh r3, [r0, r1] ;r3=son[index]
48 00000018 ; on aurait pu faire ldrsh r3, [r0, r1, lsl #1] et incre
menter de 1
49 00000018 F101 0102 add r1, #2 ; index +=2
50 0000001C 6011 str r1, [r2] ; index en memoire=
r1
51 0000001E
52 0000001E ;Normalisation de la valeur son [index]
53 0000001E F503 4300 add r3, #32768 ;r3+=32278
54 00000022
55 00000022 B410 push {r4}
56 00000024 F240 24CF mov r4, #719 ; r4 = 719
57 00000028 FB03 F304 mul r3,r4 ;r3*=719
58 0000002C EA4F 4323 asr r3, #16 ;r3/=65536
59 00000030 BC10 pop {r4}
60 00000032
61 00000032 ;On met la valeur modifiee dans SortieSon
62 00000032 480A ldr r0, =SortieSon ;r0=&SortieSon
63 00000034 6003 str r3, [r0]
64 00000036
65 00000036 B40F push {r0-r3}
66 00000038 4618 mov r0,r3
67 0000003A F7FF FFFE bl PWM_Set_Value_TIM3_Ch3
68 0000003E BC0F pop {r0-r3}
69 00000040
70 00000040 done
71 00000040
72 00000040 BC20 pop {r5}
73 00000042 BD00 pop {pc}
74 00000044 endp
75 00000044
76 00000044
77 00000044 export StartSon
78 00000044 StartSon
proc
79 00000044 B500 push {lr}
80 00000046 4A03 ldr r2, =index ; r2=&index
81 00000048 F04F 0100 mov r1, #0 ;r1 =0
82 0000004C 6011 str r1, [r2] ;on ecrit 0 dans in
dex
83 0000004E
84 0000004E
85 0000004E BD00 pop {pc}
86 00000050 endp
87 00000050
88 00000050
89 00000050
90 00000050
91 00000050
92 00000050
93 00000050 END
00000000
00000000
00000000
00000000
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=.\obj\gestionson.d -o.\obj\gestionson.o -I.\RTE\_CibleSondeKEIL -I
C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programda
ta\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL S
ETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 534"
--predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_RTE
_ SETA 1" --list=gestionson.lst Src\GestionSon.s
ARM Macro Assembler Page 4
ork --depend=.\obj\gestionson.d -o.\obj\gestionson.o -I.\RTE\_Simu -IC:\Program
data\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Ar
m\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL SETA 1" --p
redefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 534" --predefi
ne="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_RTE_ SETA 1"
--list=gestionson.lst Src\GestionSon.s
@ -191,24 +230,25 @@ SortieSon 00000000
Symbol: SortieSon
Definitions
At line 15 in file Src\GestionSon.s
At line 16 in file Src\GestionSon.s
Uses
At line 14 in file Src\GestionSon.s
At line 50 in file Src\GestionSon.s
At line 15 in file Src\GestionSon.s
At line 62 in file Src\GestionSon.s
index 00000004
Symbol: index
Definitions
At line 16 in file Src\GestionSon.s
At line 17 in file Src\GestionSon.s
Uses
At line 33 in file Src\GestionSon.s
Comment: index used once
At line 37 in file Src\GestionSon.s
At line 80 in file Src\GestionSon.s
maram 00000000
Symbol: maram
Definitions
At line 12 in file Src\GestionSon.s
At line 13 in file Src\GestionSon.s
Uses
None
Comment: maram unused
@ -223,19 +263,35 @@ CallbackSon 00000000
Symbol: CallbackSon
Definitions
At line 30 in file Src\GestionSon.s
At line 31 in file Src\GestionSon.s
Uses
At line 29 in file Src\GestionSon.s
At line 30 in file Src\GestionSon.s
Comment: CallbackSon used once
StartSon 00000044
Symbol: StartSon
Definitions
At line 78 in file Src\GestionSon.s
Uses
At line 77 in file Src\GestionSon.s
Comment: StartSon used once
done 00000040
Symbol: done
Definitions
At line 70 in file Src\GestionSon.s
Uses
At line 45 in file Src\GestionSon.s
Comment: done used once
moncode 00000000
Symbol: moncode
Definitions
At line 26 in file Src\GestionSon.s
At line 27 in file Src\GestionSon.s
Uses
None
Comment: moncode unused
2 symbols
4 symbols
@ -290,27 +346,35 @@ Symbol: GPIOC_Set
Uses
None
Comment: GPIOC_Set unused
LongueurSon 00000000
Symbol: LongueurSon
Definitions
At line 10 in file Src\GestionSon.s
Uses
At line 40 in file Src\GestionSon.s
Comment: LongueurSon used once
PWM_Set_Value_TIM3_Ch3 00000000
Symbol: PWM_Set_Value_TIM3_Ch3
Definitions
At line 18 in file .\Driver\DriverJeuLaser.inc
Uses
At line 55 in file Src\GestionSon.s
Comment: PWM_Set_Value_TIM3_Ch3 used once
Son 00000000
Symbol: Son
ARM Macro Assembler Page 2 Alphabetic symbol ordering
External symbols
Definitions
At line 18 in file .\Driver\DriverJeuLaser.inc
Uses
At line 67 in file Src\GestionSon.s
Comment: PWM_Set_Value_TIM3_Ch3 used once
Son 00000000
Symbol: Son
Definitions
At line 9 in file Src\GestionSon.s
Uses
At line 32 in file Src\GestionSon.s
At line 36 in file Src\GestionSon.s
Comment: Son used once
8 symbols
351 symbols in table
9 symbols
354 symbols in table

View file

@ -511,12 +511,12 @@ ARM Macro Assembler Page 8
05FA0300
00000000
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=.\obj\startup-rvds.d -o.\obj\startup-rvds.o -I.\RTE\_CibleSondeKEI
L -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Progr
amdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EV
AL SETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA
534" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="
_RTE_ SETA 1" --list=startup-rvds.lst Src\startup-rvds.s
ork --depend=.\obj\startup-rvds.d -o.\obj\startup-rvds.o -I.\RTE\_Simu -IC:\Pro
gramdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Kei
l\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL SETA 1"
--predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 534" --pre
define="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_RTE_ SETA
1" --list=startup-rvds.lst Src\startup-rvds.s

View file

@ -0,0 +1,36 @@
// File: STM32F101_102_103_105_107.dbgconf
// Version: 1.0.0
// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008)
// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU configuration register (DBGMCU_CR)
// <i> Reserved bits must be kept at reset value
// <o.30> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
// <o.29> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
// <o.28> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
// <o.27> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
// <o.26> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
// <o.25> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
// <o.21> DBG_CAN2_STOP <i> Debug CAN2 stopped when core is halted
// <o.20> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
// <o.19> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
// <o.18> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
// <o.17> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
// <o.16> DBG_I2C2_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.15> DBG_I2C1_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.14> DBG_CAN1_STOP <i> Debug CAN1 stopped when Core is halted
// <o.13> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
// <o.12> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
// <o.11> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
// <o.10> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
// <o.9> DBG_WWDG_STOP <i> Debug window watchdog stopped when core is halted
// <o.8> DBG_IWDG_STOP <i> Debug independent watchdog stopped when core is halted
// <o.2> DBG_STANDBY <i> Debug standby mode
// <o.1> DBG_STOP <i> Debug stop mode
// <o.0> DBG_SLEEP <i> Debug sleep mode
// </h>
DbgMCU_CR = 0x00000007;
// <<< end of configuration section >>>

View file

@ -0,0 +1,345 @@
/**
* Bibliotheque DriverJeuLaser (ancienne gassp72 adaptée 2021 - TR)
*
* GPIO - ADC - Sequenceur - System Timer - PWM - 72 MHz
* Modifs :
* enlèvement de tout ce qui est inutile dans le .h
* ajout de fonctions GPIO dans le .c pour utilisation en ASM ou en C :
* - GPIOA_Set(char Broche), GPIOB_Set(char Broche), GPIOC_Set(char Broche)
* - GPIOA_Clear(char Broche), GPIOB_Clear(char Broche), GPIOC_Clear(char Broche)
*
* ajout d'une fonction qui impose une valeur de PWM (TIM3_CCR3)
* PWM_Set_Value_On_TIM3_C3( int Val)
* permet en ASM ou en C de fixer la valeur de PWM
* Ajout de commentaires
*/
#ifndef DRIVERJEULASER_H__
#define DRIVERJEULASER_H__
#include "stm32f10x.h"
//**********************************************************************************************************
//--------------------- CONFIGURATION CLOCK DU STM32 --------------------------------------
//**********************************************************************************************************
/**
* @brief Configure l'ensemble des horloges du uC
* @note horloge systeme (config statique a 72 MHz pour le STM32F103)
* @param None
* @retval None
*/
void CLOCK_Configure(void);
//**********************************************************************************************************
//--------------------- LES TIMERS GENERAL PURPOSE TIM1 à TIM 4 ------------------------------
//**********************************************************************************************************
/**
* @brief Configure un Timer TIM1 à TIM4 avec une périodicité donnée
* @note L' horloge des 4 timers a une fréquence de 72MHz
* @param *Timer = TIM1 ou TIM2 ou TIM3 ou TIM4
* @param Durée_ticks : nombre de pas (tick) comptés à 72 MHz pour faire déborder le timer
* La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000
* @retval None
*/
void Timer_1234_Init_ff( TIM_TypeDef *Timer, u32 Duree_ticks );
/**
* Macros de base pour utiliser les timers
*/
// bloque le timer
#define Bloque_Timer(Timer) Timer->CR1=(Timer->CR1)&~(1<<0)
// Lance timer
#define Run_Timer(Timer) Timer->CR1=(Timer->CR1)|(1<<0)
/**
* @brief Associe une fonction d'interruption (callback) lors du débordement d'un timer
* @note
* @param *Timer = TIM1 ou TIM2 ou TIM3 ou TIM4
* @param Prio : niveau de priorité de l'interruption (0 -> priorité max, 15 -> priorité min)
* @param IT_function : le nom de la fonction Callback à appeler lors de l'interruption
* @retval None
*/
void Active_IT_Debordement_Timer( TIM_TypeDef *Timer, char Prio, void (*IT_function)(void) );
//*********************************************************************************************************
//--------------------- PWM TIM1 to TIM 4 ------------------------------
//*********************************************************************************************************
/**
* @brief Configure un timer en PWM
* @note
* @param *Timer = TIM1 ou TIM2 ou TIM3 ou TIM4
* @param voie : un des 4 canaux possibles 1 à 4.
* @param Periode_ticks : nombre de pas (tick) comptés à 72 MHz pour faire déborder le timer
* La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000
* @retval Retourne la période en tick (normalement la même que le param d'entrée sauf si PSC utilisé
*/
unsigned short int PWM_Init_ff( TIM_TypeDef *Timer, char Voie, u32 Periode_ticks );
/**
* @brief Fixe une valeur de PWM, Val, en tick horloge. La rapport cyclique effectif
* est donc : rcy = Thaut_ticks / Periode_ticks
* @note spécifique Jeu Laser, PWM liée exclusivement au TIM3, chan3
* @param Thaut_ticks : durée de l'état haut d'une impulsion en Ticks
* @retval None
*/
void PWM_Set_Value_TIM3_Ch3( unsigned short int Thaut_ticks);
//**********************************************************************************************************
//--------------------- LE SYSTICK TIMER, Part of Cortex M3 ------------------------------
//**********************************************************************************************************
/**
* @brief Configure le timer Systick avec une périodicité donnée
* @note Ce timer ne peut servir qu'à créer des temporisations ou générer des interruption
* ce n'est pas à proprement parler un périphérique, il fait partie du Cortex M3
* Ce timer est un 24 bits
* @param Periode_ticks : nombre de pas (tick) comptés à 72 MHz pour établir la périodicité
* La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000
* @retval None
*/
void Systick_Period_ff( unsigned int Periode_ticks );
/**
* @brief Associe une fonction d'interruption (callback) lors du débordement du Systick
* @note
* @param Prio : niveau de priorité de l'interruption (0 -> priorité max, 15 -> priorité min)
* @param IT_function : le nom de la fonction Callback à appeler lors de l'interruption
* @retval None
*/
void Systick_Prio_IT( char Prio, void (*Systick_function)(void) );
/**
* Macros de base pour utiliser le Systick
*/
#define SysTick_On ((SysTick->CTRL)=(SysTick->CTRL)|1<<0)
#define SysTick_Off ((SysTick->CTRL)=(SysTick->CTRL)& ~(1<<0))
#define SysTick_Enable_IT ((SysTick->CTRL)=(SysTick->CTRL)|1<<1)
#define SysTick_Disable_IT ((SysTick->CTRL)=(SysTick->CTRL)& ~(1<<1))
//**********************************************************************************************************
//--------------------- LE SYSTICK TIMER, Part of Cortex M3 ------------------------------
//**********************************************************************************************************
/**
* @brief Active l'ADC du STM32, configure la durée de prélèvement de l'échantillon (temps
* de fermeture du switch d'acquisition
* @note
* @param ADC : précise de quel ADC il s'agit, ADC1 ou ADC2
* @param Duree_Ech_ticks : dirée de fermeture du switch d'échantillonnage en Tick d'horloge CPU
* exemple pour 1µs on choisira 72.
* @retval Nombre de Tick réellement pris en compte
*/
unsigned int Init_TimingADC_ActiveADC_ff( ADC_TypeDef * ADC, u32 Duree_Ech_ticks );
/**
* @brief Sélectionne la voie à convertir
* @note Attention, la voie va de 0 à 15 et n'est pas directement lié au n°de GPIO
* @param ADC : précise de quel ADC il s'agit, ADC1 ou ADC2
* @param Voie_ADC : 1 à 15
* @retval None
*/
void Single_Channel_ADC( ADC_TypeDef * ADC, char Voie_ADC );
/**
* @brief Permet lier le déclenchement au débordement d'un timer, spécifie également
* la période de débordement du timer
* @note pas besoin de régler le timer avec une autre fonction dédiée timer
* @param ADC : précise de quel ADC il s'agit, ADC1 ou ADC2
* @param Source : indique le timer qui déclenche l'ADC choix dans les define ci-dessous
* @param Periode_ticks : nombre de pas (tick) comptés à 72 MHz pour faire déborder le timer
* La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000
* @retval None
*/
// param pour Source :
#define TIM1_CC1 0
#define TIM1_CC2 1
#define TIM1_CC3 2
#define TIM2_CC2 3
#define TIM4_CC4 5
void Init_Conversion_On_Trig_Timer_ff( ADC_TypeDef * ADC, char Source, u32 Periode_ticks );
//**********************************************************************************************************
//--------------------- ANALOG INPUT ADC & DMA ------------------------------
//**********************************************************************************************************
/**
* @brief Permer de lier l'ADC à un tableau en RAM pour une DMA
* @note
* @param Circ : circular. Si '0', en fin de DMA le ptr d'@ reste inchangé
* si '1' le ptr d'@ se recale à celle du début.
* @param Ptr_Table_DMA : contient l'@ de début de zone RAM à écrire
* @retval None
*/
void Init_ADC1_DMA1(char Circ, short int *Ptr_Table_DMA);
/**
* @brief Lance une DMA sur le nombre de points spécifie. Les resultats seront stockes
* dans la zone de RAM écrite est indiquée lors de l'appel de la fonction Init_ADC1_DMA1
* @note
* @param NbEchDMA est le nombre d'échantillons à stocker.
* @retval None
*/
void Start_DMA1( u16 NbEchDMA );
// arret DMA
#define Stop_DMA1 DMA1_Channel1->CCR =(DMA1_Channel1->CCR) &~0x1;
/**
* @brief Attend la fin d'un cycle de DMA. la duree depend de la periode d'acquisition
* et du nombre d'echantillons
* @note fonction d'attente (bloquante)
* @param None
* @retval None
*/
void Wait_On_End_Of_DMA1(void);
//**********************************************************************************************************
//--------------------- GPIO ------------------------------
//**********************************************************************************************************
/**
* @brief Initialisation d'un GPIO (A à C), pin x.
* peut être configuré :
* -> Input ou output
* -> architecture technologique (push-pull, open drain...)
* @note
* @param Port : GPIOA, GPIOB, GPIOC
* @param Broche : 0 à 15
* @param Sens : INPUT ou OUTPUT
* @param Techno : voir define ci dessous
* @retval 1 erreur, 0 si OK
*/
// Sens
#define INPUT 'i'
#define OUTPUT 'o'
// Techno pour pin en entrée (INPUT)
#define ANALOG 0
#define INPUT_FLOATING 1
#define INPUT_PULL_DOWN_UP 2
// Techno pour pin en sortie (OUTPUT)
#define OUTPUT_PPULL 0
#define OUTPUT_OPDRAIN 1
#define ALT_PPULL 2
#define ALT_OPDRAIN 3
// Exemple :
// Port_IO_Init(GPIOB, 8, OUTPUT, OUTPUT_PPULL);
// Place le bit 8 du port B en sortie Push-pull
char GPIO_Configure(GPIO_TypeDef * Port, int Broche, int Sens, int Techno);
/**
* @brief Mise à 1 d'une broche GPIO
* @note Une fonction par GPIO
* @param Broche : 0 à 15
* @retval None
*/
void GPIOA_Set(char Broche);
void GPIOB_Set(char Broche);
void GPIOC_Set(char Broche);
/**
* @brief Mise à 0 d'une broche GPIO
* @note Une fonction par GPIO
* @param Broche : 0 à 15
* @retval None
*/
void GPIOA_Clear(char Broche);
void GPIOB_Clear(char Broche);
void GPIOC_Clear(char Broche);
#endif

View file

@ -0,0 +1,56 @@
; Bibliotheque DriverJeuLaser (ancienne gassp72 adaptée 2021 - TR)
; Accès en aux fonctions suivantes :
; GPIO :
; GPIOA_Set(char Broche), GPIOB_Set(char Broche), GPIOC_Set(char Broche)
; GPIOA_Clear(char Broche), GPIOB_Clear(char Broche), GPIOC_Clear(char Broche)
; PWM :
;/**
; * @brief Fixe une valeur de PWM, Val, en tick horloge. La rapport cyclique effectif
; * est donc : rcy = Thaut_ticks / Periode_ticks
; * @note spécifique Jeu Laser, PWM liée exclusivement au TIM3, chan3
; * @param Thaut_ticks : durée de l'état haut d'une impulsion en Ticks
; * @retval None
; */
;void PWM_Set_Value_TIM3_Ch3( unsigned short int Thaut_ticks);
import PWM_Set_Value_TIM3_Ch3
;/**
; * @brief Mise à 1 d'une broche GPIO
; * @note Une fonction par GPIO
; * @param Broche : 0 à 15
; * @retval None
; */
;void GPIOA_Set(char Broche);
import GPIOA_Set
;void GPIOB_Set(char Broche);
import GPIOB_Set
;void GPIOC_Set(char Broche);
import GPIOC_Set
;/**
; * @brief Mise à 0 d'une broche GPIO
; * @note Une fonction par GPIO
; * @param Broche : 0 à 15
; * @retval None
; */
;void GPIOA_Clear(char Broche);
import GPIOA_Clear
;void GPIOB_Clear(char Broche);
import GPIOB_Clear
;void GPIOC_Clear(char Broche);
import GPIOC_Clear
end

Binary file not shown.

View file

@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'StepDFT'
* Target: 'Simu'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "stm32f10x.h"
#endif /* RTE_COMPONENTS_H */

220
PjtKEIL_StepDFT/Src/DFT.s Normal file
View file

@ -0,0 +1,220 @@
PRESERVE8
THUMB
; ====================== zone de réservation de données, ======================================
;Section RAM (read only) :
area mesdata,data,readonly
extern LeSignal
;Section RAM (read write):
area maram,data,readwrite
; ===============================================================================================
;Section ROM code (read only) :
area moncode,code,readonly
; écrire le code ici
export DFT_ModuleAuCarre
proc DFT_ModuleAuCarre
push {lr, r4-r11}
; stock 64
mov r2, #64
; sert d'index
mov r1, #0
; r3,r10,r11 : stockage temporaire
; r4 : Cos
mov r4 #0
; r5 : Sin
mov r5, #0
; r7 : tableau des Cos
ldr r7, =TabCos
; r8 : tableau des Sin
ldr r8, =TabSin
ldr r0, =LeSignal ;r0=&LeSignal
start
cmp r1, r2
beq Out
ldrsh r3, [r0, r1] ;r3=son[index]
ldrsh r10, [r0, r1] ;r3=son[index]
mul r3, r3,
Out
pop {r4-r11}
pop{pc}
;Section ROM code (read only) :
AREA Trigo, DATA, READONLY
; codage fractionnaire 1.15
TabCos
DCW 32767 ; 0 0x7fff 0.99997
DCW 32610 ; 1 0x7f62 0.99518
DCW 32138 ; 2 0x7d8a 0.98077
DCW 31357 ; 3 0x7a7d 0.95694
DCW 30274 ; 4 0x7642 0.92389
DCW 28899 ; 5 0x70e3 0.88193
DCW 27246 ; 6 0x6a6e 0.83148
DCW 25330 ; 7 0x62f2 0.77301
DCW 23170 ; 8 0x5a82 0.70709
DCW 20788 ; 9 0x5134 0.63440
DCW 18205 ; 10 0x471d 0.55557
DCW 15447 ; 11 0x3c57 0.47141
DCW 12540 ; 12 0x30fc 0.38269
DCW 9512 ; 13 0x2528 0.29028
DCW 6393 ; 14 0x18f9 0.19510
DCW 3212 ; 15 0x0c8c 0.09802
DCW 0 ; 16 0x0000 0.00000
DCW -3212 ; 17 0xf374 -0.09802
DCW -6393 ; 18 0xe707 -0.19510
DCW -9512 ; 19 0xdad8 -0.29028
DCW -12540 ; 20 0xcf04 -0.38269
DCW -15447 ; 21 0xc3a9 -0.47141
DCW -18205 ; 22 0xb8e3 -0.55557
DCW -20788 ; 23 0xaecc -0.63440
DCW -23170 ; 24 0xa57e -0.70709
DCW -25330 ; 25 0x9d0e -0.77301
DCW -27246 ; 26 0x9592 -0.83148
DCW -28899 ; 27 0x8f1d -0.88193
DCW -30274 ; 28 0x89be -0.92389
DCW -31357 ; 29 0x8583 -0.95694
DCW -32138 ; 30 0x8276 -0.98077
DCW -32610 ; 31 0x809e -0.99518
DCW -32768 ; 32 0x8000 -1.00000
DCW -32610 ; 33 0x809e -0.99518
DCW -32138 ; 34 0x8276 -0.98077
DCW -31357 ; 35 0x8583 -0.95694
DCW -30274 ; 36 0x89be -0.92389
DCW -28899 ; 37 0x8f1d -0.88193
DCW -27246 ; 38 0x9592 -0.83148
DCW -25330 ; 39 0x9d0e -0.77301
DCW -23170 ; 40 0xa57e -0.70709
DCW -20788 ; 41 0xaecc -0.63440
DCW -18205 ; 42 0xb8e3 -0.55557
DCW -15447 ; 43 0xc3a9 -0.47141
DCW -12540 ; 44 0xcf04 -0.38269
DCW -9512 ; 45 0xdad8 -0.29028
DCW -6393 ; 46 0xe707 -0.19510
DCW -3212 ; 47 0xf374 -0.09802
DCW 0 ; 48 0x0000 0.00000
DCW 3212 ; 49 0x0c8c 0.09802
DCW 6393 ; 50 0x18f9 0.19510
DCW 9512 ; 51 0x2528 0.29028
DCW 12540 ; 52 0x30fc 0.38269
DCW 15447 ; 53 0x3c57 0.47141
DCW 18205 ; 54 0x471d 0.55557
DCW 20788 ; 55 0x5134 0.63440
DCW 23170 ; 56 0x5a82 0.70709
DCW 25330 ; 57 0x62f2 0.77301
DCW 27246 ; 58 0x6a6e 0.83148
DCW 28899 ; 59 0x70e3 0.88193
DCW 30274 ; 60 0x7642 0.92389
DCW 31357 ; 61 0x7a7d 0.95694
DCW 32138 ; 62 0x7d8a 0.98077
DCW 32610 ; 63 0x7f62 0.99518
TabSin
DCW 0 ; 0 0x0000 0.00000
DCW 3212 ; 1 0x0c8c 0.09802
DCW 6393 ; 2 0x18f9 0.19510
DCW 9512 ; 3 0x2528 0.29028
DCW 12540 ; 4 0x30fc 0.38269
DCW 15447 ; 5 0x3c57 0.47141
DCW 18205 ; 6 0x471d 0.55557
DCW 20788 ; 7 0x5134 0.63440
DCW 23170 ; 8 0x5a82 0.70709
DCW 25330 ; 9 0x62f2 0.77301
DCW 27246 ; 10 0x6a6e 0.83148
DCW 28899 ; 11 0x70e3 0.88193
DCW 30274 ; 12 0x7642 0.92389
DCW 31357 ; 13 0x7a7d 0.95694
DCW 32138 ; 14 0x7d8a 0.98077
DCW 32610 ; 15 0x7f62 0.99518
DCW 32767 ; 16 0x7fff 0.99997
DCW 32610 ; 17 0x7f62 0.99518
DCW 32138 ; 18 0x7d8a 0.98077
DCW 31357 ; 19 0x7a7d 0.95694
DCW 30274 ; 20 0x7642 0.92389
DCW 28899 ; 21 0x70e3 0.88193
DCW 27246 ; 22 0x6a6e 0.83148
DCW 25330 ; 23 0x62f2 0.77301
DCW 23170 ; 24 0x5a82 0.70709
DCW 20788 ; 25 0x5134 0.63440
DCW 18205 ; 26 0x471d 0.55557
DCW 15447 ; 27 0x3c57 0.47141
DCW 12540 ; 28 0x30fc 0.38269
DCW 9512 ; 29 0x2528 0.29028
DCW 6393 ; 30 0x18f9 0.19510
DCW 3212 ; 31 0x0c8c 0.09802
DCW 0 ; 32 0x0000 0.00000
DCW -3212 ; 33 0xf374 -0.09802
DCW -6393 ; 34 0xe707 -0.19510
DCW -9512 ; 35 0xdad8 -0.29028
DCW -12540 ; 36 0xcf04 -0.38269
DCW -15447 ; 37 0xc3a9 -0.47141
DCW -18205 ; 38 0xb8e3 -0.55557
DCW -20788 ; 39 0xaecc -0.63440
DCW -23170 ; 40 0xa57e -0.70709
DCW -25330 ; 41 0x9d0e -0.77301
DCW -27246 ; 42 0x9592 -0.83148
DCW -28899 ; 43 0x8f1d -0.88193
DCW -30274 ; 44 0x89be -0.92389
DCW -31357 ; 45 0x8583 -0.95694
DCW -32138 ; 46 0x8276 -0.98077
DCW -32610 ; 47 0x809e -0.99518
DCW -32768 ; 48 0x8000 -1.00000
DCW -32610 ; 49 0x809e -0.99518
DCW -32138 ; 50 0x8276 -0.98077
DCW -31357 ; 51 0x8583 -0.95694
DCW -30274 ; 52 0x89be -0.92389
DCW -28899 ; 53 0x8f1d -0.88193
DCW -27246 ; 54 0x9592 -0.83148
DCW -25330 ; 55 0x9d0e -0.77301
DCW -23170 ; 56 0xa57e -0.70709
DCW -20788 ; 57 0xaecc -0.63440
DCW -18205 ; 58 0xb8e3 -0.55557
DCW -15447 ; 59 0xc3a9 -0.47141
DCW -12540 ; 60 0xcf04 -0.38269
DCW -9512 ; 61 0xdad8 -0.29028
DCW -6393 ; 62 0xe707 -0.19510
DCW -3212 ; 63 0xf374 -0.09802
END

View file

@ -0,0 +1,68 @@
AREA Signal, DATA, READONLY
export LeSignal
LeSignal
DCW 0x0fff ; 0 4095 0.99976
DCW 0x0ff6 ; 1 4086 0.99756
DCW 0x0fd9 ; 2 4057 0.99048
DCW 0x0fa8 ; 3 4008 0.97852
DCW 0x0f64 ; 4 3940 0.96191
DCW 0x0f0e ; 5 3854 0.94092
DCW 0x0ea7 ; 6 3751 0.91577
DCW 0x0e2f ; 7 3631 0.88647
DCW 0x0da8 ; 8 3496 0.85352
DCW 0x0d13 ; 9 3347 0.81714
DCW 0x0c72 ; 10 3186 0.77783
DCW 0x0bc5 ; 11 3013 0.73560
DCW 0x0b10 ; 12 2832 0.69141
DCW 0x0a53 ; 13 2643 0.64526
DCW 0x0990 ; 14 2448 0.59766
DCW 0x08c9 ; 15 2249 0.54907
DCW 0x0800 ; 16 2048 0.50000
DCW 0x0737 ; 17 1847 0.45093
DCW 0x0670 ; 18 1648 0.40234
DCW 0x05ad ; 19 1453 0.35474
DCW 0x04f0 ; 20 1264 0.30859
DCW 0x043b ; 21 1083 0.26440
DCW 0x038e ; 22 910 0.22217
DCW 0x02ed ; 23 749 0.18286
DCW 0x0258 ; 24 600 0.14648
DCW 0x01d1 ; 25 465 0.11353
DCW 0x0159 ; 26 345 0.08423
DCW 0x00f2 ; 27 242 0.05908
DCW 0x009c ; 28 156 0.03809
DCW 0x0058 ; 29 88 0.02148
DCW 0x0027 ; 30 39 0.00952
DCW 0x000a ; 31 10 0.00244
DCW 0x0000 ; 32 0 0.00000
DCW 0x000a ; 33 10 0.00244
DCW 0x0027 ; 34 39 0.00952
DCW 0x0058 ; 35 88 0.02148
DCW 0x009c ; 36 156 0.03809
DCW 0x00f2 ; 37 242 0.05908
DCW 0x0159 ; 38 345 0.08423
DCW 0x01d1 ; 39 465 0.11353
DCW 0x0258 ; 40 600 0.14648
DCW 0x02ed ; 41 749 0.18286
DCW 0x038e ; 42 910 0.22217
DCW 0x043b ; 43 1083 0.26440
DCW 0x04f0 ; 44 1264 0.30859
DCW 0x05ad ; 45 1453 0.35474
DCW 0x0670 ; 46 1648 0.40234
DCW 0x0737 ; 47 1847 0.45093
DCW 0x0800 ; 48 2048 0.50000
DCW 0x08c9 ; 49 2249 0.54907
DCW 0x0990 ; 50 2448 0.59766
DCW 0x0a53 ; 51 2643 0.64526
DCW 0x0b10 ; 52 2832 0.69141
DCW 0x0bc5 ; 53 3013 0.73560
DCW 0x0c72 ; 54 3186 0.77783
DCW 0x0d13 ; 55 3347 0.81714
DCW 0x0da8 ; 56 3496 0.85352
DCW 0x0e2f ; 57 3631 0.88647
DCW 0x0ea7 ; 58 3751 0.91577
DCW 0x0f0e ; 59 3854 0.94092
DCW 0x0f64 ; 60 3940 0.96191
DCW 0x0fa8 ; 61 4008 0.97852
DCW 0x0fd9 ; 62 4057 0.99048
DCW 0x0ff6 ; 63 4086 0.99756
END

View file

@ -0,0 +1,28 @@
#include "DriverJeuLaser.h"
int main(void)
{
// ===========================================================================
// ============= INIT PERIPH (faites qu'une seule fois) =====================
// ===========================================================================
// Après exécution : le coeur CPU est clocké à 72MHz ainsi que tous les timers
CLOCK_Configure();
//============================================================================
while (1)
{
}
}

View file

@ -0,0 +1,335 @@
;******************** (C) COPYRIGHT 2011 STMicroelectronics ********************
;* File Name : startup_stm32f10x_md.s
;* Author : MCD Application Team
;* Version : V3.5.0
;* Date : 11-March-2011
;* Description : STM32F10x Medium Density Devices vector table for MDK-ARM
;* toolchain.
;* This module performs:
;* - Set the initial SP
;* - Set the initial PC == Reset_Handler
;* - Set the vector table entries with the exceptions ISR address
;* - Configure the clock system
;* - Branches to __main in the C library (which eventually
;* calls main()).
;* After Reset the CortexM3 processor is in Thread mode,
;* priority is Privileged, and the Stack is set to Main.
;* <<< Use Configuration Wizard in Context Menu >>>
;*******************************************************************************
; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
;*******************************************************************************
; Amount of memory (in bytes) allocated for Stack
; Tailor this value to your application needs
; <h> Stack Configuration
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Stack_Size EQU 0x00000400
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
; <h> Heap Configuration
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Heap_Size EQU 0x00000200
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit
PRESERVE8
THUMB
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY
EXPORT __Vectors
EXPORT __Vectors_End
EXPORT __Vectors_Size
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler
; External Interrupts
DCD WWDG_IRQHandler ; Window Watchdog
DCD PVD_IRQHandler ; PVD through EXTI Line detect
DCD TAMPER_IRQHandler ; Tamper
DCD RTC_IRQHandler ; RTC
DCD FLASH_IRQHandler ; Flash
DCD RCC_IRQHandler ; RCC
DCD EXTI0_IRQHandler ; EXTI Line 0
DCD EXTI1_IRQHandler ; EXTI Line 1
DCD EXTI2_IRQHandler ; EXTI Line 2
DCD EXTI3_IRQHandler ; EXTI Line 3
DCD EXTI4_IRQHandler ; EXTI Line 4
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
DCD ADC1_2_IRQHandler ; ADC1_2
DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX
DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0
DCD CAN1_RX1_IRQHandler ; CAN1 RX1
DCD CAN1_SCE_IRQHandler ; CAN1 SCE
DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
DCD TIM1_BRK_IRQHandler ; TIM1 Break
DCD TIM1_UP_IRQHandler ; TIM1 Update
DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
DCD TIM2_IRQHandler ; TIM2
DCD TIM3_IRQHandler ; TIM3
DCD TIM4_IRQHandler ; TIM4
DCD I2C1_EV_IRQHandler ; I2C1 Event
DCD I2C1_ER_IRQHandler ; I2C1 Error
DCD I2C2_EV_IRQHandler ; I2C2 Event
DCD I2C2_ER_IRQHandler ; I2C2 Error
DCD SPI1_IRQHandler ; SPI1
DCD SPI2_IRQHandler ; SPI2
DCD USART1_IRQHandler ; USART1
DCD USART2_IRQHandler ; USART2
DCD USART3_IRQHandler ; USART3
DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line
DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend
__Vectors_End
__Vectors_Size EQU __Vectors_End - __Vectors
AREA |.text|, CODE, READONLY
; Reset handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT __main
LDR R0, =SystemInit
BLX R0
;
; Enable UsageFault, MemFault and Busfault interrupts
;
_SHCSR EQU 0xE000ED24 ; SHCSR is located at address 0xE000ED24
LDR.W R0, =_SHCSR
LDR R1, [R0] ; Read CPACR
ORR R1, R1, #(0x7 << 16) ; Set bits 16,17,18 to enable usagefault, busfault, memfault interrupts
STR R1, [R0] ; Write back the modified value to the CPACR
DSB ; Wait for store to complete
;
; Set priority grouping (PRIGROUP) in AIRCR to 3 (16 levels for group priority and 0 for subpriority)
;
_AIRCR EQU 0xE000ED0C
_AIRCR_VAL EQU 0x05FA0300
LDR.W R0, =_AIRCR
LDR.W R1, =_AIRCR_VAL
STR R1,[R0]
;
; Finaly, jump to main function (void main (void))
;
LDR R0, =__main
BX R0
ENDP
SystemInit PROC
EXPORT SystemInit [WEAK]
BX LR
ENDP
; Dummy Exception Handlers (infinite loops which can be modified)
NMI_Handler PROC
EXPORT NMI_Handler [WEAK]
B .
ENDP
HardFault_Handler\
PROC
EXPORT HardFault_Handler [WEAK]
B .
ENDP
MemManage_Handler\
PROC
EXPORT MemManage_Handler [WEAK]
B .
ENDP
BusFault_Handler\
PROC
EXPORT BusFault_Handler [WEAK]
B .
ENDP
UsageFault_Handler\
PROC
EXPORT UsageFault_Handler [WEAK]
B .
ENDP
SVC_Handler PROC
EXPORT SVC_Handler [WEAK]
B .
ENDP
DebugMon_Handler\
PROC
EXPORT DebugMon_Handler [WEAK]
B .
ENDP
PendSV_Handler PROC
EXPORT PendSV_Handler [WEAK]
B .
ENDP
SysTick_Handler PROC
EXPORT SysTick_Handler [WEAK]
B .
ENDP
Default_Handler PROC
EXPORT WWDG_IRQHandler [WEAK]
EXPORT PVD_IRQHandler [WEAK]
EXPORT TAMPER_IRQHandler [WEAK]
EXPORT RTC_IRQHandler [WEAK]
EXPORT FLASH_IRQHandler [WEAK]
EXPORT RCC_IRQHandler [WEAK]
EXPORT EXTI0_IRQHandler [WEAK]
EXPORT EXTI1_IRQHandler [WEAK]
EXPORT EXTI2_IRQHandler [WEAK]
EXPORT EXTI3_IRQHandler [WEAK]
EXPORT EXTI4_IRQHandler [WEAK]
EXPORT DMA1_Channel1_IRQHandler [WEAK]
EXPORT DMA1_Channel2_IRQHandler [WEAK]
EXPORT DMA1_Channel3_IRQHandler [WEAK]
EXPORT DMA1_Channel4_IRQHandler [WEAK]
EXPORT DMA1_Channel5_IRQHandler [WEAK]
EXPORT DMA1_Channel6_IRQHandler [WEAK]
EXPORT DMA1_Channel7_IRQHandler [WEAK]
EXPORT ADC1_2_IRQHandler [WEAK]
EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK]
EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK]
EXPORT CAN1_RX1_IRQHandler [WEAK]
EXPORT CAN1_SCE_IRQHandler [WEAK]
EXPORT EXTI9_5_IRQHandler [WEAK]
EXPORT TIM1_BRK_IRQHandler [WEAK]
EXPORT TIM1_UP_IRQHandler [WEAK]
EXPORT TIM1_TRG_COM_IRQHandler [WEAK]
EXPORT TIM1_CC_IRQHandler [WEAK]
EXPORT TIM2_IRQHandler [WEAK]
EXPORT TIM3_IRQHandler [WEAK]
EXPORT TIM4_IRQHandler [WEAK]
EXPORT I2C1_EV_IRQHandler [WEAK]
EXPORT I2C1_ER_IRQHandler [WEAK]
EXPORT I2C2_EV_IRQHandler [WEAK]
EXPORT I2C2_ER_IRQHandler [WEAK]
EXPORT SPI1_IRQHandler [WEAK]
EXPORT SPI2_IRQHandler [WEAK]
EXPORT USART1_IRQHandler [WEAK]
EXPORT USART2_IRQHandler [WEAK]
EXPORT USART3_IRQHandler [WEAK]
EXPORT EXTI15_10_IRQHandler [WEAK]
EXPORT RTCAlarm_IRQHandler [WEAK]
EXPORT USBWakeUp_IRQHandler [WEAK]
WWDG_IRQHandler
PVD_IRQHandler
TAMPER_IRQHandler
RTC_IRQHandler
FLASH_IRQHandler
RCC_IRQHandler
EXTI0_IRQHandler
EXTI1_IRQHandler
EXTI2_IRQHandler
EXTI3_IRQHandler
EXTI4_IRQHandler
DMA1_Channel1_IRQHandler
DMA1_Channel2_IRQHandler
DMA1_Channel3_IRQHandler
DMA1_Channel4_IRQHandler
DMA1_Channel5_IRQHandler
DMA1_Channel6_IRQHandler
DMA1_Channel7_IRQHandler
ADC1_2_IRQHandler
USB_HP_CAN1_TX_IRQHandler
USB_LP_CAN1_RX0_IRQHandler
CAN1_RX1_IRQHandler
CAN1_SCE_IRQHandler
EXTI9_5_IRQHandler
TIM1_BRK_IRQHandler
TIM1_UP_IRQHandler
TIM1_TRG_COM_IRQHandler
TIM1_CC_IRQHandler
TIM2_IRQHandler
TIM3_IRQHandler
TIM4_IRQHandler
I2C1_EV_IRQHandler
I2C1_ER_IRQHandler
I2C2_EV_IRQHandler
I2C2_ER_IRQHandler
SPI1_IRQHandler
SPI2_IRQHandler
USART1_IRQHandler
USART2_IRQHandler
USART3_IRQHandler
EXTI15_10_IRQHandler
RTCAlarm_IRQHandler
USBWakeUp_IRQHandler
B .
ENDP
ALIGN
;*******************************************************************************
; User Stack and Heap initialization
;*******************************************************************************
IF :DEF:__MICROLIB
EXPORT __initial_sp
EXPORT __heap_base
EXPORT __heap_limit
ELSE
IMPORT __use_two_region_memory
EXPORT __user_initial_stackheap
__user_initial_stackheap
LDR R0, = Heap_Mem
LDR R1, =(Stack_Mem + Stack_Size)
LDR R2, = (Heap_Mem + Heap_Size)
LDR R3, = Stack_Mem
BX LR
ALIGN
ENDIF
END
;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE*****

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,709 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
<SchemaVersion>1.0</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<Extensions>
<cExt>*.c</cExt>
<aExt>*.s*; *.src; *.a*</aExt>
<oExt>*.obj; *.o</oExt>
<lExt>*.lib</lExt>
<tExt>*.txt; *.h; *.inc; *.md</tExt>
<pExt>*.plm</pExt>
<CppX>*.cpp</CppX>
<nMigrate>0</nMigrate>
</Extensions>
<DaveTm>
<dwLowDateTime>0</dwLowDateTime>
<dwHighDateTime>0</dwHighDateTime>
</DaveTm>
<Target>
<TargetName>Simu</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<CLKADS>8000000</CLKADS>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
<RunSim>0</RunSim>
<RunTarget>1</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT>
<OPTHX>
<HexSelection>1</HexSelection>
<FlashByte>65535</FlashByte>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
</OPTHX>
<OPTLEX>
<PageWidth>79</PageWidth>
<PageLength>66</PageLength>
<TabStop>8</TabStop>
<ListingPath></ListingPath>
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
<CreateAListing>1</CreateAListing>
<CreateLListing>1</CreateLListing>
<CreateIListing>0</CreateIListing>
<AsmCond>1</AsmCond>
<AsmSymb>1</AsmSymb>
<AsmXref>0</AsmXref>
<CCond>1</CCond>
<CCode>0</CCode>
<CListInc>0</CListInc>
<CSymb>0</CSymb>
<LinkerCodeListing>0</LinkerCodeListing>
</ListingPage>
<OPTXL>
<LMap>1</LMap>
<LComments>1</LComments>
<LGenerateSymbols>1</LGenerateSymbols>
<LLibSym>1</LLibSym>
<LLines>1</LLines>
<LLocSym>1</LLocSym>
<LPubSym>1</LPubSym>
<LXref>0</LXref>
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
<uSim>1</uSim>
<uTrg>0</uTrg>
<sLdApp>1</sLdApp>
<sGomain>1</sGomain>
<sRbreak>1</sRbreak>
<sRwatch>1</sRwatch>
<sRmem>1</sRmem>
<sRfunc>1</sRfunc>
<sRbox>1</sRbox>
<tLdApp>1</tLdApp>
<tGomain>1</tGomain>
<tRbreak>1</tRbreak>
<tRwatch>1</tRwatch>
<tRmem>1</tRmem>
<tRfunc>1</tRfunc>
<tRbox>1</tRbox>
<tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>6</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<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=-1,-1,-1,-1,0)(120=75,104,496,531,0)(121=859,154,1280,581,0)(122=-1,-1,-1,-1,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=614,0,1208,751,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)(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>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMRTXEVENTFLAGS</Key>
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</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)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMDBGFLAGS</Key>
<Name>-T0</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGUARM</Key>
<Name>(105=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>UL2CM3</Key>
<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>
<Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U066CFF574857847167074929 -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/>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>1</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>1</viewmode>
<vrSel>0</vrSel>
<aSym>0</aSym>
<aTbox>0</aTbox>
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
<StkLoc>0</StkLoc>
<TrcWin>0</TrcWin>
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
<bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
<LogicAnalyzers>
<Wi>
<IntNumber>0</IntNumber>
<FirstString>((portb &amp; 0x00000002) &gt;&gt; 1 &amp; 0x2) &gt;&gt; 1</FirstString>
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F160000000000000000000000000000000000000096020008</SecondString>
</Wi>
</LogicAnalyzers>
<DebugDescription>
<Enable>1</Enable>
<EnableFlashSeq>0</EnableFlashSeq>
<EnableLog>0</EnableLog>
<Protocol>2</Protocol>
<DbgClock>10000000</DbgClock>
</DebugDescription>
</TargetOption>
</Target>
<Target>
<TargetName>CibleSondeKEIL</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<CLKADS>8000000</CLKADS>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
<RunSim>0</RunSim>
<RunTarget>1</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT>
<OPTHX>
<HexSelection>1</HexSelection>
<FlashByte>65535</FlashByte>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
</OPTHX>
<OPTLEX>
<PageWidth>79</PageWidth>
<PageLength>66</PageLength>
<TabStop>8</TabStop>
<ListingPath></ListingPath>
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
<CreateAListing>1</CreateAListing>
<CreateLListing>1</CreateLListing>
<CreateIListing>0</CreateIListing>
<AsmCond>1</AsmCond>
<AsmSymb>1</AsmSymb>
<AsmXref>0</AsmXref>
<CCond>1</CCond>
<CCode>0</CCode>
<CListInc>0</CListInc>
<CSymb>0</CSymb>
<LinkerCodeListing>0</LinkerCodeListing>
</ListingPage>
<OPTXL>
<LMap>1</LMap>
<LComments>1</LComments>
<LGenerateSymbols>1</LGenerateSymbols>
<LLibSym>1</LLibSym>
<LLines>1</LLines>
<LLocSym>1</LLocSym>
<LPubSym>1</LPubSym>
<LXref>0</LXref>
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>0</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
<uSim>0</uSim>
<uTrg>1</uTrg>
<sLdApp>1</sLdApp>
<sGomain>1</sGomain>
<sRbreak>1</sRbreak>
<sRwatch>1</sRwatch>
<sRmem>1</sRmem>
<sRfunc>1</sRfunc>
<sRbox>1</sRbox>
<tLdApp>1</tLdApp>
<tGomain>1</tGomain>
<tRbreak>1</tRbreak>
<tRwatch>1</tRwatch>
<tRmem>1</tRmem>
<tRfunc>1</tRfunc>
<tRbox>1</tRbox>
<tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>0</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon>BIN\UL2CM3.DLL</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<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=-1,-1,-1,-1,0)(120=75,104,496,531,0)(121=859,154,1280,581,0)(122=-1,-1,-1,-1,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)(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>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMRTXEVENTFLAGS</Key>
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</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)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMDBGFLAGS</Key>
<Name>-T0</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGUARM</Key>
<Name>(105=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<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>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U066CFF574857847167074929 -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/>
<MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber>
<SubType>257</SubType>
<ItemText>r0</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow1>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>1</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>1</viewmode>
<vrSel>0</vrSel>
<aSym>0</aSym>
<aTbox>0</aTbox>
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
<StkLoc>0</StkLoc>
<TrcWin>0</TrcWin>
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
<bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
<DebugDescription>
<Enable>1</Enable>
<EnableFlashSeq>0</EnableFlashSeq>
<EnableLog>0</EnableLog>
<Protocol>2</Protocol>
<DbgClock>10000000</DbgClock>
</DebugDescription>
</TargetOption>
</Target>
<Target>
<TargetName>CibleSondeST</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<CLKADS>8000000</CLKADS>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
<RunSim>0</RunSim>
<RunTarget>1</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT>
<OPTHX>
<HexSelection>1</HexSelection>
<FlashByte>65535</FlashByte>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
</OPTHX>
<OPTLEX>
<PageWidth>79</PageWidth>
<PageLength>66</PageLength>
<TabStop>8</TabStop>
<ListingPath></ListingPath>
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
<CreateAListing>1</CreateAListing>
<CreateLListing>1</CreateLListing>
<CreateIListing>0</CreateIListing>
<AsmCond>1</AsmCond>
<AsmSymb>1</AsmSymb>
<AsmXref>0</AsmXref>
<CCond>1</CCond>
<CCode>0</CCode>
<CListInc>0</CListInc>
<CSymb>0</CSymb>
<LinkerCodeListing>0</LinkerCodeListing>
</ListingPage>
<OPTXL>
<LMap>1</LMap>
<LComments>1</LComments>
<LGenerateSymbols>1</LGenerateSymbols>
<LLibSym>1</LLibSym>
<LLines>1</LLines>
<LLocSym>1</LLocSym>
<LPubSym>1</LPubSym>
<LXref>0</LXref>
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>0</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
<uSim>0</uSim>
<uTrg>1</uTrg>
<sLdApp>1</sLdApp>
<sGomain>1</sGomain>
<sRbreak>1</sRbreak>
<sRwatch>1</sRwatch>
<sRmem>1</sRmem>
<sRfunc>1</sRfunc>
<sRbox>1</sRbox>
<tLdApp>1</tLdApp>
<tGomain>1</tGomain>
<tRbreak>1</tRbreak>
<tRwatch>1</tRwatch>
<tRmem>1</tRmem>
<tRfunc>1</tRfunc>
<tRbox>1</tRbox>
<tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>6</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<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=-1,-1,-1,-1,0)(120=75,104,496,531,0)(121=859,154,1280,581,0)(122=-1,-1,-1,-1,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)(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>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMRTXEVENTFLAGS</Key>
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</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)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMDBGFLAGS</Key>
<Name>-T0</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGUARM</Key>
<Name>(105=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>UL2CM3</Key>
<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>
<Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U066CFF574857847167074929 -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/>
<MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber>
<SubType>257</SubType>
<ItemText>r0</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow1>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>1</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>1</viewmode>
<vrSel>0</vrSel>
<aSym>0</aSym>
<aTbox>0</aTbox>
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>1</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
<StkLoc>0</StkLoc>
<TrcWin>0</TrcWin>
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
<bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
<LogicAnalyzers>
<Wi>
<IntNumber>0</IntNumber>
<FirstString>((portb &amp; 0x00000002) &gt;&gt; 1 &amp; 0x2) &gt;&gt; 1</FirstString>
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F100000000000000000000000000000000000000096020008</SecondString>
</Wi>
</LogicAnalyzers>
<DebugDescription>
<Enable>1</Enable>
<EnableFlashSeq>0</EnableFlashSeq>
<EnableLog>0</EnableLog>
<Protocol>2</Protocol>
<DbgClock>10000000</DbgClock>
</DebugDescription>
</TargetOption>
</Target>
<Group>
<GroupName>Sources</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\principal.c</PathWithFileName>
<FilenameWithoutPath>principal.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>Sys</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\startup-rvds.s</PathWithFileName>
<FilenameWithoutPath>startup-rvds.s</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>Driver</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Driver\DriverJeuLaser.lib</PathWithFileName>
<FilenameWithoutPath>DriverJeuLaser.lib</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>New Group</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\Signal.asm</PathWithFileName>
<FilenameWithoutPath>Signal.asm</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>5</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\DFT.s</PathWithFileName>
<FilenameWithoutPath>DFT.s</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
</ProjectOpt>

File diff suppressed because it is too large Load diff

Binary file not shown.