Initial commit

This commit is contained in:
Apollinaire Criquet 2023-04-07 18:16:39 +02:00
commit 05884b74ea
100 changed files with 40454 additions and 0 deletions

111
.gitignore vendored Normal file
View file

@ -0,0 +1,111 @@
# ---> Matlab
##---------------------------------------------------
## Remove autosaves generated by the Matlab editor
## We have git for backups!
##---------------------------------------------------
# Windows default autosave extension
*.asv
# OSX / *nix default autosave extension
*.m~
# Compiled MEX binaries (all platforms)
*.mex*
# Simulink Code Generation
slprj/
# Session info
octave-workspace
# Simulink autosave extension
*.autosave
*.slxc
#spice
*.raw
*.log
# A .gitignore for Keil projects.
# Taken mostly from http://www.keil.com/support/man/docs/uv4/uv4_b_filetypes.htm
# User-specific uVision files
*.opt
*.uvopt
*.uvoptx
*.uvgui
*.uvgui.*
*.uvguix.*
# Listing files
*.cod
*.htm
*.i
*.lst
*.map
*.m51
*.m66
# define exception below if needed
*.scr
# Object and HEX files
*.axf
*.b[0-3][0-9]
*.hex
*.d
*.crf
*.elf
*.hex
*.h86
*.lib
*.obj
*.o
*.sbr
# Build files
# define exception below if needed
*.bat
*._ia
*.__i
*._ii
*.scvd
# Generated output files
/Listings/*
/Objects/*
DebugConfig
RTE
# Debugger files
# define exception below if needed
*.ini
# Other files
*.build_log.htm
*.cdb
*.dep
*.ic
*.lin
*.lnp
*.orc
# define exception below if needed
*.pack
# define exception below if needed
*.pdsc
*.plg
# define exception below if needed
*.sct
*.sfd
*.sfr
# Miscellaneous
*.tra
*.bin
*.fed
*.l1p
*.l2p
*.iex
# To explicitly override the above, define any exceptions here; e.g.:
# !my_customized_scatter_file.sct

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,754 @@
<?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>0</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=-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>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>27</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134218678</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\Src\principal.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\BacASable\Src/principal.c\27</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>28</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134218682</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\Src\principal.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\BacASable\Src/principal.c\28</Expression>
</Bp>
</Breakpoint>
<WatchWindow1>
<Ww>
<count>0</count>
<WinNumber>1</WinNumber>
<ItemText>TimeValue</ItemText>
</Ww>
<Ww>
<count>1</count>
<WinNumber>1</WinNumber>
<ItemText>VarTime</ItemText>
</Ww>
</WatchWindow1>
<MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber>
<SubType>0</SubType>
<ItemText>0x20000000</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow1>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>0</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>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000E03F1000000000000000000000000000000000000000DC030008</SecondString>
</Wi>
<Wi>
<IntNumber>1</IntNumber>
<FirstString>`VarTime</FirstString>
<SecondString>0080000000000000000000000000000040772B410000000000000000000000000000000056617254696D65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000002000000000000000000E03F1000000000000000000000000000000000000000B6030008</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>1</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/>
<WatchWindow1>
<Ww>
<count>0</count>
<WinNumber>1</WinNumber>
<ItemText>VarTime</ItemText>
</Ww>
</WatchWindow1>
<MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber>
<SubType>257</SubType>
<ItemText>0x20000000</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>
<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>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\principal.c</PathWithFileName>
<FilenameWithoutPath>principal.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\Delay.s</PathWithFileName>
<FilenameWithoutPath>Delay.s</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>3</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>4</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>::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

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,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,9 @@
<?xml version="1.0" encoding="utf-8"?>
<component_viewer schemaVersion="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">
<component name="EventRecorderStub" version="1.0.0"/> <!--name and version of the component-->
<events>
</events>
</component_viewer>

Binary file not shown.

View file

@ -0,0 +1,59 @@
<html>
<body>
<pre>
<h1>µVision Build Log</h1>
<h2>Tool Versions:</h2>
IDE-Version: µVision V5.34.0.0
Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: CSN CSN, INSA de Toulouse, LIC=----
Tool Versions:
Toolchain: MDK-Lite Version: 5.34.0.0
Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 7 (build 960)
Assembler: Armasm.exe V5.06 update 7 (build 960)
Linker/Locator: ArmLink.exe V5.06 update 7 (build 960)
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: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.8.0
Dialog DLL: TCM.DLL V1.48.0.0
<h2>Project:</h2>
U:\3MIC\BE_CHTI\Assembleur\PjtKEIL_StepDeb_1\BacASable.uvprojx
Project File Date: 03/14/2023
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'Simu'
linking...
Program Size: Code=764 RO-data=268 RW-data=4 ZI-data=1028
FromELF: creating hex file...
".\Obj\BacASable.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>
Package Vendor: ARM
http://www.keil.com/pack/ARM.CMSIS.5.7.0.pack
ARM.CMSIS.5.7.0
CMSIS (Cortex Microcontroller Software Interface Standard)
* Component: CORE Version: 5.4.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\_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
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.4.0
Build Time Elapsed: 00:00:01
</pre>
</body>
</html>

View file

@ -0,0 +1,68 @@
:020000040800F2
:100000000804002005010008290100082B01000850
:100010002D0100082F010008310100080000000038
:100020000000000000000000000000003301000894
:100030003501000800000000370100083901000800
:100040003B0100083B0100083B0100083B010008A0
:100050003B0100083B0100083B0100083B01000890
:100060003B0100083B0100083B0100083B01000880
:100070003B0100083B0100083B0100083B01000870
:100080003B0100083B0100083B0100083B01000860
:100090003B0100083B0100083B0100083B01000850
:1000A0003B0100083B0100083B0100083B01000840
:1000B0003B0100083B0100083B0100083B01000830
:1000C0003B0100083B0100083B0100083B01000820
:1000D0003B0100083B0100083B0100083B01000810
:1000E0003B0100083B0100083B010008DFF810D08D
:1000F00000F02EF800480047A5030008AFF3008089
:10010000080400200D488047DFF83400016841F4FE
:10011000E0210160BFF34F8FDFF82800DFF82810DF
:1001200001600A4800477047FEE7FEE7FEE7FEE78A
:10013000FEE7FEE7FEE7FEE7FEE7FEE72701000831
:1001400024ED00E00CED00E00003FA05ED000008EE
:10015000064C074D06E0E06840F0010394E8070014
:1001600098471034AC42F6D3FFF7C4FFE803000809
:100170000804000870B5194C8320206000256560D4
:10018000A56017486060012000F02EF86168084300
:10019000606014490D60086840F002000860206843
:1001A00040F48030206020688003FCD5206840F057
:1001B0008070206020688001FCD5606820F003001A
:1001C0006060606840F002006060606840F4800039
:1001D0006060086840F01000086070BD00100240C8
:1001E00000841D0000200240012804D0B0F5807F6B
:1001F00003DD012102E000202CE00021802801DD48
:10020000012200E000220A44402801DD012100E033
:1002100000210A44102801DD012100E000210A44E8
:10022000082801DD012100E000210A44042801DD45
:10023000012100E000210A44022801DD012100E043
:1002400000211144012801DD012000E000200844C4
:10025000C01D0001702800D100207047012181409D
:100260000148016070470000140C014001218140E9
:100270000148016070470000100C0140F0B53B4E92
:100280003B4CB04203D1A66946F00406A661394E44
:10029000B04203D1A66946F00806A661364EB042C8
:1002A00003D1A66946F01006A661344EB04203D1D0
:1002B000A66946F02006A661314EB04203D1A66978
:1002C00046F04006A66100240F2900DD0124692ABA
:1002D00001D0492A02D1032B00D10124032B00DDD8
:1002E0000124692A06D0492A04D06F2A02D04F2A55
:1002F00000D00124692A01D0492A00D100256F2AA3
:1003000001D04F2A00D1012503260222082915DA3F
:10031000076802EB810206FA02FC27EA0C07076075
:10032000076893401F430760026889008E40B2430C
:10033000026002688D402A43026015E00839476870
:1003400002EB810206FA02FC27EA0C0747604768C5
:1003500093401F434760426889008E40B243426029
:1003600042688D402A4342602046F0BD00080140AB
:1003700000100240000C0140001001400014014038
:100380000018014002E008C8121F08C1002AFAD173
:1003900070477047002001E001C1121F002AFBD105
:1003A00070470000FFF7E6FE00236F220121074897
:1003B000FFF764FF09E000F00BF80120FFF756FF9C
:1003C00000F006F80120FFF749FFF4E7000C0140B8
:1003D000034804490160016801390160FBD170479D
:1003E00000000020A0BB0D00080400080000002051
:1003F00004000000840300080C040008040000202E
:0C04000004040000940300080000000049
:04000005080000ED02
:00000001FF

View file

@ -0,0 +1,377 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Obj\BacASable.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Obj\BacASable.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Tue Mar 14 16:58:01 2023
<BR><P>
<H3>Maximum Stack Usage = 20 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main &rArr; GPIO_Configure
<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-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[4]">BusFault_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1f]">CAN1_RX1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[20]">CAN1_SCE_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[15]">DMA1_Channel1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[16]">DMA1_Channel2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[17]">DMA1_Channel3_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[18]">DMA1_Channel4_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[19]">DMA1_Channel5_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1a]">DMA1_Channel6_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1b]">DMA1_Channel7_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[7]">DebugMon_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[10]">EXTI0_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[32]">EXTI15_10_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[11]">EXTI1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[12]">EXTI2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[13]">EXTI3_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[14]">EXTI4_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[21]">EXTI9_5_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[e]">FLASH_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2]">HardFault_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2a]">I2C1_ER_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[29]">I2C1_EV_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2c]">I2C2_ER_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2b]">I2C2_EV_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[3]">MemManage_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1]">NMI_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[b]">PVD_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[8]">PendSV_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[f]">RCC_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[33]">RTCAlarm_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[d]">RTC_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[0]">Reset_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2d]">SPI1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2e]">SPI2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[6]">SVC_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[9]">SysTick_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[36]">SystemInit</a> from startup-rvds.o(.text) referenced from startup-rvds.o(.text)
<LI><a href="#[c]">TAMPER_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[22]">TIM1_BRK_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[25]">TIM1_CC_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[24]">TIM1_TRG_COM_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[23]">TIM1_UP_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[26]">TIM2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[27]">TIM3_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[28]">TIM4_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2f]">USART1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[30]">USART2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[31]">USART3_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[34]">USBWakeUp_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1d]">USB_HP_CAN1_TX_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1e]">USB_LP_CAN1_RX0_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[5]">UsageFault_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[a]">WWDG_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[37]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup-rvds.o(.text)
<LI><a href="#[35]">main</a> from principal.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-rvds.o(.text)
</UL>
<P><STRONG><a name="[41]"></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="[42]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[43]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[44]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[45]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[46]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[47]"></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)
</UL>
<P><STRONG><a name="[36]"></a>SystemInit</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(.text)
</UL>
<P><STRONG><a name="[1]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2]"></a>HardFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[3]"></a>MemManage_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[4]"></a>BusFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[5]"></a>UsageFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[6]"></a>SVC_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[7]"></a>DebugMon_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[8]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[9]"></a>SysTick_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>CAN1_RX1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>CAN1_SCE_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[15]"></a>DMA1_Channel1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[16]"></a>DMA1_Channel2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[17]"></a>DMA1_Channel3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[18]"></a>DMA1_Channel4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[19]"></a>DMA1_Channel5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1a]"></a>DMA1_Channel6_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1b]"></a>DMA1_Channel7_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[10]"></a>EXTI0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[32]"></a>EXTI15_10_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[11]"></a>EXTI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[12]"></a>EXTI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[13]"></a>EXTI3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[14]"></a>EXTI4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[21]"></a>EXTI9_5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[e]"></a>FLASH_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2a]"></a>I2C1_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[29]"></a>I2C1_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2c]"></a>I2C2_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2b]"></a>I2C2_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[b]"></a>PVD_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[f]"></a>RCC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[33]"></a>RTCAlarm_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[d]"></a>RTC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2d]"></a>SPI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2e]"></a>SPI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[c]"></a>TAMPER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[22]"></a>TIM1_BRK_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[25]"></a>TIM1_CC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[24]"></a>TIM1_TRG_COM_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[23]"></a>TIM1_UP_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[26]"></a>TIM2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>TIM3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2f]"></a>USART1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[30]"></a>USART2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[31]"></a>USART3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[34]"></a>USBWakeUp_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1d]"></a>USB_HP_CAN1_TX_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1e]"></a>USB_LP_CAN1_RX0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.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="[48]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[3b]"></a>CLOCK_Configure</STRONG> (Thumb, 104 bytes, Stack size 16 bytes, clock.o(i.CLOCK_Configure))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = CLOCK_Configure
</UL>
<BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_HPRECompute
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[40]"></a>GPIOB_Clear</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Clear))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3f]"></a>GPIOB_Set</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Set))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3d]"></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
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[49]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[4a]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[4b]"></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, 40 bytes, Stack size 0 bytes, principal.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = main &rArr; GPIO_Configure
</UL>
<BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Configure
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIOB_Set
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIOB_Clear
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_100ms
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_Configure
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P><STRONG><a name="[3e]"></a>Delay_100ms</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, delay.o(moncode))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[3c]"></a>CLOCK_HPRECompute</STRONG> (Thumb, 116 bytes, Stack size 0 bytes, clock.o(i.CLOCK_HPRECompute))
<BR><BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_Configure
</UL>
<P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>

View file

@ -0,0 +1,9 @@
--cpu Cortex-M3
".\obj\principal.o"
".\obj\delay.o"
".\obj\startup-rvds.o"
".\Driver\DriverJeuLaser.lib"
--library_type=microlib --strict --scatter ".\Obj\BacASable.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list "BacASable.map" -o .\Obj\BacASable.axf

View file

@ -0,0 +1,335 @@
Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601]
==============================================================================
Section Cross References
principal.o(i.main) refers to clock.o(i.CLOCK_Configure) for CLOCK_Configure
principal.o(i.main) refers to gpio.o(i.GPIO_Configure) for GPIO_Configure
principal.o(i.main) refers to delay.o(moncode) for Delay_100ms
principal.o(i.main) refers to gpio.o(i.GPIOB_Set) for GPIOB_Set
principal.o(i.main) refers to gpio.o(i.GPIOB_Clear) for GPIOB_Clear
delay.o(moncode) refers to delay.o(maram) for VarTime
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(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main
clock.o(i.CLOCK_Configure) refers to clock.o(i.CLOCK_HPRECompute) for CLOCK_HPRECompute
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000F) for __rt_final_cpp
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$00000011) for __rt_final_exit
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini
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-rvds.o(STACK) for __initial_sp
entry2.o(__vectab_stack_and_reset_area) refers to startup-rvds.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 principal.o(i.main) for main
entry9b.o(.ARM.Collect$$$$0000000C) refers to principal.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 principal.o(.rev16_text), (4 bytes).
Removing principal.o(.revsh_text), (4 bytes).
Removing principal.o(.rrx_text), (6 bytes).
Removing delay.o(mesdata), (0 bytes).
Removing startup-rvds.o(HEAP), (512 bytes).
Removing clock.o(.rev16_text), (4 bytes).
Removing clock.o(.revsh_text), (4 bytes).
Removing clock.o(.rrx_text), (6 bytes).
Removing clock.o(i.CLOCK_GetADCCLK), (8 bytes).
Removing clock.o(i.CLOCK_GetHCLK), (8 bytes).
Removing clock.o(i.CLOCK_GetPCLK1), (8 bytes).
Removing clock.o(i.CLOCK_GetPCLK2), (8 bytes).
Removing clock.o(i.CLOCK_GetTIMCLK), (36 bytes).
Removing gpio.o(.rev16_text), (4 bytes).
Removing gpio.o(.revsh_text), (4 bytes).
Removing gpio.o(.rrx_text), (6 bytes).
Removing gpio.o(i.GPIOA_Clear), (16 bytes).
Removing gpio.o(i.GPIOA_Set), (16 bytes).
Removing gpio.o(i.GPIOC_Clear), (16 bytes).
Removing gpio.o(i.GPIOC_Set), (16 bytes).
20 unused section(s) (total 686 bytes) removed from the image.
==============================================================================
Image Symbol Table
Local Symbols
Symbol Name Value Ov Type Size Object(Section)
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 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 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
Lib\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE
Lib\\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE
Lib\\clock.c 0x00000000 Number 0 clock.o ABSOLUTE
Lib\clock.c 0x00000000 Number 0 clock.o ABSOLUTE
Src\Delay.s 0x00000000 Number 0 delay.o ABSOLUTE
Src\\principal.c 0x00000000 Number 0 principal.o ABSOLUTE
Src\principal.c 0x00000000 Number 0 principal.o ABSOLUTE
Src\startup-rvds.s 0x00000000 Number 0 startup-rvds.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
RESET 0x08000000 Section 236 startup-rvds.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$$$$0000000E 0x080000fc Section 4 entry12b.o(.ARM.Collect$$$$0000000E)
.ARM.Collect$$$$0000000F 0x08000100 Section 0 entry10a.o(.ARM.Collect$$$$0000000F)
.ARM.Collect$$$$00000011 0x08000100 Section 0 entry11a.o(.ARM.Collect$$$$00000011)
.ARM.Collect$$$$00002712 0x08000100 Section 4 entry2.o(.ARM.Collect$$$$00002712)
__lit__00000000 0x08000100 Data 4 entry2.o(.ARM.Collect$$$$00002712)
.text 0x08000104 Section 76 startup-rvds.o(.text)
.text 0x08000150 Section 36 init.o(.text)
i.CLOCK_Configure 0x08000174 Section 0 clock.o(i.CLOCK_Configure)
i.CLOCK_HPRECompute 0x080001e8 Section 0 clock.o(i.CLOCK_HPRECompute)
CLOCK_HPRECompute 0x080001e9 Thumb Code 116 clock.o(i.CLOCK_HPRECompute)
i.GPIOB_Clear 0x0800025c Section 0 gpio.o(i.GPIOB_Clear)
i.GPIOB_Set 0x0800026c Section 0 gpio.o(i.GPIOB_Set)
i.GPIO_Configure 0x0800027c Section 0 gpio.o(i.GPIO_Configure)
i.__scatterload_copy 0x08000384 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08000392 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08000394 Section 14 handlers.o(i.__scatterload_zeroinit)
i.main 0x080003a4 Section 0 principal.o(i.main)
moncode 0x080003d0 Section 24 delay.o(moncode)
maram 0x20000000 Section 4 delay.o(maram)
STACK 0x20000008 Section 1024 startup-rvds.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 principal.o ABSOLUTE
__arm_fini_ - Undefined Weak Reference
__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-rvds.o ABSOLUTE
__Vectors 0x08000000 Data 4 startup-rvds.o(RESET)
__Vectors_End 0x080000ec Data 0 startup-rvds.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_lib_shutdown_fini 0x080000fd Thumb Code 0 entry12b.o(.ARM.Collect$$$$0000000E)
__rt_final_cpp 0x08000101 Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000F)
__rt_final_exit 0x08000101 Thumb Code 0 entry11a.o(.ARM.Collect$$$$00000011)
Reset_Handler 0x08000105 Thumb Code 34 startup-rvds.o(.text)
SystemInit 0x08000127 Thumb Code 2 startup-rvds.o(.text)
NMI_Handler 0x08000129 Thumb Code 2 startup-rvds.o(.text)
HardFault_Handler 0x0800012b Thumb Code 2 startup-rvds.o(.text)
MemManage_Handler 0x0800012d Thumb Code 2 startup-rvds.o(.text)
BusFault_Handler 0x0800012f Thumb Code 2 startup-rvds.o(.text)
UsageFault_Handler 0x08000131 Thumb Code 2 startup-rvds.o(.text)
SVC_Handler 0x08000133 Thumb Code 2 startup-rvds.o(.text)
DebugMon_Handler 0x08000135 Thumb Code 2 startup-rvds.o(.text)
PendSV_Handler 0x08000137 Thumb Code 2 startup-rvds.o(.text)
SysTick_Handler 0x08000139 Thumb Code 2 startup-rvds.o(.text)
ADC1_2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
CAN1_RX1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
CAN1_SCE_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel6_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel7_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI15_10_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI9_5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
FLASH_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C1_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C1_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C2_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C2_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
PVD_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
RCC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
RTCAlarm_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
RTC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
SPI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
SPI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TAMPER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM1_BRK_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM1_CC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM1_TRG_COM_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM1_UP_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USART1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USART2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USART3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USBWakeUp_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USB_HP_CAN1_TX_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USB_LP_CAN1_RX0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
WWDG_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
__scatterload 0x08000151 Thumb Code 28 init.o(.text)
__scatterload_rt2 0x08000151 Thumb Code 0 init.o(.text)
CLOCK_Configure 0x08000175 Thumb Code 104 clock.o(i.CLOCK_Configure)
GPIOB_Clear 0x0800025d Thumb Code 10 gpio.o(i.GPIOB_Clear)
GPIOB_Set 0x0800026d Thumb Code 10 gpio.o(i.GPIOB_Set)
GPIO_Configure 0x0800027d Thumb Code 240 gpio.o(i.GPIO_Configure)
__scatterload_copy 0x08000385 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08000393 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08000395 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
main 0x080003a5 Thumb Code 40 principal.o(i.main)
Delay_100ms 0x080003d1 Thumb Code 16 delay.o(moncode)
Region$$Table$$Base 0x080003e8 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08000408 Number 0 anon$$obj.o(Region$$Table)
VarTime 0x20000000 Data 4 delay.o(maram)
__initial_sp 0x20000408 Data 0 startup-rvds.o(STACK)
==============================================================================
Memory Map of the image
Image Entry point : 0x080000ed
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000040c, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000408, Max: 0x00020000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 65 RESET startup-rvds.o
0x080000ec 0x080000ec 0x00000000 Code RO 110 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x080000ec 0x080000ec 0x00000004 Code RO 113 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x080000f0 0x080000f0 0x00000004 Code RO 116 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x080000f4 0x080000f4 0x00000000 Code RO 118 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x080000f4 0x080000f4 0x00000000 Code RO 120 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x080000f4 0x080000f4 0x00000008 Code RO 121 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x080000fc 0x080000fc 0x00000004 Code RO 128 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o)
0x08000100 0x08000100 0x00000000 Code RO 123 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o)
0x08000100 0x08000100 0x00000000 Code RO 125 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
0x08000100 0x08000100 0x00000004 Code RO 114 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000104 0x08000104 0x0000004c Code RO 66 .text startup-rvds.o
0x08000150 0x08000150 0x00000024 Code RO 129 .text mc_w.l(init.o)
0x08000174 0x08000174 0x00000074 Code RO 73 i.CLOCK_Configure DriverJeuLaser.lib(clock.o)
0x080001e8 0x080001e8 0x00000074 Code RO 79 i.CLOCK_HPRECompute DriverJeuLaser.lib(clock.o)
0x0800025c 0x0800025c 0x00000010 Code RO 95 i.GPIOB_Clear DriverJeuLaser.lib(gpio.o)
0x0800026c 0x0800026c 0x00000010 Code RO 96 i.GPIOB_Set DriverJeuLaser.lib(gpio.o)
0x0800027c 0x0800027c 0x00000108 Code RO 99 i.GPIO_Configure DriverJeuLaser.lib(gpio.o)
0x08000384 0x08000384 0x0000000e Code RO 133 i.__scatterload_copy mc_w.l(handlers.o)
0x08000392 0x08000392 0x00000002 Code RO 134 i.__scatterload_null mc_w.l(handlers.o)
0x08000394 0x08000394 0x0000000e Code RO 135 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x080003a2 0x080003a2 0x00000002 PAD
0x080003a4 0x080003a4 0x0000002c Code RO 4 i.main principal.o
0x080003d0 0x080003d0 0x00000018 Code RO 59 moncode delay.o
0x080003e8 0x080003e8 0x00000020 Data RO 131 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000408, Size: 0x00000408, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08000408 0x00000004 Data RW 58 maram delay.o
0x20000004 0x0800040c 0x00000004 PAD
0x20000008 - 0x00000400 Zero RW 63 STACK startup-rvds.o
==============================================================================
Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
24 8 0 4 0 312 delay.o
44 4 0 0 0 1907 principal.o
76 20 236 0 1024 800 startup-rvds.o
----------------------------------------------------------------------
144 32 268 4 1028 3019 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
232 12 0 0 0 148 clock.o
296 36 0 0 0 220 gpio.o
0 0 0 0 0 0 entry.o
0 0 0 0 0 0 entry10a.o
0 0 0 0 0 0 entry11a.o
4 0 0 0 0 0 entry12b.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
----------------------------------------------------------------------
620 64 0 0 0 436 Library Totals
2 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
528 48 0 0 0 368 DriverJeuLaser.lib
90 16 0 0 0 68 mc_w.l
----------------------------------------------------------------------
620 64 0 0 0 436 Library Totals
----------------------------------------------------------------------
==============================================================================
Code (inc. data) RO Data RW Data ZI Data Debug
764 96 268 4 1028 3347 Grand Totals
764 96 268 4 1028 3347 ELF Image Totals
764 96 268 4 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 1032 ( 1.01kB)
Total RW Size (RW Data + ZI Data) 1032 ( 1.01kB)
Total ROM Size (Code + RO Data + RW Data) 1036 ( 1.01kB)
==============================================================================

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 @@
Dependencies for Project 'BacASable', Target 'Simu': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (.\Src\principal.c)(0x6037E575)(-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)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_Simu\RTE_Components.h)(0x641085AF)
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\Delay.s)(0x64109985)(--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 delay.lst --xref -o .\obj\delay.o --depend .\obj\delay.d)
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)()

View file

@ -0,0 +1 @@
.\obj\delay.o: Src\Delay.s

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,10 @@
.\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\_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
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h

Binary file not shown.

View file

@ -0,0 +1 @@
.\obj\startup-rvds.o: Src\startup-rvds.s

Binary file not shown.

View file

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

View file

@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'BacASable'
* 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 */

View file

@ -0,0 +1,74 @@
; Pile par 8 bit
PRESERVE8
; instruction set comme ARM set
; il est principalement sur 16 bit
THUMB
; ====================== zone de réservation de données, ======================================
;Section RAM (read only) :
area mesdata,data,readonly
;Section RAM (read write):
area maram,data,readwrite
; On donne une zone mémoire à VarTime (elle est aligné)
VarTime dcd 0
; ===============================================================================================
;constantes (équivalent du #define en C)
TimeValue equ 900000
EXPORT Delay_100ms ; la fonction Delay_100ms est rendue publique donc utilisable par d'autres modules.
;Section ROM code (read only) :
area moncode,code,readonly
; REMARQUE IMPORTANTE
; Cette manière de créer une temporisation n'est clairement pas la bonne manière de procéder :
; - elle est peu précise
; - la fonction prend tout le temps CPU pour... ne rien faire...
;
; Pour autant, la fonction montre :
; - les boucles en ASM
; - l'accés écr/lec de variable en RAM
; - le mécanisme d'appel / retour sous programme
;
; et donc possède un intérêt pour débuter en ASM pur
Delay_100ms proc
; On charge la valeur du poiteur
ldr r0,=VarTime
EXPORT VarTime
ldr r1,=TimeValue
; On initialise un pointeur sur TimeValue
str r1,[r0]
BoucleTempo
; On charge la valeur pointer par le pointeur passer en argument
; R1 à le nombre de boucle qu'il reste à faire (TimeValue)
ldr r1,[r0]
; On enlève à r1 1 pour tester la fin de la boucle
subs r1,#1
str r1,[r0]
; si la valeur est non nul on relance la boucle, car pas terminer
bne BoucleTempo
; sinon on fini la fonction
; lr pointe l'endroit qui à appeller la fonction
; on y retourne à la fin de la fonction
bx lr
endp
END

View file

@ -0,0 +1,33 @@
#include "DriverJeuLaser.h"
extern void Delay_100ms(void);
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();
// configuration de PortB.1 (PB1) en sortie push-pull
GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL);
//============================================================================
while (1)
{
Delay_100ms();
GPIOB_Set(1);
Delay_100ms();
GPIOB_Clear(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*****

196
PjtKEIL_StepDeb_1/delay.lst Normal file
View file

@ -0,0 +1,196 @@
ARM Macro Assembler Page 1
1 00000000 ; Pile par 8 bit
2 00000000 PRESERVE8
3 00000000 ; instruction set comme ARM set
4 00000000 ; il est principalement sur 16 bit
5 00000000 THUMB
6 00000000
7 00000000
8 00000000 ; ====================== zone de réservation de données,
======================================
9 00000000 ;Section RAM (read only) :
10 00000000 area mesdata,data,readonly
11 00000000
12 00000000
13 00000000 ;Section RAM (read write):
14 00000000 area maram,data,readwrite
15 00000000
16 00000000 ; On donne une zone mémoire à VarTime (elle est aligné)
17 00000000 00000000
VarTime dcd 0
18 00000004
19 00000004
20 00000004 ; ======================================================
=========================================
21 00000004
22 00000004 ;constantes (équivalent du #define en C)
23 00000004 000DBBA0
TimeValue
equ 900000
24 00000004
25 00000004
26 00000004 EXPORT Delay_100ms ; la fonction Delay
_100ms est rendue p
ublique donc utilis
able par d'autres m
odules.
27 00000004
28 00000004
29 00000004 ;Section ROM code (read only) :
30 00000004 area moncode,code,readonly
31 00000000
32 00000000
33 00000000
34 00000000 ; REMARQUE IMPORTANTE
35 00000000 ; Cette manière de créer une temporisation n'est clairem
ent pas la bonne manière de procéder :
36 00000000 ; - elle est peu précise
37 00000000 ; - la fonction prend tout le temps CPU pour... ne rien
faire...
38 00000000 ;
39 00000000 ; Pour autant, la fonction montre :
40 00000000 ; - les boucles en ASM
41 00000000 ; - l'accés écr/lec de variable en RAM
42 00000000 ; - le mécanisme d'appel / retour sous programme
43 00000000 ;
44 00000000 ; et donc possède un intérêt pour débuter en ASM pur
45 00000000
46 00000000
47 00000000 Delay_100ms
proc
ARM Macro Assembler Page 2
48 00000000 ; On charge la valeur du poiteur
49 00000000
50 00000000 4803 ldr r0,=VarTime
51 00000002 EXPORT VarTime
52 00000002
53 00000002
54 00000002 4904 ldr r1,=TimeValue
55 00000004 ; On initialise un pointeur sur TimeValue
56 00000004 6001 str r1,[r0]
57 00000006
58 00000006 BoucleTempo
59 00000006 ; On charge la valeur pointer par le pointeur passer en
argument
60 00000006 ; R1 à le nombre de boucle qu'il reste à faire (TimeValu
e)
61 00000006 6801 ldr r1,[r0]
62 00000008 ; On enlève à r1 1 pour tester la fin de la boucle
63 00000008 3901 subs r1,#1
64 0000000A 6001 str r1,[r0]
65 0000000C ; si la valeur est non nul on relance la boucle, car pas
terminer
66 0000000C D1FB bne BoucleTempo
67 0000000E ; sinon on fini la fonction
68 0000000E ; lr pointe l'endroit qui à appeller la fonction
69 0000000E ; on y retourne à la fin de la fonction
70 0000000E 4770 bx lr
71 00000010 endp
72 00000010
73 00000010
74 00000010 END
00000000
000DBBA0
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=.\obj\delay.d -o.\obj\delay.o -I.\RTE\_Simu -IC:\Programdata\Keil\
Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Ke
il\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL 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=del
ay.lst Src\Delay.s
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
mesdata 00000000
Symbol: mesdata
Definitions
At line 10 in file Src\Delay.s
Uses
None
Comment: mesdata unused
1 symbol
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
VarTime 00000000
Symbol: VarTime
Definitions
At line 17 in file Src\Delay.s
Uses
At line 50 in file Src\Delay.s
At line 51 in file Src\Delay.s
maram 00000000
Symbol: maram
Definitions
At line 14 in file Src\Delay.s
Uses
None
Comment: maram unused
2 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
BoucleTempo 00000006
Symbol: BoucleTempo
Definitions
At line 58 in file Src\Delay.s
Uses
At line 66 in file Src\Delay.s
Comment: BoucleTempo used once
Delay_100ms 00000000
Symbol: Delay_100ms
Definitions
At line 47 in file Src\Delay.s
Uses
At line 26 in file Src\Delay.s
Comment: Delay_100ms used once
moncode 00000000
Symbol: moncode
Definitions
At line 30 in file Src\Delay.s
Uses
None
Comment: moncode unused
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Absolute symbols
TimeValue 000DBBA0
Symbol: TimeValue
Definitions
At line 23 in file Src\Delay.s
Uses
At line 54 in file Src\Delay.s
Comment: TimeValue used once
1 symbol
344 symbols in table

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,697 @@
<?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>0</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/>
<MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber>
<SubType>0</SubType>
<ItemText>0x200000A0</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>00800000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F1700000000000000000000000000000000000000080A0008</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>1</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>0x200000A0</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>
<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>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>2</FileType>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Src\Cligno.s</PathWithFileName>
<FilenameWithoutPath>Cligno.s</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>3</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>4</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>::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

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,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,9 @@
<?xml version="1.0" encoding="utf-8"?>
<component_viewer schemaVersion="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">
<component name="EventRecorderStub" version="1.0.0"/> <!--name and version of the component-->
<events>
</events>
</component_viewer>

Binary file not shown.

View file

@ -0,0 +1,63 @@
<html>
<body>
<pre>
<h1>µVision Build Log</h1>
<h2>Tool Versions:</h2>
IDE-Version: µVision V5.34.0.0
Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: CSN CSN, INSA de Toulouse, LIC=----
Tool Versions:
Toolchain: MDK-Lite Version: 5.34.0.0
Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 7 (build 960)
Assembler: Armasm.exe V5.06 update 7 (build 960)
Linker/Locator: ArmLink.exe V5.06 update 7 (build 960)
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
Dialog DLL: TCM.DLL V1.48.0.0
<h2>Project:</h2>
U:\3MIC\BE_CHTI\Assembleur\PjtKEIL_StepDeb_2\BacASable.uvprojx
Project File Date: 03/31/2023
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'CibleSondeKEIL'
assembling Cligno.s...
Src\Cligno.s(88): warning: A1581W: Added 2 bytes of padding at address 0x2a
assembling startup-rvds.s...
compiling principal.c...
linking...
Program Size: Code=2436 RO-data=268 RW-data=164 ZI-data=1028
FromELF: creating hex file...
".\Obj\BacASable.axf" - 0 Error(s), 1 Warning(s).
<h2>Software Packages used:</h2>
Package Vendor: ARM
http://www.keil.com/pack/ARM.CMSIS.5.7.0.pack
ARM.CMSIS.5.7.0
CMSIS (Cortex Microcontroller Software Interface Standard)
* Component: CORE Version: 5.4.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\_CibleSondeKEIL
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
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.4.0
Build Time Elapsed: 00:00:01
</pre>
</body>
</html>

View file

@ -0,0 +1,183 @@
:020000040800F2
:10000000A804002005010008290100082B010008B0
:100010002D0100082F010008310100080000000038
:100020000000000000000000000000003301000894
:100030003501000800000000370100083901000800
:100040003B0100083B0100083B0100083B010008A0
:100050003B0100083B0100083B0100083B01000890
:100060003B0100083B0100083B0100083B01000880
:100070003B0100083B0100083B0100083B01000870
:100080003B0100083B0100083B0100083B01000860
:100090003B0100083B0100083B0100083B01000850
:1000A0003B010008ED0500083B010008E1040008E1
:1000B0000506000815070008410800083B01000874
:1000C0003B0100083B0100083B0100083B01000820
:1000D0003B0100083B0100083B0100083B01000810
:1000E0003B0100083B0100083B010008DFF810D08D
:1000F00000F02EF800480047090A0008AFF300801E
:10010000A80400200D488047DFF83400016841F45E
:10011000E0210160BFF34F8FDFF82800DFF82810DF
:1001200001600A4800477047FEE7FEE7FEE7FEE78A
:10013000FEE7FEE7FEE7FEE7FEE7FEE72701000831
:1001400024ED00E00CED00E00003FA05ED000008EE
:10015000064C074D06E0E06840F0010394E8070014
:1001600098471034AC42F6D3FFF7C4FF700A00087A
:10017000900A00082DE9F041DFF8C4C0314B60451A
:1001800003D19C6944F400649C614FF08046B04206
:1001900003D1DC6944F00104DC612B4DA84203D19A
:1001A000DC6944F00204DC61284FB84203D1DC6909
:1001B00044F00404DC61838943F0010383810F2947
:1001C00000D90F21224C4FF0E02360450CD1226171
:1001D000DFF880804FEA011C88F800C0D3F800C126
:1001E0004CF0007CC3F800C1B0420DD16261DFF871
:1001F00064C00E010CF1030C8CF80060D3F80061B0
:1002000046F08056C3F80061A8420AD1A261114E9F
:100210000D01361D3570D3F8005145F00055C3F877
:100220000051B8420AD1E26108010A49491D08702B
:10023000D3F8000140F08040C3F80001BDE8F08130
:10024000002C014000100240000400400008004063
:100250000000002019E400E070B5194C83202060F4
:1002600000256560A56017486060012000F044F833
:1002700061680843606014490D60086840F002003E
:100280000860206840F48030206020688003FCD53E
:10029000206840F08070206020688001FCD5606894
:1002A00020F003006060606840F0020060606068F9
:1002B00040F480006060086840F01000086070BD85
:1002C0000010024000841D000020024000487047DA
:1002D00000A24A040549064A884202D005498842DC
:1002E00001D110467047104670470000002C0140B5
:1002F00000A24A0400340140012804D0B0F5807FF8
:1003000003DD012102E000202CE00021802801DD36
:10031000012200E000220A44402801DD012100E022
:1003200000210A44102801DD012100E000210A44D7
:10033000082801DD012100E000210A44042801DD34
:10034000012100E000210A44022801DD012100E032
:1003500000211144012801DD012000E000200844B3
:10036000C01D0001702800D100207047012181408C
:1003700001480160704700001408014001218140DC
:1003800001480160704700001008014001218140D0
:100390000148016070470000140C014001218140B8
:1003A0000148016070470000100C014001218140AC
:1003B0000148416170470000001001400121814067
:1003C000014801617047000000100140F0B53B4E4C
:1003D0003B4CB04203D1A66946F00406A661394EF3
:1003E000B04203D1A66946F00806A661364EB04277
:1003F00003D1A66946F01006A661344EB04203D17F
:10040000A66946F02006A661314EB04203D1A66926
:1004100046F04006A66100240F2900DD0124692A68
:1004200001D0492A02D1032B00D10124032B00DD86
:100430000124692A06D0492A04D06F2A02D04F2A03
:1004400000D00124692A01D0492A00D100256F2A51
:1004500001D04F2A00D1012503260222082915DAEE
:10046000076802EB810206FA02FC27EA0C07076024
:10047000076893401F430760026889008E40B243BB
:10048000026002688D402A43026015E0083947681F
:1004900002EB810206FA02FC27EA0C074760476874
:1004A00093401F434760426889008E40B2434260D8
:1004B00042688D402A4342602046F0BD000801405A
:1004C00000100240000C01400010014000140140E7
:1004D0000018014001490880704700003C040040BA
:1004E00070B53B4908883B4C82073B4DA4F1200680
:1004F000A4F1800018D50A8822F002020A8001784F
:10050000012901D1006A804728888107334802D435
:100510000088208003E000882188401A30802888E5
:1005200080F00200288070BD0A88520718D50A881A
:1005300022F004020A804178012901D1406A8047F3
:1005400028888106264802D40088608003E000885D
:100550006188401A7080288880F02000288070BD53
:100560000A88120718D50A8822F008020A808178C2
:10057000032901D1806A804728888105194802D45F
:100580000088A08003E00088A188401AB0802888F5
:1005900080F40070288070BD0A88D206FBD50A88D6
:1005A00022F010020A80C178012901D1C06A804777
:1005B000288881040C4802D40088E08003E0008889
:1005C000E188401AF080288880F40050288070BDAF
:1005D000102C014080000020202C0140342C0140D0
:1005E000382C01403C2C0140402C0140034801883C
:1005F00021F001010180024800690047102C0140F0
:100600000000002070B54FF08045288AC10740489F
:100610000AD0A989C90707D0298A21F001012982B6
:100620004069BDE870400047298A394C8A0738493B
:1006300004F18804A4F12006497916D52A8A22F00B
:1006400002022A82012901D1006B8047288C800791
:1006500002D4A88E208003E0A88E2188401A308022
:10066000288C80F00200288470BD2A8A520716D593
:100670002A8A22F004022A82012901D1406B804794
:10068000288C800602D4288F608003E0288F618840
:10069000401A7080288C80F02000288470BD298A40
:1006A000090717D5298A21F00801298281790129B2
:1006B00001D1806B8047288C800502D4A88FA08050
:1006C00003E0A88FA188401AB080288C80F40070C5
:1006D000288470BD298AC906FBD5298A21F010011A
:1006E0002982C179012901D1C06B8047288C8004FF
:1006F00003D4B5F84000E08004E0B5F84000E1889C
:10070000401AF080288C80F40050288470BD0000CE
:100710000000002070B543490888C20742480BD04A
:100720000A1F1288D20707D00A8822F001020A8025
:100730008069BDE8704000470A883B4C3B4D04F19E
:1007400090049207A4F1200618D50A8822F002022C
:100750000A80017A012901D1006C8047288881072D
:10076000334802D40088208003E000882188401AA2
:100770003080288880F00200288070BD0A885207E7
:1007800018D50A8822F004020A80417A012901D191
:10079000406C804728888106264802D40088608003
:1007A00003E000886188401A7080288880F020006B
:1007B000288070BD0A88120718D50A8822F008021E
:1007C0000A80817A012901D1806C804728888105BF
:1007D000194802D40088A08003E00088A188401A4C
:1007E000B080288880F40070288070BD0A88D20606
:1007F000FBD50A8822F010020A80C17A012901D1B2
:10080000C06C8047288881040C4802D40088E080AE
:1008100003E00088E188401AF080288880F40050C6
:10082000288070BD1004004000000020200400401B
:1008300034040040380400403C04004040040040C0
:1008400070B543490888C20742480BD00A1F128876
:10085000D20707D00A8822F001020A80C069BDE8E9
:10086000704000470A883B4C3B4D04F198049207C6
:10087000A4F1200618D50A8822F002020A80017B22
:10088000012901D1006D804728888107334802D4AF
:100890000088208003E000882188401A3080288862
:1008A00080F00200288070BD0A88520718D50A8897
:1008B00022F004020A80417B012901D1406D80476A
:1008C00028888106264802D40088608003E00088DA
:1008D0006188401A7080288880F02000288070BDD0
:1008E0000A88120718D50A8822F008020A80817B3C
:1008F000012901D1806D804728888105194802D4DB
:100900000088A08003E00088A188401AB080288871
:1009100080F40070288070BD0A88D206FBD50A8852
:1009200022F010020A80C17B012901D1C06D8047ED
:10093000288881040C4802D40088E08003E0008805
:10094000E188401AF080288880F40050288070BD2B
:10095000100800400000002020080040340800403B
:10096000380800403C0800404008004070B504468C
:100970000D46194919488C4203D1816941F400613F
:100980008161B4F1804F03D1C16941F00101C161BE
:1009900013498C4203D1C16941F00201C16111497F
:1009A0008C4203D1C16941F00401C161FFF78EFCA3
:1009B00006462046FFF78EFCB6FBF0F0B5FBF0F0E4
:1009C000010C4A1CB0FBF2F02185401EA085A084DA
:1009D0001120208070BD0000002C0140001002405A
:1009E000000400400008004002E008C8121F08C1CF
:1009F000002AFAD170477047002001E001C1121FA0
:100A0000002AFBD170470000FFF726FC084909487F
:100A1000FFF7ACFF084A02210648FFF7ABFB0023B3
:100A20006F2201210548FFF7D1FC00BFFEE700005F
:100A300000DD6D0000080040410A0008000C014084
:100A400000B50A4A11784FF00100012905D14FF095
:100A500000011160FFF7A2FC04E04FF001011160FA
:100A6000FFF794FC5DF804EB70470000A000002045
:100A7000900A000800000020A4000000E809000817
:100A8000340B0008A400002004040000F80900084A
:100A90000000000000000000000000000000000056
:100AA0000000000000000000000000000000000046
:100AB0000000000000000000000000000000000036
:100AC0000000000000000000000000000000000026
:100AD0000000000000000000000000000000000016
:100AE0000000000000000000000000000000000006
:100AF00000000000000000000000000000000000F6
:100B000000000000000000000000000000000000E5
:100B100000000000000000000000000000000000D5
:100B200000000000000000000000000000000000C5
:040B300000000000C1
:04000005080000ED02
:00000001FF

View file

@ -0,0 +1,420 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Obj\BacASable.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Obj\BacASable.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Fri Mar 31 17:42:37 2023
<BR><P>
<H3>Maximum Stack Usage = 24 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main &rArr; Active_IT_Debordement_Timer
<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-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[4]">BusFault_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1f]">CAN1_RX1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[20]">CAN1_SCE_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[15]">DMA1_Channel1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[16]">DMA1_Channel2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[17]">DMA1_Channel3_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[18]">DMA1_Channel4_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[19]">DMA1_Channel5_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1a]">DMA1_Channel6_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1b]">DMA1_Channel7_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[7]">DebugMon_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[10]">EXTI0_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[32]">EXTI15_10_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[11]">EXTI1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[12]">EXTI2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[13]">EXTI3_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[14]">EXTI4_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[21]">EXTI9_5_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[e]">FLASH_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2]">HardFault_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2a]">I2C1_ER_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[29]">I2C1_EV_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2c]">I2C2_ER_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2b]">I2C2_EV_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[3]">MemManage_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1]">NMI_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[b]">PVD_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[8]">PendSV_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[f]">RCC_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[33]">RTCAlarm_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[d]">RTC_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[0]">Reset_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2d]">SPI1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2e]">SPI2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[6]">SVC_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[9]">SysTick_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[36]">SystemInit</a> from startup-rvds.o(.text) referenced from startup-rvds.o(.text)
<LI><a href="#[c]">TAMPER_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[22]">TIM1_BRK_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[25]">TIM1_CC_IRQHandler</a> from timer_1234.o(i.TIM1_CC_IRQHandler) referenced from startup-rvds.o(RESET)
<LI><a href="#[24]">TIM1_TRG_COM_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[23]">TIM1_UP_IRQHandler</a> from timer_1234.o(i.TIM1_UP_IRQHandler) referenced from startup-rvds.o(RESET)
<LI><a href="#[26]">TIM2_IRQHandler</a> from timer_1234.o(i.TIM2_IRQHandler) referenced from startup-rvds.o(RESET)
<LI><a href="#[27]">TIM3_IRQHandler</a> from timer_1234.o(i.TIM3_IRQHandler) referenced from startup-rvds.o(RESET)
<LI><a href="#[28]">TIM4_IRQHandler</a> from timer_1234.o(i.TIM4_IRQHandler) referenced from startup-rvds.o(RESET)
<LI><a href="#[2f]">USART1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[30]">USART2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[31]">USART3_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[34]">USBWakeUp_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1d]">USB_HP_CAN1_TX_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1e]">USB_LP_CAN1_RX0_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[5]">UsageFault_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[a]">WWDG_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[37]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup-rvds.o(.text)
<LI><a href="#[35]">main</a> from principal.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
<LI><a href="#[38]">timer_callback</a> from cligno.o(moncode) referenced from principal.o(i.main)
</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-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="[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
</UL>
<P><STRONG><a name="[3b]"></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="#[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_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>__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_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)
</UL>
<P><STRONG><a name="[36]"></a>SystemInit</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(.text)
</UL>
<P><STRONG><a name="[1]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2]"></a>HardFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[3]"></a>MemManage_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[4]"></a>BusFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[5]"></a>UsageFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[6]"></a>SVC_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[7]"></a>DebugMon_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[8]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[9]"></a>SysTick_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>CAN1_RX1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>CAN1_SCE_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[15]"></a>DMA1_Channel1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[16]"></a>DMA1_Channel2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[17]"></a>DMA1_Channel3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[18]"></a>DMA1_Channel4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[19]"></a>DMA1_Channel5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1a]"></a>DMA1_Channel6_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1b]"></a>DMA1_Channel7_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[10]"></a>EXTI0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[32]"></a>EXTI15_10_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[11]"></a>EXTI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[12]"></a>EXTI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[13]"></a>EXTI3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[14]"></a>EXTI4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[21]"></a>EXTI9_5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[e]"></a>FLASH_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2a]"></a>I2C1_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[29]"></a>I2C1_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2c]"></a>I2C2_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2b]"></a>I2C2_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[b]"></a>PVD_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[f]"></a>RCC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[33]"></a>RTCAlarm_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[d]"></a>RTC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2d]"></a>SPI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2e]"></a>SPI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[c]"></a>TAMPER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[22]"></a>TIM1_BRK_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[24]"></a>TIM1_TRG_COM_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2f]"></a>USART1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[30]"></a>USART2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[31]"></a>USART3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[34]"></a>USBWakeUp_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1d]"></a>USB_HP_CAN1_TX_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1e]"></a>USB_LP_CAN1_RX0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[3a]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL>
<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="[41]"></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
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3c]"></a>CLOCK_Configure</STRONG> (Thumb, 104 bytes, Stack size 16 bytes, clock.o(i.CLOCK_Configure))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = CLOCK_Configure
</UL>
<BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_HPRECompute
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3f]"></a>CLOCK_GetHCLK</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, clock.o(i.CLOCK_GetHCLK))
<BR><BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer_1234_Init_ff
</UL>
<P><STRONG><a name="[40]"></a>CLOCK_GetTIMCLK</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, clock.o(i.CLOCK_GetTIMCLK))
<BR><BR>[Called By]<UL><LI><a href="#[3e]">&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_Set</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOA_Set), UNUSED)
<P><STRONG><a name="[44]"></a>GPIOB_Clear</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Clear))
<BR><BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_callback
</UL>
<P><STRONG><a name="[43]"></a>GPIOB_Set</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Set))
<BR><BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_callback
</UL>
<P><STRONG><a name="[4f]"></a>GPIOC_Clear</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOC_Clear), UNUSED)
<P><STRONG><a name="[50]"></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
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[51]"></a>PWM_Set_Value_TIM3_Ch3</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, timer_1234.o(i.PWM_Set_Value_TIM3_Ch3), UNUSED)
<P><STRONG><a name="[25]"></a>TIM1_CC_IRQHandler</STRONG> (Thumb, 240 bytes, Stack size 16 bytes, timer_1234.o(i.TIM1_CC_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIM1_CC_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[23]"></a>TIM1_UP_IRQHandler</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, timer_1234.o(i.TIM1_UP_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[26]"></a>TIM2_IRQHandler</STRONG> (Thumb, 266 bytes, Stack size 16 bytes, timer_1234.o(i.TIM2_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIM2_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>TIM3_IRQHandler</STRONG> (Thumb, 272 bytes, Stack size 16 bytes, timer_1234.o(i.TIM3_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIM3_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 272 bytes, Stack size 16 bytes, timer_1234.o(i.TIM4_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIM4_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[3e]"></a>Timer_1234_Init_ff</STRONG> (Thumb, 106 bytes, Stack size 16 bytes, timer_1234.o(i.Timer_1234_Init_ff))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Timer_1234_Init_ff
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_GetTIMCLK
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_GetHCLK
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[52]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[53]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[54]"></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, 38 bytes, Stack size 0 bytes, principal.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = main &rArr; Active_IT_Debordement_Timer
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer_1234_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
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Active_IT_Debordement_Timer
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P><STRONG><a name="[38]"></a>timer_callback</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, cligno.o(moncode))
<BR><BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIOB_Set
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIOB_Clear
</UL>
<BR>[Address Reference Count : 1]<UL><LI> principal.o(i.main)
</UL><P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[3d]"></a>CLOCK_HPRECompute</STRONG> (Thumb, 116 bytes, Stack size 0 bytes, clock.o(i.CLOCK_HPRECompute))
<BR><BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_Configure
</UL>
<P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>

View file

@ -0,0 +1,9 @@
--cpu Cortex-M3
".\obj\principal.o"
".\obj\cligno.o"
".\obj\startup-rvds.o"
".\Driver\DriverJeuLaser.lib"
--library_type=microlib --strict --scatter ".\Obj\BacASable.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list "BacASable.map" -o .\Obj\BacASable.axf

View file

@ -0,0 +1,540 @@
Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601]
==============================================================================
Section Cross References
principal.o(i.main) refers to clock.o(i.CLOCK_Configure) for CLOCK_Configure
principal.o(i.main) refers to timer_1234.o(i.Timer_1234_Init_ff) for Timer_1234_Init_ff
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 gpio.o(i.GPIO_Configure) for GPIO_Configure
principal.o(i.main) refers to cligno.o(moncode) for timer_callback
cligno.o(mesdata) refers (Special) to gpio.o(i.GPIOA_Clear) for GPIOA_Clear
cligno.o(mesdata) refers (Special) to gpio.o(i.GPIOA_Set) for GPIOA_Set
cligno.o(mesdata) refers (Special) to gpio.o(i.GPIOC_Clear) for GPIOC_Clear
cligno.o(mesdata) refers (Special) to gpio.o(i.GPIOC_Set) for GPIOC_Set
cligno.o(mesdata) refers (Special) to timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) for PWM_Set_Value_TIM3_Ch3
cligno.o(maram) refers (Special) to gpio.o(i.GPIOA_Clear) for GPIOA_Clear
cligno.o(maram) refers (Special) to gpio.o(i.GPIOA_Set) for GPIOA_Set
cligno.o(maram) refers (Special) to gpio.o(i.GPIOC_Clear) for GPIOC_Clear
cligno.o(maram) refers (Special) to gpio.o(i.GPIOC_Set) for GPIOC_Set
cligno.o(maram) refers (Special) to timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) for PWM_Set_Value_TIM3_Ch3
cligno.o(moncode) refers (Special) to gpio.o(i.GPIOA_Clear) for GPIOA_Clear
cligno.o(moncode) refers (Special) to gpio.o(i.GPIOA_Set) for GPIOA_Set
cligno.o(moncode) refers (Special) to gpio.o(i.GPIOC_Clear) for GPIOC_Clear
cligno.o(moncode) refers (Special) to gpio.o(i.GPIOC_Set) for GPIOC_Set
cligno.o(moncode) refers (Special) to timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) for PWM_Set_Value_TIM3_Ch3
cligno.o(moncode) refers to gpio.o(i.GPIOB_Set) for GPIOB_Set
cligno.o(moncode) refers to gpio.o(i.GPIOB_Clear) for GPIOB_Clear
cligno.o(moncode) refers to cligno.o(maram) for FlagCligno
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
startup-rvds.o(RESET) refers to timer_1234.o(i.TIM1_CC_IRQHandler) for TIM1_CC_IRQHandler
startup-rvds.o(RESET) refers to timer_1234.o(i.TIM2_IRQHandler) for TIM2_IRQHandler
startup-rvds.o(RESET) refers to timer_1234.o(i.TIM3_IRQHandler) for TIM3_IRQHandler
startup-rvds.o(RESET) refers to timer_1234.o(i.TIM4_IRQHandler) for TIM4_IRQHandler
startup-rvds.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main
clock.o(i.CLOCK_Configure) refers to clock.o(i.CLOCK_HPRECompute) for CLOCK_HPRECompute
timer_1234.o(i.Active_IT_Compare_Timer) refers to timer_1234.o(.data) for .data
timer_1234.o(i.Active_IT_Debordement_Timer) refers to timer_1234.o(.data) for .data
timer_1234.o(i.Capture_Init) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK
timer_1234.o(i.Capture_Init) refers to dfltui.o(.text) for __aeabi_ui2d
timer_1234.o(i.Capture_Init) refers to f2d.o(.text) for __aeabi_f2d
timer_1234.o(i.Capture_Init) refers to dmul.o(.text) for __aeabi_dmul
timer_1234.o(i.Capture_Init) refers to ddiv.o(.text) for __aeabi_ddiv
timer_1234.o(i.Capture_Init) refers to d2f.o(.text) for __aeabi_d2f
timer_1234.o(i.Capture_Init) refers to ffltui.o(.text) for __aeabi_ui2f
timer_1234.o(i.Capture_Init) refers to fmul.o(.text) for __aeabi_fmul
timer_1234.o(i.Capture_Init) refers to ffixui.o(.text) for __aeabi_f2uiz
timer_1234.o(i.Capture_Init) refers to ffixi.o(.text) for __aeabi_f2iz
timer_1234.o(i.Lire_Duree_Pulse) refers to timer_1234.o(.data) for .data
timer_1234.o(i.PWM_Init) refers to f2d.o(.text) for __aeabi_f2d
timer_1234.o(i.PWM_Init) refers to ddiv.o(.text) for __aeabi_ddiv
timer_1234.o(i.PWM_Init) refers to d2f.o(.text) for __aeabi_d2f
timer_1234.o(i.PWM_Init) refers to timer_1234.o(i.Timer_1234_Init) for Timer_1234_Init
timer_1234.o(i.PWM_Init_ff) refers to timer_1234.o(i.Timer_1234_Init_ff) for Timer_1234_Init_ff
timer_1234.o(i.TIM1_CC_IRQHandler) refers to timer_1234.o(.data) for .data
timer_1234.o(i.TIM1_UP_IRQHandler) refers to timer_1234.o(.data) for .data
timer_1234.o(i.TIM2_IRQHandler) refers to timer_1234.o(.data) for .data
timer_1234.o(i.TIM3_IRQHandler) refers to timer_1234.o(.data) for .data
timer_1234.o(i.TIM4_IRQHandler) refers to timer_1234.o(.data) for .data
timer_1234.o(i.Timer_1234_Init) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK
timer_1234.o(i.Timer_1234_Init) refers to ffltui.o(.text) for __aeabi_ui2f
timer_1234.o(i.Timer_1234_Init) refers to fmul.o(.text) for __aeabi_fmul
timer_1234.o(i.Timer_1234_Init) refers to f2d.o(.text) for __aeabi_f2d
timer_1234.o(i.Timer_1234_Init) refers to ddiv.o(.text) for __aeabi_ddiv
timer_1234.o(i.Timer_1234_Init) refers to d2f.o(.text) for __aeabi_d2f
timer_1234.o(i.Timer_1234_Init) refers to fscalb.o(.text) for __ARM_scalbnf
timer_1234.o(i.Timer_1234_Init) refers to ffixui.o(.text) for __aeabi_f2uiz
timer_1234.o(i.Timer_1234_Init) refers to fdiv.o(.text) for __aeabi_fdiv
timer_1234.o(i.Timer_1234_Init) refers to dfltui.o(.text) for __aeabi_ui2d
timer_1234.o(i.Timer_1234_Init) refers to dadd.o(.text) for __aeabi_dadd
timer_1234.o(i.Timer_1234_Init) refers to dmul.o(.text) for __aeabi_dmul
timer_1234.o(i.Timer_1234_Init_ff) refers to clock.o(i.CLOCK_GetHCLK) for CLOCK_GetHCLK
timer_1234.o(i.Timer_1234_Init_ff) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000F) for __rt_final_cpp
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$00000011) for __rt_final_exit
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini
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
fmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
fdiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
fdiv.o(.text) refers to fepilogue.o(.text) for _float_round
fscalb.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dadd.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl
dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr
dadd.o(.text) refers to depilogue.o(.text) for _double_epilogue
dmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue
ddiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
ddiv.o(.text) refers to depilogue.o(.text) for _double_round
ffltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
ffltui.o(.text) refers to fepilogue.o(.text) for _float_epilogue
dfltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dfltui.o(.text) refers to depilogue.o(.text) for _double_epilogue
ffixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
ffixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
f2d.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
d2f.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
d2f.o(.text) refers to fepilogue.o(.text) for _float_round
entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000
entry2.o(.ARM.Collect$$$$00002712) refers to startup-rvds.o(STACK) for __initial_sp
entry2.o(__vectab_stack_and_reset_area) refers to startup-rvds.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 principal.o(i.main) for main
entry9b.o(.ARM.Collect$$$$0000000C) refers to principal.o(i.main) for main
depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl
depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr
init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload
==============================================================================
Removing Unused input sections from the image.
Removing principal.o(.rev16_text), (4 bytes).
Removing principal.o(.revsh_text), (4 bytes).
Removing principal.o(.rrx_text), (6 bytes).
Removing cligno.o(mesdata), (0 bytes).
Removing startup-rvds.o(HEAP), (512 bytes).
Removing clock.o(.rev16_text), (4 bytes).
Removing clock.o(.revsh_text), (4 bytes).
Removing clock.o(.rrx_text), (6 bytes).
Removing clock.o(i.CLOCK_GetADCCLK), (8 bytes).
Removing clock.o(i.CLOCK_GetPCLK1), (8 bytes).
Removing clock.o(i.CLOCK_GetPCLK2), (8 bytes).
Removing gpio.o(.rev16_text), (4 bytes).
Removing gpio.o(.revsh_text), (4 bytes).
Removing gpio.o(.rrx_text), (6 bytes).
Removing timer_1234.o(.rev16_text), (4 bytes).
Removing timer_1234.o(.revsh_text), (4 bytes).
Removing timer_1234.o(.rrx_text), (6 bytes).
Removing timer_1234.o(i.Active_IT_Compare_Timer), (492 bytes).
Removing timer_1234.o(i.Capture_Init), (484 bytes).
Removing timer_1234.o(i.Lire_Duree_Pulse), (96 bytes).
Removing timer_1234.o(i.PWM_Complementaire_Timer1), (60 bytes).
Removing timer_1234.o(i.PWM_Init), (200 bytes).
Removing timer_1234.o(i.PWM_Init_ff), (172 bytes).
Removing timer_1234.o(i.Timer_1234_Init), (268 bytes).
Removing timer_1234.o(i.Timer_Inc_Init), (180 bytes).
Removing fmul.o(.text), (100 bytes).
Removing fdiv.o(.text), (124 bytes).
Removing fscalb.o(.text), (24 bytes).
Removing dadd.o(.text), (334 bytes).
Removing dmul.o(.text), (228 bytes).
Removing ddiv.o(.text), (222 bytes).
Removing ffltui.o(.text), (10 bytes).
Removing dfltui.o(.text), (26 bytes).
Removing ffixi.o(.text), (50 bytes).
Removing ffixui.o(.text), (40 bytes).
Removing f2d.o(.text), (38 bytes).
Removing d2f.o(.text), (56 bytes).
Removing fepilogue.o(.text), (110 bytes).
Removing depilogue.o(.text), (186 bytes).
39 unused section(s) (total 4092 bytes) removed from the image.
==============================================================================
Image Symbol Table
Local Symbols
Symbol Name Value Ov Type Size Object(Section)
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE
../fplib/microlib/f2d.c 0x00000000 Number 0 f2d.o ABSOLUTE
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE
../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE
../fplib/microlib/fpscalb.c 0x00000000 Number 0 fscalb.o ABSOLUTE
Lib\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE
Lib\Timer_1234.c 0x00000000 Number 0 timer_1234.o ABSOLUTE
Lib\\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE
Lib\\Timer_1234.c 0x00000000 Number 0 timer_1234.o ABSOLUTE
Lib\\clock.c 0x00000000 Number 0 clock.o ABSOLUTE
Lib\clock.c 0x00000000 Number 0 clock.o ABSOLUTE
Src\Cligno.s 0x00000000 Number 0 cligno.o ABSOLUTE
Src\\principal.c 0x00000000 Number 0 principal.o ABSOLUTE
Src\principal.c 0x00000000 Number 0 principal.o ABSOLUTE
Src\startup-rvds.s 0x00000000 Number 0 startup-rvds.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
RESET 0x08000000 Section 236 startup-rvds.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$$$$0000000E 0x080000fc Section 4 entry12b.o(.ARM.Collect$$$$0000000E)
.ARM.Collect$$$$0000000F 0x08000100 Section 0 entry10a.o(.ARM.Collect$$$$0000000F)
.ARM.Collect$$$$00000011 0x08000100 Section 0 entry11a.o(.ARM.Collect$$$$00000011)
.ARM.Collect$$$$00002712 0x08000100 Section 4 entry2.o(.ARM.Collect$$$$00002712)
__lit__00000000 0x08000100 Data 4 entry2.o(.ARM.Collect$$$$00002712)
.text 0x08000104 Section 76 startup-rvds.o(.text)
.text 0x08000150 Section 36 init.o(.text)
i.Active_IT_Debordement_Timer 0x08000174 Section 0 timer_1234.o(i.Active_IT_Debordement_Timer)
i.CLOCK_Configure 0x08000258 Section 0 clock.o(i.CLOCK_Configure)
i.CLOCK_GetHCLK 0x080002cc Section 0 clock.o(i.CLOCK_GetHCLK)
i.CLOCK_GetTIMCLK 0x080002d4 Section 0 clock.o(i.CLOCK_GetTIMCLK)
i.CLOCK_HPRECompute 0x080002f8 Section 0 clock.o(i.CLOCK_HPRECompute)
CLOCK_HPRECompute 0x080002f9 Thumb Code 116 clock.o(i.CLOCK_HPRECompute)
i.GPIOA_Clear 0x0800036c Section 0 gpio.o(i.GPIOA_Clear)
i.GPIOA_Set 0x0800037c Section 0 gpio.o(i.GPIOA_Set)
i.GPIOB_Clear 0x0800038c Section 0 gpio.o(i.GPIOB_Clear)
i.GPIOB_Set 0x0800039c Section 0 gpio.o(i.GPIOB_Set)
i.GPIOC_Clear 0x080003ac Section 0 gpio.o(i.GPIOC_Clear)
i.GPIOC_Set 0x080003bc Section 0 gpio.o(i.GPIOC_Set)
i.GPIO_Configure 0x080003cc Section 0 gpio.o(i.GPIO_Configure)
i.PWM_Set_Value_TIM3_Ch3 0x080004d4 Section 0 timer_1234.o(i.PWM_Set_Value_TIM3_Ch3)
i.TIM1_CC_IRQHandler 0x080004e0 Section 0 timer_1234.o(i.TIM1_CC_IRQHandler)
i.TIM1_UP_IRQHandler 0x080005ec Section 0 timer_1234.o(i.TIM1_UP_IRQHandler)
i.TIM2_IRQHandler 0x08000604 Section 0 timer_1234.o(i.TIM2_IRQHandler)
i.TIM3_IRQHandler 0x08000714 Section 0 timer_1234.o(i.TIM3_IRQHandler)
i.TIM4_IRQHandler 0x08000840 Section 0 timer_1234.o(i.TIM4_IRQHandler)
i.Timer_1234_Init_ff 0x0800096c Section 0 timer_1234.o(i.Timer_1234_Init_ff)
i.__scatterload_copy 0x080009e8 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x080009f6 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x080009f8 Section 14 handlers.o(i.__scatterload_zeroinit)
i.main 0x08000a08 Section 0 principal.o(i.main)
moncode 0x08000a40 Section 48 cligno.o(moncode)
.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)
Ptr_TIM3 0x20000018 Data 4 timer_1234.o(.data)
Ptr_TIM4 0x2000001c Data 4 timer_1234.o(.data)
Ptr_TIM1_Voie1 0x20000020 Data 4 timer_1234.o(.data)
Ptr_TIM1_Voie2 0x20000024 Data 4 timer_1234.o(.data)
Ptr_TIM1_Voie3 0x20000028 Data 4 timer_1234.o(.data)
Ptr_TIM1_Voie4 0x2000002c Data 4 timer_1234.o(.data)
Ptr_TIM2_Voie1 0x20000030 Data 4 timer_1234.o(.data)
Ptr_TIM2_Voie2 0x20000034 Data 4 timer_1234.o(.data)
Ptr_TIM2_Voie3 0x20000038 Data 4 timer_1234.o(.data)
Ptr_TIM2_Voie4 0x2000003c Data 4 timer_1234.o(.data)
Ptr_TIM3_Voie1 0x20000040 Data 4 timer_1234.o(.data)
Ptr_TIM3_Voie2 0x20000044 Data 4 timer_1234.o(.data)
Ptr_TIM3_Voie3 0x20000048 Data 4 timer_1234.o(.data)
Ptr_TIM3_Voie4 0x2000004c Data 4 timer_1234.o(.data)
Ptr_TIM4_Voie1 0x20000050 Data 4 timer_1234.o(.data)
Ptr_TIM4_Voie2 0x20000054 Data 4 timer_1234.o(.data)
Ptr_TIM4_Voie3 0x20000058 Data 4 timer_1234.o(.data)
Ptr_TIM4_Voie4 0x2000005c Data 4 timer_1234.o(.data)
Duree_Pulse_T1 0x20000060 Data 8 timer_1234.o(.data)
Duree_Pulse_T2 0x20000068 Data 8 timer_1234.o(.data)
Duree_Pulse_T3 0x20000070 Data 8 timer_1234.o(.data)
Duree_Pulse_T4 0x20000078 Data 8 timer_1234.o(.data)
Date_T1 0x20000080 Data 8 timer_1234.o(.data)
Date_T2 0x20000088 Data 8 timer_1234.o(.data)
Date_T3 0x20000090 Data 8 timer_1234.o(.data)
Date_T4 0x20000098 Data 8 timer_1234.o(.data)
maram 0x200000a0 Section 1 cligno.o(maram)
STACK 0x200000a8 Section 1024 startup-rvds.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$OTIME$ROPI$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE
__ARM_use_no_argv 0x00000000 Number 0 principal.o ABSOLUTE
__arm_fini_ - Undefined Weak Reference
__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-rvds.o ABSOLUTE
__Vectors 0x08000000 Data 4 startup-rvds.o(RESET)
__Vectors_End 0x080000ec Data 0 startup-rvds.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_lib_shutdown_fini 0x080000fd Thumb Code 0 entry12b.o(.ARM.Collect$$$$0000000E)
__rt_final_cpp 0x08000101 Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000F)
__rt_final_exit 0x08000101 Thumb Code 0 entry11a.o(.ARM.Collect$$$$00000011)
Reset_Handler 0x08000105 Thumb Code 34 startup-rvds.o(.text)
SystemInit 0x08000127 Thumb Code 2 startup-rvds.o(.text)
NMI_Handler 0x08000129 Thumb Code 2 startup-rvds.o(.text)
HardFault_Handler 0x0800012b Thumb Code 2 startup-rvds.o(.text)
MemManage_Handler 0x0800012d Thumb Code 2 startup-rvds.o(.text)
BusFault_Handler 0x0800012f Thumb Code 2 startup-rvds.o(.text)
UsageFault_Handler 0x08000131 Thumb Code 2 startup-rvds.o(.text)
SVC_Handler 0x08000133 Thumb Code 2 startup-rvds.o(.text)
DebugMon_Handler 0x08000135 Thumb Code 2 startup-rvds.o(.text)
PendSV_Handler 0x08000137 Thumb Code 2 startup-rvds.o(.text)
SysTick_Handler 0x08000139 Thumb Code 2 startup-rvds.o(.text)
ADC1_2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
CAN1_RX1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
CAN1_SCE_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel6_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel7_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI15_10_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI9_5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
FLASH_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C1_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C1_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C2_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C2_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
PVD_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
RCC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
RTCAlarm_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
RTC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
SPI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
SPI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TAMPER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM1_BRK_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM1_TRG_COM_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USART1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USART2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USART3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USBWakeUp_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USB_HP_CAN1_TX_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USB_LP_CAN1_RX0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
WWDG_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
__scatterload 0x08000151 Thumb Code 28 init.o(.text)
__scatterload_rt2 0x08000151 Thumb Code 0 init.o(.text)
Active_IT_Debordement_Timer 0x08000175 Thumb Code 204 timer_1234.o(i.Active_IT_Debordement_Timer)
CLOCK_Configure 0x08000259 Thumb Code 104 clock.o(i.CLOCK_Configure)
CLOCK_GetHCLK 0x080002cd Thumb Code 4 clock.o(i.CLOCK_GetHCLK)
CLOCK_GetTIMCLK 0x080002d5 Thumb Code 22 clock.o(i.CLOCK_GetTIMCLK)
GPIOA_Clear 0x0800036d Thumb Code 10 gpio.o(i.GPIOA_Clear)
GPIOA_Set 0x0800037d Thumb Code 10 gpio.o(i.GPIOA_Set)
GPIOB_Clear 0x0800038d Thumb Code 10 gpio.o(i.GPIOB_Clear)
GPIOB_Set 0x0800039d Thumb Code 10 gpio.o(i.GPIOB_Set)
GPIOC_Clear 0x080003ad Thumb Code 10 gpio.o(i.GPIOC_Clear)
GPIOC_Set 0x080003bd Thumb Code 10 gpio.o(i.GPIOC_Set)
GPIO_Configure 0x080003cd Thumb Code 240 gpio.o(i.GPIO_Configure)
PWM_Set_Value_TIM3_Ch3 0x080004d5 Thumb Code 6 timer_1234.o(i.PWM_Set_Value_TIM3_Ch3)
TIM1_CC_IRQHandler 0x080004e1 Thumb Code 240 timer_1234.o(i.TIM1_CC_IRQHandler)
TIM1_UP_IRQHandler 0x080005ed Thumb Code 16 timer_1234.o(i.TIM1_UP_IRQHandler)
TIM2_IRQHandler 0x08000605 Thumb Code 266 timer_1234.o(i.TIM2_IRQHandler)
TIM3_IRQHandler 0x08000715 Thumb Code 272 timer_1234.o(i.TIM3_IRQHandler)
TIM4_IRQHandler 0x08000841 Thumb Code 272 timer_1234.o(i.TIM4_IRQHandler)
Timer_1234_Init_ff 0x0800096d Thumb Code 106 timer_1234.o(i.Timer_1234_Init_ff)
__scatterload_copy 0x080009e9 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x080009f7 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x080009f9 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
main 0x08000a09 Thumb Code 38 principal.o(i.main)
timer_callback 0x08000a41 Thumb Code 42 cligno.o(moncode)
Region$$Table$$Base 0x08000a70 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08000a90 Number 0 anon$$obj.o(Region$$Table)
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)
Enable_Fct_IT_Compare_Match_TIM1_Voie4 0x20000003 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM2_Voie1 0x20000004 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM2_Voie2 0x20000005 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM2_Voie3 0x20000006 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM2_Voie4 0x20000007 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM3_Voie1 0x20000008 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM3_Voie2 0x20000009 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM3_Voie3 0x2000000a Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM3_Voie4 0x2000000b Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM4_Voie1 0x2000000c Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM4_Voie2 0x2000000d Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM4_Voie3 0x2000000e Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM4_Voie4 0x2000000f Data 1 timer_1234.o(.data)
FlagCligno 0x200000a0 Data 1 cligno.o(maram)
__initial_sp 0x200004a8 Data 0 startup-rvds.o(STACK)
==============================================================================
Memory Map of the image
Image Entry point : 0x080000ed
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000b34, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000a90, Max: 0x00020000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 65 RESET startup-rvds.o
0x080000ec 0x080000ec 0x00000000 Code RO 149 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x080000ec 0x080000ec 0x00000004 Code RO 176 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x080000f0 0x080000f0 0x00000004 Code RO 179 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x080000f4 0x080000f4 0x00000000 Code RO 181 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x080000f4 0x080000f4 0x00000000 Code RO 183 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x080000f4 0x080000f4 0x00000008 Code RO 184 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x080000fc 0x080000fc 0x00000004 Code RO 191 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o)
0x08000100 0x08000100 0x00000000 Code RO 186 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o)
0x08000100 0x08000100 0x00000000 Code RO 188 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
0x08000100 0x08000100 0x00000004 Code RO 177 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000104 0x08000104 0x0000004c Code RO 66 .text startup-rvds.o
0x08000150 0x08000150 0x00000024 Code RO 201 .text mc_w.l(init.o)
0x08000174 0x08000174 0x000000e4 Code RO 114 i.Active_IT_Debordement_Timer DriverJeuLaser.lib(timer_1234.o)
0x08000258 0x08000258 0x00000074 Code RO 73 i.CLOCK_Configure DriverJeuLaser.lib(clock.o)
0x080002cc 0x080002cc 0x00000008 Code RO 75 i.CLOCK_GetHCLK DriverJeuLaser.lib(clock.o)
0x080002d4 0x080002d4 0x00000024 Code RO 78 i.CLOCK_GetTIMCLK DriverJeuLaser.lib(clock.o)
0x080002f8 0x080002f8 0x00000074 Code RO 79 i.CLOCK_HPRECompute DriverJeuLaser.lib(clock.o)
0x0800036c 0x0800036c 0x00000010 Code RO 93 i.GPIOA_Clear DriverJeuLaser.lib(gpio.o)
0x0800037c 0x0800037c 0x00000010 Code RO 94 i.GPIOA_Set DriverJeuLaser.lib(gpio.o)
0x0800038c 0x0800038c 0x00000010 Code RO 95 i.GPIOB_Clear DriverJeuLaser.lib(gpio.o)
0x0800039c 0x0800039c 0x00000010 Code RO 96 i.GPIOB_Set DriverJeuLaser.lib(gpio.o)
0x080003ac 0x080003ac 0x00000010 Code RO 97 i.GPIOC_Clear DriverJeuLaser.lib(gpio.o)
0x080003bc 0x080003bc 0x00000010 Code RO 98 i.GPIOC_Set DriverJeuLaser.lib(gpio.o)
0x080003cc 0x080003cc 0x00000108 Code RO 99 i.GPIO_Configure DriverJeuLaser.lib(gpio.o)
0x080004d4 0x080004d4 0x0000000c Code RO 120 i.PWM_Set_Value_TIM3_Ch3 DriverJeuLaser.lib(timer_1234.o)
0x080004e0 0x080004e0 0x0000010c Code RO 121 i.TIM1_CC_IRQHandler DriverJeuLaser.lib(timer_1234.o)
0x080005ec 0x080005ec 0x00000018 Code RO 122 i.TIM1_UP_IRQHandler DriverJeuLaser.lib(timer_1234.o)
0x08000604 0x08000604 0x00000110 Code RO 123 i.TIM2_IRQHandler DriverJeuLaser.lib(timer_1234.o)
0x08000714 0x08000714 0x0000012c Code RO 124 i.TIM3_IRQHandler DriverJeuLaser.lib(timer_1234.o)
0x08000840 0x08000840 0x0000012c Code RO 125 i.TIM4_IRQHandler DriverJeuLaser.lib(timer_1234.o)
0x0800096c 0x0800096c 0x0000007c Code RO 127 i.Timer_1234_Init_ff DriverJeuLaser.lib(timer_1234.o)
0x080009e8 0x080009e8 0x0000000e Code RO 207 i.__scatterload_copy mc_w.l(handlers.o)
0x080009f6 0x080009f6 0x00000002 Code RO 208 i.__scatterload_null mc_w.l(handlers.o)
0x080009f8 0x080009f8 0x0000000e Code RO 209 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x08000a06 0x08000a06 0x00000002 PAD
0x08000a08 0x08000a08 0x00000038 Code RO 4 i.main principal.o
0x08000a40 0x08000a40 0x00000030 Code RO 59 moncode cligno.o
0x08000a70 0x08000a70 0x00000020 Data RO 205 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000a90, Size: 0x000004a8, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08000a90 0x000000a0 Data RW 129 .data DriverJeuLaser.lib(timer_1234.o)
0x200000a0 0x08000b30 0x00000001 Data RW 58 maram cligno.o
0x200000a1 0x08000b31 0x00000007 PAD
0x200000a8 - 0x00000400 Zero RW 63 STACK startup-rvds.o
==============================================================================
Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
48 6 0 1 0 328 cligno.o
56 18 0 0 0 1899 principal.o
76 20 236 0 1024 800 startup-rvds.o
----------------------------------------------------------------------
180 44 268 4 1028 3027 Object Totals
0 0 32 0 0 0 (incl. Generated)
0 0 0 3 4 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
276 30 0 0 0 284 clock.o
360 60 0 0 0 492 gpio.o
1528 146 0 160 0 656 timer_1234.o
0 0 0 0 0 0 entry.o
0 0 0 0 0 0 entry10a.o
0 0 0 0 0 0 entry11a.o
4 0 0 0 0 0 entry12b.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
----------------------------------------------------------------------
2256 252 0 160 0 1500 Library Totals
2 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
2164 236 0 160 0 1432 DriverJeuLaser.lib
90 16 0 0 0 68 mc_w.l
----------------------------------------------------------------------
2256 252 0 160 0 1500 Library Totals
----------------------------------------------------------------------
==============================================================================
Code (inc. data) RO Data RW Data ZI Data Debug
2436 296 268 164 1028 3795 Grand Totals
2436 296 268 164 1028 3795 ELF Image Totals
2436 296 268 164 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 2704 ( 2.64kB)
Total RW Size (RW Data + ZI Data) 1192 ( 1.16kB)
Total ROM Size (Code + RO Data + RW Data) 2868 ( 2.80kB)
==============================================================================

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,16 @@
Dependencies for Project 'BacASable', Target 'CibleSondeKEIL': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (.\Src\principal.c)(0x6426F81F)(-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)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_CibleSondeKEIL\RTE_Components.h)(0x6426F5FA)
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\Cligno.s)(0x6426FEF5)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I .\Driver -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 cligno.lst --xref -o .\obj\cligno.o --depend .\obj\cligno.d)
I (.\Driver\DriverJeuLaser.inc)(0x6037BEDF)
F (.\Src\startup-rvds.s)(0x5FE38AC6)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I .\Driver -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)()

View file

@ -0,0 +1,16 @@
Dependencies for Project 'BacASable', Target 'Simu': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (.\Src\principal.c)(0x6426F81F)(-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)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_Simu\RTE_Components.h)(0x6410A8A7)
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\Cligno.s)(0x6426FB1B)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I .\Driver -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 cligno.lst --xref -o .\obj\cligno.o --depend .\obj\cligno.d)
I (.\Driver\DriverJeuLaser.inc)(0x6037BEDF)
F (.\Src\startup-rvds.s)(0x5FE38AC6)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I .\Driver -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)()

View file

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

View file

@ -0,0 +1,2 @@
.\obj\cligno.o: Src\Cligno.s
.\obj\cligno.o: .\Driver\DriverJeuLaser.inc

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,10 @@
.\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: 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
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h

Binary file not shown.

View file

@ -0,0 +1 @@
.\obj\startup-rvds.o: Src\startup-rvds.s

Binary file not shown.

View file

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

View file

@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'BacASable'
* 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 */

View file

@ -0,0 +1,88 @@
PRESERVE8
THUMB
include DriverJeuLaser.inc
export timer_callback
; ====================== zone de réservation de données, ======================================
;Section RAM (read only) :
area mesdata,data,readonly
;Section RAM (read write):
area maram,data,readwrite
;char FlagCligno;
FlagCligno dcb 0 ; reserve seulement un octet de memoire
; ===============================================================================================
;Section ROM code (read only) :
area moncode,code,readonly
; écrire le code ici
;void timer_callback(void)
;{
; if (FlagCligno==1)
; {
; FlagCligno=0;
; GPIOB_Set(1);
; }
; else
; {
; FlagCligno=1;
; GPIOB_Clear(1);
; }
;
;}
timer_callback proc
;void timer_callback(void)
;{
push {lr}
; if (FlagCligno==1)
ldr r2,=FlagCligno
EXPORT FlagCligno
ldrb r1, [r2]
mov r0, #1
cmp r1, #1
bne Sinon
; {
; FlagCligno=0;
mov r1, #0
; GPIOB_Set(1);
str r1, [r2]
bl GPIOB_Set
; }
b fin
; else
Sinon
; {
; FlagCligno=1;
mov r1, #1
str r1, [r2]
; GPIOB_Clear(1);
bl GPIOB_Clear
; }
;
fin
;}
pop {lr} ; pop {pc} remplace les
bx lr ; deux lignes car on met l'
; ancienne valeur de lr dans pc
endp
END

View file

@ -0,0 +1,77 @@
#include "DriverJeuLaser.h"
void timer_callback(void);
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();
// configuration du Timer 4 en débordement 100ms
//** Placez votre code là ** //
// Activation des interruptions issues du Timer 4
// Association de la fonction à exécuter lors de l'interruption : timer_callback
// cette fonction (si écrite en ASM) doit être conforme à l'AAPCS
//** Placez votre code là ** //
Timer_1234_Init_ff( TIM4, 7200000);
Active_IT_Debordement_Timer( TIM4, 2, timer_callback );
// configuration de PortB.1 (PB1) en sortie push-pull
GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL);
//============================================================================
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*****

View file

@ -0,0 +1,327 @@
ARM Macro Assembler Page 1
1 00000000 PRESERVE8
2 00000000 THUMB
3 00000000 include DriverJeuLaser.inc
1 00000000
2 00000000 ; Bibliotheque DriverJeuLaser (ancienne gassp72 adaptée
2021 - TR)
3 00000000 ; Accès en aux fonctions suivantes :
4 00000000 ; GPIO :
5 00000000 ; GPIOA_Set(char Broche), GPIOB_Set(char Broche), GPIOC_
Set(char Broche)
6 00000000 ; GPIOA_Clear(char Broche), GPIOB_Clear(char Broche), GP
IOC_Clear(char Broche)
7 00000000
8 00000000 ; PWM :
9 00000000 ;/**
10 00000000 ; * @brief Fixe une valeur de PWM, Val, en tick horloge
. La rapport cyclique effectif
11 00000000 ; * est donc : rcy = Thaut_ticks / Periode_ticks
12 00000000 ; * @note spécifique Jeu Laser, PWM liée exclusivement
au TIM3, chan3
13 00000000 ; * @param Thaut_ticks : durée de l'état haut d'une imp
ulsion en Ticks
14 00000000 ; * @retval None
15 00000000 ; */
16 00000000
17 00000000 ;void PWM_Set_Value_TIM3_Ch3( unsigned short int Thaut_t
icks);
18 00000000 import PWM_Set_Value_TIM3_Ch3
19 00000000
20 00000000
21 00000000
22 00000000 ;/**
23 00000000 ; * @brief Mise à 1 d'une broche GPIO
24 00000000 ; * @note Une fonction par GPIO
25 00000000 ; * @param Broche : 0 à 15
26 00000000 ; * @retval None
27 00000000 ; */
28 00000000
29 00000000 ;void GPIOA_Set(char Broche);
30 00000000 import GPIOA_Set
31 00000000
32 00000000 ;void GPIOB_Set(char Broche);
33 00000000 import GPIOB_Set
34 00000000
35 00000000 ;void GPIOC_Set(char Broche);
36 00000000 import GPIOC_Set
37 00000000
38 00000000
39 00000000
40 00000000 ;/**
41 00000000 ; * @brief Mise à 0 d'une broche GPIO
42 00000000 ; * @note Une fonction par GPIO
43 00000000 ; * @param Broche : 0 à 15
44 00000000 ; * @retval None
45 00000000 ; */
46 00000000
47 00000000 ;void GPIOA_Clear(char Broche);
48 00000000 import GPIOA_Clear
49 00000000
ARM Macro Assembler Page 2
50 00000000 ;void GPIOB_Clear(char Broche);
51 00000000 import GPIOB_Clear
52 00000000
53 00000000 ;void GPIOC_Clear(char Broche);
54 00000000 import GPIOC_Clear
55 00000000
56 00000000 end
4 00000000
5 00000000 export timer_callback
6 00000000
7 00000000 ; ====================== zone de réservation de données,
======================================
8 00000000 ;Section RAM (read only) :
9 00000000 area mesdata,data,readonly
10 00000000
11 00000000
12 00000000 ;Section RAM (read write):
13 00000000 area maram,data,readwrite
14 00000000 ;char FlagCligno;
15 00000000 00 FlagCligno
dcb 0 ; reserve seulement
un octet de memoir
e
16 00000001
17 00000001
18 00000001 ; ======================================================
=========================================
19 00000001
20 00000001
21 00000001
22 00000001
23 00000001 ;Section ROM code (read only) :
24 00000001 area moncode,code,readonly
25 00000000 ; écrire le code ici
26 00000000
27 00000000 ;void timer_callback(void)
28 00000000 ;{
29 00000000 ; if (FlagCligno==1)
30 00000000 ; {
31 00000000 ; FlagCligno=0;
32 00000000 ; GPIOB_Set(1);
33 00000000 ; }
34 00000000 ; else
35 00000000 ; {
36 00000000 ; FlagCligno=1;
37 00000000 ; GPIOB_Clear(1);
38 00000000 ; }
39 00000000 ;
40 00000000 ;}
41 00000000
42 00000000
43 00000000 timer_callback
proc
44 00000000
45 00000000
46 00000000 ;void timer_callback(void)
47 00000000 ;{
48 00000000 B500 push {lr}
49 00000002
ARM Macro Assembler Page 3
50 00000002 ; if (FlagCligno==1)
51 00000002 4A0A ldr r2,=FlagCligno
52 00000004 EXPORT FlagCligno
53 00000004 7811 ldrb r1, [r2]
54 00000006
55 00000006 F04F 0001 mov r0, #1
56 0000000A
57 0000000A 2901 cmp r1, #1
58 0000000C D105 bne Sinon
59 0000000E ; {
60 0000000E ; FlagCligno=0;
61 0000000E F04F 0100 mov r1, #0
62 00000012 ; GPIOB_Set(1);
63 00000012 6011 str r1, [r2]
64 00000014 F7FF FFFE bl GPIOB_Set
65 00000018 ; }
66 00000018 E004 b fin
67 0000001A ; else
68 0000001A Sinon
69 0000001A ; {
70 0000001A ; FlagCligno=1;
71 0000001A F04F 0101 mov r1, #1
72 0000001E 6011 str r1, [r2]
73 00000020 ; GPIOB_Clear(1);
74 00000020 F7FF FFFE bl GPIOB_Clear
75 00000024 ; }
76 00000024 ;
77 00000024 fin
78 00000024 ;}
79 00000024
80 00000024
81 00000024 F85D EB04 pop {lr} ; pop {pc} remplace
les
82 00000028 4770 bx lr ; deux lignes car o
n met l'
83 0000002A ; ancienne valeur de lr dans pc
84 0000002A endp
85 0000002A
86 0000002A
87 0000002A
88 0000002A END
00 00 00000000
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=.\obj\cligno.d -o.\obj\cligno.o -I.\Driver -I.\RTE\_CibleSondeKEIL
-IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Progra
mdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVA
L SETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 5
34" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_
RTE_ SETA 1" --list=cligno.lst Src\Cligno.s
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
mesdata 00000000
Symbol: mesdata
Definitions
At line 9 in file Src\Cligno.s
Uses
None
Comment: mesdata unused
1 symbol
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
FlagCligno 00000000
Symbol: FlagCligno
Definitions
At line 15 in file Src\Cligno.s
Uses
At line 51 in file Src\Cligno.s
At line 52 in file Src\Cligno.s
maram 00000000
Symbol: maram
Definitions
At line 13 in file Src\Cligno.s
Uses
None
Comment: maram unused
2 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
Sinon 0000001A
Symbol: Sinon
Definitions
At line 68 in file Src\Cligno.s
Uses
At line 58 in file Src\Cligno.s
Comment: Sinon used once
fin 00000024
Symbol: fin
Definitions
At line 77 in file Src\Cligno.s
Uses
At line 66 in file Src\Cligno.s
Comment: fin used once
moncode 00000000
Symbol: moncode
Definitions
At line 24 in file Src\Cligno.s
Uses
None
Comment: moncode unused
timer_callback 00000000
Symbol: timer_callback
Definitions
At line 43 in file Src\Cligno.s
Uses
At line 5 in file Src\Cligno.s
Comment: timer_callback used once
4 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
External symbols
GPIOA_Clear 00000000
Symbol: GPIOA_Clear
Definitions
At line 48 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: GPIOA_Clear unused
GPIOA_Set 00000000
Symbol: GPIOA_Set
Definitions
At line 30 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: GPIOA_Set unused
GPIOB_Clear 00000000
Symbol: GPIOB_Clear
Definitions
At line 51 in file .\Driver\DriverJeuLaser.inc
Uses
At line 74 in file Src\Cligno.s
Comment: GPIOB_Clear used once
GPIOB_Set 00000000
Symbol: GPIOB_Set
Definitions
At line 33 in file .\Driver\DriverJeuLaser.inc
Uses
At line 64 in file Src\Cligno.s
Comment: GPIOB_Set used once
GPIOC_Clear 00000000
Symbol: GPIOC_Clear
Definitions
At line 54 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: GPIOC_Clear unused
GPIOC_Set 00000000
Symbol: GPIOC_Set
Definitions
At line 36 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: GPIOC_Set unused
PWM_Set_Value_TIM3_Ch3 00000000
Symbol: PWM_Set_Value_TIM3_Ch3
Definitions
At line 18 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: PWM_Set_Value_TIM3_Ch3 unused
7 symbols
351 symbols in table

File diff suppressed because it is too large Load diff

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,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,9 @@
<?xml version="1.0" encoding="utf-8"?>
<component_viewer schemaVersion="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">
<component name="EventRecorderStub" version="1.0.0"/> <!--name and version of the component-->
<events>
</events>
</component_viewer>

Binary file not shown.

View file

@ -0,0 +1,64 @@
<html>
<body>
<pre>
<h1>µVision Build Log</h1>
<h2>Tool Versions:</h2>
IDE-Version: µVision V5.34.0.0
Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: CSN CSN, INSA de Toulouse, LIC=----
Tool Versions:
Toolchain: MDK-Lite Version: 5.34.0.0
Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 7 (build 960)
Assembler: Armasm.exe V5.06 update 7 (build 960)
Linker/Locator: ArmLink.exe V5.06 update 7 (build 960)
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: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.8.0
Dialog DLL: TCM.DLL V1.48.0.0
<h2>Project:</h2>
U:\3MIC\BE_CHTI\Assembleur\PjtKEIL_StepSon\StepSon.uvprojx
Project File Date: 04/07/2023
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'Simu'
assembling startup-rvds.s...
assembling bruitverre.asm...
assembling GestionSon.s...
Src\GestionSon.s(74): warning: A1581W: Added 2 bytes of padding at address 0x36
compiling principal.c...
linking...
Program Size: Code=2068 RO-data=11300 RW-data=164 ZI-data=1028
FromELF: creating hex file...
".\Obj\StepSon.axf" - 0 Error(s), 1 Warning(s).
<h2>Software Packages used:</h2>
Package Vendor: ARM
http://www.keil.com/pack/ARM.CMSIS.5.7.0.pack
ARM.CMSIS.5.7.0
CMSIS (Cortex Microcontroller Software Interface Standard)
* Component: CORE Version: 5.4.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\_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
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.4.0
Build Time Elapsed: 00:00:02
</pre>
</body>
</html>

View file

@ -0,0 +1,849 @@
:020000040800F2
:10000000A804002005010008290100082B010008B0
:100010002D0100082F010008310100080000000038
:100020000000000000000000000000003301000894
:100030003501000800000000370100083901000800
:100040003B0100083B0100083B0100083B010008A0
:100050003B0100083B0100083B0100083B01000890
:100060003B0100083B0100083B0100083B01000880
:100070003B0100083B0100083B0100083B01000870
:100080003B0100083B0100083B0100083B01000860
:100090003B0100083B0100083B0100083B01000850
:1000A0003B010008790400083B0100086D030008CB
:1000B00091040008A1050008CD0600083B010008D6
:1000C0003B0100083B0100083B0100083B01000820
:1000D0003B0100083B0100083B0100083B01000810
:1000E0003B0100083B0100083B010008DFF810D08D
:1000F00000F02EF80048004795080008AFF3008094
:10010000A80400200D488047DFF83400016841F45E
:10011000E0210160BFF34F8FDFF82800DFF82810DF
:1001200001600A4800477047FEE7FEE7FEE7FEE78A
:10013000FEE7FEE7FEE7FEE7FEE7FEE72701000831
:1001400024ED00E00CED00E00003FA05ED000008EE
:10015000064C074D06E0E06840F0010394E8070014
:1001600098471034AC42F6D3FFF7C4FF00090008EB
:10017000200900082DE9F041DFF8C4C0314B60458B
:1001800003D19C6944F400649C614FF08046B04206
:1001900003D1DC6944F00104DC612B4DA84203D19A
:1001A000DC6944F00204DC61284FB84203D1DC6909
:1001B00044F00404DC61838943F0010383810F2947
:1001C00000D90F21224C4FF0E02360450CD1226171
:1001D000DFF880804FEA011C88F800C0D3F800C126
:1001E0004CF0007CC3F800C1B0420DD16261DFF871
:1001F00064C00E010CF1030C8CF80060D3F80061B0
:1002000046F08056C3F80061A8420AD1A261114E9F
:100210000D01361D3570D3F8005145F00055C3F877
:100220000051B8420AD1E26108010A49491D08702B
:10023000D3F8000140F08040C3F80001BDE8F08130
:10024000002C014000100240000400400008004063
:100250000000002019E400E070B5194C83202060F4
:1002600000256560A56017486060012000F044F833
:1002700061680843606014490D60086840F002003E
:100280000860206840F48030206020688003FCD53E
:10029000206840F08070206020688001FCD5606894
:1002A00020F003006060606840F0020060606068F9
:1002B00040F480006060086840F01000086070BD85
:1002C0000010024000841D000020024000487047DA
:1002D00000A24A040549064A884202D005498842DC
:1002E00001D110467047104670470000002C0140B5
:1002F00000A24A0400340140012804D0B0F5807FF8
:1003000003DD012102E000202CE00021802801DD36
:10031000012200E000220A44402801DD012100E022
:1003200000210A44102801DD012100E000210A44D7
:10033000082801DD012100E000210A44042801DD34
:10034000012100E000210A44022801DD012100E032
:1003500000211144012801DD012000E000200844B3
:10036000C01D0001702800D10020704770B53B49C6
:1003700008883B4C82073B4DA4F12006A4F1800085
:1003800018D50A8822F002020A800178012901D1D9
:10039000006A804728888107334802D4008820807B
:1003A00003E000882188401A3080288880F002000D
:1003B000288070BD0A88520718D50A8822F00402E6
:1003C0000A804178012901D1406A80472888810646
:1003D000264802D40088608003E000886188401AC3
:1003E0007080288880F02000288070BD0A8812075D
:1003F00018D50A8822F008020A808178032901D1E1
:10040000806A804728888105194802D40088A08026
:1004100003E00088A188401AB080288880F400702A
:10042000288070BD0A88D206FBD50A8822F0100207
:100430000A80C178012901D1C06A804728888104D7
:100440000C4802D40088E08003E00088E188401A6C
:10045000F080288880F40050288070BD102C014066
:1004600080000020202C0140342C0140382C014019
:100470003C2C0140402C01400348018821F001013F
:100480000180024800690047102C01400000002054
:1004900070B54FF08045288AC10740480AD0A98925
:1004A000C90707D0298A21F0010129824069BDE8E6
:1004B00070400047298A394C8A07384904F188047A
:1004C000A4F12006497916D52A8A22F002022A824E
:1004D000012901D1006B8047288C800702D4A88EA7
:1004E000208003E0A88E2188401A3080288C80F07C
:1004F0000200288470BD2A8A520716D52A8A22F063
:1005000004022A82012901D1406B8047288C800691
:1005100002D4288F608003E0288F6188401A7080A1
:10052000288C80F02000288470BD298A090717D5FF
:10053000298A21F0080129828179012901D1806B62
:100540008047288C800502D4A88FA08003E0A88F64
:10055000A188401AB080288C80F40070288470BD77
:10056000298AC906FBD5298A21F010012982C1797F
:10057000012901D1C06B8047288C800403D4B5F8D1
:100580004000E08004E0B5F84000E188401AF080C7
:10059000288C80F40050288470BD000000000020EA
:1005A00070B543490888C20742480BD00A1F128819
:1005B000D20707D00A8822F001020A808069BDE8CC
:1005C000704000470A883B4C3B4D04F19004920771
:1005D000A4F1200618D50A8822F002020A80017AC6
:1005E000012901D1006C804728888107334802D453
:1005F0000088208003E000882188401A3080288805
:1006000080F00200288070BD0A88520718D50A8839
:1006100022F004020A80417A012901D1406C80470E
:1006200028888106264802D40088608003E000887C
:100630006188401A7080288880F02000288070BD72
:100640000A88120718D50A8822F008020A80817ADF
:10065000012901D1806C804728888105194802D47E
:100660000088A08003E00088A188401AB080288814
:1006700080F40070288070BD0A88D206FBD50A88F5
:1006800022F010020A80C17A012901D1C06C804792
:10069000288881040C4802D40088E08003E00088A8
:1006A000E188401AF080288880F40050288070BDCE
:1006B00010040040000000202004004034040040EA
:1006C000380400403C0400404004004070B54349F9
:1006D0000888C20742480BD00A1F1288D20707D0E9
:1006E0000A8822F001020A80C069BDE87040004714
:1006F0000A883B4C3B4D04F198049207A4F1200674
:1007000018D50A8822F002020A80017B012901D152
:10071000006D804728888107334802D400882080F4
:1007200003E000882188401A3080288880F0020089
:10073000288070BD0A88520718D50A8822F0040262
:100740000A80417B012901D1406D804728888106BC
:10075000264802D40088608003E000886188401A3F
:100760007080288880F02000288070BD0A881207D9
:1007700018D50A8822F008020A80817B012901D15C
:10078000806D804728888105194802D40088A080A0
:1007900003E00088A188401AB080288880F40070A7
:1007A000288070BD0A88D206FBD50A8822F0100284
:1007B0000A80C17B012901D1C06D8047288881044E
:1007C0000C4802D40088E08003E00088E188401AE9
:1007D000F080288880F40050288070BD1008004008
:1007E0000000002020080040340800403808004085
:1007F0003C0800404008004070B504460D461949C9
:1008000019488C4203D1816941F400618161B4F1DE
:10081000804F03D1C16941F00101C16113498C428C
:1008200003D1C16941F00201C16111498C4203D178
:10083000C16941F00401C161FFF748FD0646204649
:10084000FFF748FDB6FBF0F0B5FBF0F0010C4A1CD9
:10085000B0FBF2F02185401EA085A08411202080ED
:1008600070BD0000002C0140001002400004004058
:100870000008004002E008C8121F08C1002AFAD18F
:1008800070477047002001E001C1121F002AFBD110
:1008900070470000FFF7E0FC41F698110448FFF7AD
:1008A000ABFF044A02210248FFF764FC00BFFEE7E9
:1008B00000080040B908000800B50D4801680D4A5D
:1008C00013688B420FDD0C4A32F9113001F101013E
:1008D00001804FF4B47101FB03F34FEAE3330B449F
:1008E000064A138002E04FF00001086000BD0000DE
:1008F000A20000202009000828090008A00000200C
:100900003834000800000020A4000000740800082B
:10091000DC340008A400002004040000840800085F
:10092000881500005B00000001E5BA50C6FAF32A02
:1009300040A4D8B563747EAA6430B03F0080F2331F
:10094000D15892B0EC1197146594AA4B68EF38E334
:100950002C6064AC6A3861132BE42A53B0A933E6E7
:10096000791A24C8452051F7C6E53F3EF9CCC0F1BD
:10097000774CFBC3FE1ED95953D861EA4DE46E0F84
:100980003D1ED4DE96067FE5F9E5AC1568C2BEF7DC
:1009900095496FCCA50DBD546FF40F2084CD60D761
:1009A0009B3FDFA920081154F9CFE5F2B60E38F9C4
:1009B000F300FAF34C15C336E5DE82016AD0CCCAE7
:1009C0000D517FF8EC10972BA9BC81DB1E26D2D2EB
:1009D000DAFE342041CBAE493F137AA7B5FA72E86C
:1009E000C2F8F5376BF57FF9B71D93E86F378FFEC7
:1009F000C0C7A24A67DDBFF42615BECFB53FE4FAF3
:100A0000ABDA3C25230C59FAA1E3FFC2E92115ED2D
:100A10006FCBCF7AD4CA14EE4D0D4DA2FF7FDFFE0F
:100A200019D87B7809BF24DF56F36BF3CC346DBF44
:100A30003FD6FA3336C493D53A2C62CE8640701B2B
:100A4000E4CE5166689C6500C446B3AFF44FEDC870
:100A50004DD0B3485306841F75D56FE38B27C6FD71
:100A6000C2109E1D01D065FCD61348E57D4441E1CE
:100A700067C924087CDCDE2DC5ED93FEB0157CDE55
:100A80008E044718F011FCE9D5F140BA6F1FB3315D
:100A90007CA1FF18CD404CD22AE8465B61D29CD0A5
:100AA000CD5767B6F609402759E54E1D72FB122453
:100AB000D8C9D1DB902200EABC03130BCF0D27FB72
:100AC00044137DF145F74318FBDAA3EE5DD087268A
:100AD000013D0BC91D15A025430141CC72FD623AB1
:100AE000FDCDD905060A3E068B25CCC7A9FAA93942
:100AF000F9FA79982848E5490B9C223F56B5C9EC8C
:100B0000E84EB6B83F2C88F86F0DC5AD181AFF7FB8
:100B10004BAEAE36F5CE3602D904B3DBE35476BC29
:100B2000492356E0D7FB0A21FBB0563478F342F252
:100B3000501548FB69D4192C9F1896AFF87B6ABCF6
:100B40004BD9366CC5C3070908EFB1FB76D0542CDE
:100B5000F50C1EBB454D5FF120F012F9820098E6BE
:100B6000F10C9D0A51E27B3870F0F1F863061BF638
:100B7000BF09F0E42D085F07C7F49A2FC7CB800B9D
:100B8000023575C098FC0EFA85F271EE583F910956
:100B9000E203612887BD6401C5FE77F7C1ECD80A7E
:100BA000D7F982EC462FABDCCF0F381062A3A4112B
:100BB000C224D7CFAE0D1D2B78DD34F79C3B03B399
:100BC000F90C473F47AE9D0EC72338F657F18229EF
:100BD00067F4E3E91A1361D3AC2B871155D11E13C7
:100BE000940D8BE611285C1678C81E2828F7ABC533
:100BF0003948DE031FCC2A13501402F57BF9001686
:100C0000FEF657F131DE2808630A17F66830DAEA93
:100C1000D50362F62DF24208F5F6AA2198BCC2F976
:100C2000D51C5C005F06BEE5B02DB6CD82E9642F11
:100C3000CCF0E108C4193FFD8CE0BE3B43D4A1E0F9
:100C4000A2480BC7B7091AFB54132A2C7FE37D0671
:100C500088F89314DDDB380EE51E10C60512460930
:100C6000A2DF9C11741ED9C57612F31565C0403AF7
:100C7000BFF48BFFE3114EC7B53A11E8BE0E9E30AC
:100C80007BCDD30F59E4E6048C0F5FF3292DB40319
:100C9000A6C9D615571D1BCA373CE7EA70C63A30BD
:100CA0004BEBAE1E41F54DF848FE62E1302076E890
:100CB000AC15FA09B20A0E108EC17E14A21CA3C58F
:100CC000D200E727D1C2BC2FAE1F26D6A63596C5C7
:100CD0006F0C901030E0E241AFD91DEFF63347EDD5
:100CE0008AEC9426D1EED1EC0A0D6DFE2A14C4DAFA
:100CF000350AA50EC6E67C0A84F8C8060001911DD7
:100D0000B1FBC2B93824141814C5513AA10C78B5F6
:100D1000052985F299F55A1F59D3C41C3EF01DEBE5
:100D2000BD3FD0E00DFF620B72D39CFB280917205A
:100D30009109E5F1822D98E6F4D26A4F7AE98DDFC8
:100D40001320FADF3A1939092918380E8AC1F90D2A
:100D500041F6BDEA972996F2A3EF16105BF3CF0D8B
:100D600021EC3FFFFC2A82AAC101CF0E7EC0E546DE
:100D7000E5079DDF19FFCCDF391C1E11D7FC921946
:100D800030E360EE8616E6EFE7FE0B068E0388F58D
:100D90003CE49327660C58D7472A15EA1DD7CA3E6C
:100DA00044FC4A0735064BEDA4FE49F5D73C1F0B22
:100DB00034E4512569EC81EFD229A0E5B30587FE23
:100DC000E6C47832B3092E00163BA1CE32D7A10C6F
:100DD000AEF69607D7258B10ECCE77F79A3010EE4B
:100DE00026FDD30FD8C84E09181996F0241D02F518
:100DF00030F523F98AEDDF14EFEBD3F869FEEAF161
:100E00006F209FEBDC0D982629AF8507A025CBCE60
:100E10008531F0121BCABC190B082BE5B418280841
:100E2000B2F9E602B2F6721047002EFF730DCAFB4C
:100E3000A2F0F6F1451FC1FE8BEA021E96DCE7E741
:100E40000128AFF05CFF331481038BFECDED9700DA
:100E50008A0253F18726FE1D09E92614AFEE65EBE1
:100E6000F8FEB8ED880A44F98D1C3A1743E949F8B1
:100E70008E031EFE73F9FE0BCD0247EDD006CF0E9A
:100E8000B6F80A0BC40439F1F8FC71EE11FD390B08
:100E900052F5E82290F7DDDA512415ED47EE681897
:100EA00050FF53F1300B37144FF01404BEFBA2F384
:100EB00071FF200692040800511080F4C3F32CF453
:100EC0004314501407DEFB1672FB73E4B402950A58
:100ED000B71CD0E05800340E65FC11153D09CBE17C
:100EE0006CEF9B1785DD730EB015C2F94BEC91F3D7
:100EF0003D2037E9D601B8186A0D4ADCDA0247020C
:100F000059FAFB2E37E9FA06EBD49DF7E51EC3DF4D
:100F10002323DBFC9AF3020CC9FFB5FA51F8340E17
:100F200045F61915ECF9C0F08E1931F39D0C61E806
:100F30008CF612109F03BC057BF7F50D4FDA5608AF
:100F40000D1244FC570649E33C0F3601BB07D80A93
:100F500085F17004CAFD200802F6D3112E03AEE21B
:100F6000BE1080F579053A048C0CC4087BF8D2FCDD
:100F7000DCF67A136FE10F1CCC0759E8021F72E50B
:100F8000C502AB05A9F8E4FA61FFEA030AF6EB1221
:100F9000F608B708C3E036ECDB125EF63E1925EF23
:100FA00061FDEBFE8A04D227F6DB520C0AE335F032
:100FB0001F200F0ACD182CE20C018FFF91F541F78D
:100FC000DA187500EFEB4E20F2DD1E138A041DEDDA
:100FD000F61BFBDA2E027AFF2D06BB1D94FC43ECB8
:100FE0007AEBEF17FEF5BE103E05F4FB860259E8DA
:100FF0007D1768F03E1AD0F5A7EDD61350E96A26A2
:101000000EF7FCFED2006FCA83119120670837FEED
:10101000F4FEF3EDBC044703E5F38519B9D53B169F
:101020003D0AB7F4602DDBCFBC032BFA76FF9B02A1
:10103000A4FE24205CFF71019FEA4E08C5ED9607CF
:101040008009B6F5BF0C66E3DC22ED0862F74D0CB3
:1010500036C4951E98F9F8FF842228E1662506CA51
:10106000E315B5FEAB18510D2CB6DE4098CEB44159
:101070000AF8AEF3322E809F751643FED0209411ED
:1010800033FE05E9F1DF7E13B0002F3BF9F90AE1E9
:101090004BEC0CF0BE0D5B1A0E2220F0A8FEABC785
:1010A0003CFA741D200A543DF7D547EA95F4AE0981
:1010B000F9257A14EBFE37D4A0FB03DB8E17BD169F
:1010C000990BA90D64D861FF11EA5D127C1F5B08C2
:1010D000210116D1D8F4A1F9181C741EBBF4CB0C55
:1010E0006ECF3F0216117406BF1D0AFAD7F8FBD95E
:1010F0000511B9E66419DC3715D5FF0549E178F526
:10110000B415B81AEF146EE865FD24E0D40B5D1336
:101110004A0A6017CFE31D04DCE0F6050B1D0A0B3D
:10112000FB16B7DBDDF147EBC113FB1AEC11B9FE7F
:1011300033D23F0164EF8A150D272FFE0EF9D3E459
:1011400043EC09FCF61DE314570484F472CF430208
:101150008310AE1F541550E9FEE0A9E20D148C0F68
:10116000652A64025AE1EBECB6E3FF1B0A0D7C1E14
:10117000FDFA78DE2DF180F4BA23340D3A1712E22D
:10118000EBD58E052600C432990D2FFDC7DF05E58E
:10119000C6126C04B527DBFD5EF726E96DEDAC15D4
:1011A0008104C2243CF811EA19EDD1F0421BF90D7B
:1011B000FB1AEAEF25EDC4EEE0F8152A54FEDC0C2C
:1011C000EDF3FCEBA5F896048F12A800AF1C77E1B5
:1011D0000FF4EA04A2F2891BE00EDBFD0DEB02F531
:1011E000D3FBAD10E714D7F80403B4EA01FAC00743
:1011F000600092198DF371FF35F32CF5630A5C02E0
:10120000BD148DF2BBF5BFF59D0D59FC7101331175
:10121000F0FB180711EB2D0423FBE00DB30883E46A
:10122000BA0E8CF6D8F3FA1B970285F261FFC6FA64
:1012300016FBB5107901DBFD5A0971EDF204A8FF28
:10124000D30EED09DEFFF8FEF3EA800969FE2E17E2
:1012500075002CF8D4F6F3ECF50D680483104B04FC
:1012600097EAD6EBFB01800CDF117F0E4CEAB8EE5B
:101270009A0423FAF317790530F5A8FDC4F2E200C9
:101280009B0347172CF8890630F458E9CA10A4FECE
:101290008311530413F4BBF33CFAD4097F0E4F01BE
:1012A000B6F595F3E4F8D907EF13D6007EFD1100EB
:1012B0004EF4AB0340FC170D9E07B804FEF43DF45A
:1012C00067082AFE200A7E0190FAD0F5E3FD05FDAD
:1012D0006F0D6708B5FC48FC49F8B00104FF310503
:1012E0006C043E0306F9F0FC23F974069D0B15020D
:1012F0001AFEA5FB63F5FCFF340CD3FBBF088CFA88
:1013000061FC27FC8A049F003202350AB7F208000C
:10131000E0F7DA00E00D3105FC0065FC46F17EFEE9
:101320007409DD075707B9FC55F8BDFD1AFB93009A
:10133000381044FDBD01DBF902F84205380C0707FF
:101340003BFF74F453ED2D07CC07620F81045FF26D
:101350007CF55B0511FEB3081B0E9EF3970087FA20
:10136000A5F778093D0C7A00C90089F39EF1AB041A
:10137000120D730ADE0252F401FAC003D6FE280BE6
:1013800009FC65FEA5FB69FF420569018E04710138
:10139000D1021CF13CF9B0024A0A1E10A4FE03F36C
:1013A000A0FB66FAC904FD0C16FD06F9E3FB87FDF8
:1013B0001D033D08BD004A0622FEE8FA27FBC5FED4
:1013C0008E02FE095705B6F6CBF977F6060E280B06
:1013D000A4FFDCF7DBFB9F01F303B0010EF771FF05
:1013E00010EE4BED7EFF1006441080379230351E14
:1013F000C00664D75DE7A5E30BDFBCEE88F53E07CA
:10140000800AFF1ABB1D18F3C8F3000056F6E7FF69
:10141000541403F13CE68F1159F9D007380D12F935
:10142000DD082310BFF57AE89A0413F3E908AD0F3D
:101430001BF5EE032A01A2077103B9FCBEF70CED00
:101440006BF52504F207010E8E164DF80400CAFB59
:1014500000FED8F512FCCBF564EF0A215EE4A13A58
:10146000B9FEDFD1A61E03DC8600D3FAEA06B9FC7A
:101470004A1D421949F77AFD9DDF5207C2254CD11A
:1014800047EC1F0C93E78D4961FEA9F90B0725EF87
:10149000C2E4FAF1B5FD94F86C30F3EE78201C0943
:1014A000A7F062F774F188F751FA33FD8AEE5635EA
:1014B000E80FB0FF4B02CBE1AAF32B12EEF2B80219
:1014C0001C096BF744103A0206F85306000079F045
:1014D000FA094CE8300BE314BF08410CD4F65DE583
:1014E00073F64F170FF6B81626FEECF84D0F1002E4
:1014F000CCF43A046AFC23FAB70696EE85053A0561
:10150000A207F0FBC30903F2E200670737FC740986
:1015100066F7E700DFFB6804D8F6EE035EF9E71133
:10152000930045F87C07F3EE5E0C0304F5F67CF2BD
:10153000200A0110FD0CC3F641F4AEF376FE3B0128
:1015400084F61A10390AB309630847ED0CEEAE0CA5
:10155000F9F79C0F4CFF9AEF2D0831076B0B6002D7
:10156000CFFAEAED0BF3B9FBA90D7407900C1C053B
:101570009F0292F149F841F551FB701C0EF99B0353
:1015800076FCA801170B3A06E1F336EB82FE7904EC
:10159000D907EB13E1072CF8A80092EE4DF724F5DC
:1015A000000121022F0F890654FD670958FFAF047F
:1015B0003AEC34F633FB69015D141C0866F9BE0E83
:1015C0004AF2F0FC3604D3E431078009AA0851FB43
:1015D0008F0040FCE00DDFFD78F16C0483FC3605E4
:1015E000D30E630615EB060A5FF3D2FC9D0B9EF249
:1015F00093FD700843FEC101BC044AF29C126FF6D1
:10160000C0044810C1ECCAFD2F10D3F9AEF8611226
:1016100027E4D2FEBC1A17F8C6FABC060B08B5FBC5
:10162000B5E7F300F90F24F4020A501469EC4AF309
:10163000C81B49F5F0F95706FBED3202380D371497
:1016400000FE81EF81F11914F3EDAFEFF9250DEBF9
:101650001005561EB7F4B4EEFC0015FE170ACCF3C5
:10166000FDFBE313B0EB8B10071AF2F163E0E10727
:10167000A30481F0E108A4FFB31B7EFEE6EF16127F
:10168000BAE1A6077B0E53F165FD59FB7119F1F81C
:101690006F0B92EF74F43BFDBD01391FE2D9BE1010
:1016A0009607C102D80880F394FBEDF7660C4AF365
:1016B000100617F89B036419DEEE6BF773F7DB1265
:1016C000E50723FB660D9ADBD10453051B0C8FFC49
:1016D00077E2FB181004A50F7CF5F0F92CF3520704
:1016E000B51459E82BFBCDEFFF1AA20A0DFEBB087B
:1016F0003DDFEE0533131FF99EF2260074083D0B03
:1017000059107CDF4607E8F800FE0622C7E1821583
:1017100046F1761490F7CAE79C138FEBE61737D2A1
:10172000A5370EFAB8ECAB317BCC0B1E8BD2320155
:101730004B1AF4FD5C00E5F3E83AF8E903086DC0E4
:101740008D09C62490CFE04EB2CABC18CFFA8EEDF8
:1017500029193FC09C3EF5CB513AB0FF29DB4D2300
:1017600012D0A53A22D25F1CA6DE4011C70B2DDC99
:10177000C63D78B4EC50DAEAA7EE3BFCC7DFB734DD
:1017800051CDCC1D0ACD2918781FA524174C669081
:1017900062F988CD9206613D130B53306EBA990DF4
:1017A000E5C92A13402498E339348CB969282FFB02
:1017B000DA012906E2EE02F4FEDFB24BC2BC9C2540
:1017C00041F434F8594FDFA8332832D9B4EB1F362F
:1017D0007C0B1E12E7C0840B85F36A3CAF06B2E0B7
:1017E0005D14DFA8B42DECFBB819B6F92EECC52BAF
:1017F000AFEE7323DAC03A189BEA5303B6247BB8E2
:10180000882446080235060A6DD5E5DDAACAD12E20
:10181000E40B87101D04D0F2DD30E7E8BC0643EA94
:101820004ADE9F03AB06E909A9F85539F302AD106A
:101830005ACABFDFC21027E54F2E2DEEEF00F1F69A
:101840006B21C81BFBD9EFFF13DE8710E1F2820189
:101850009C2528F5222AA1F7F7EE45DFB1E683247F
:101860004EF5201CD9EE4A088A1799F4DDEF5DE6A3
:10187000F00EB8EB851AF8EA911CD506FCE8BF4AD1
:10188000C1BD7AEAFE0897E9792CDBF98CF71D19BE
:101890008DF527FCA910E9E07EE86A2384E065293C
:1018A0001B0DFAB2AB4591F5BC021F0F21DAC9EE50
:1018B000EFFF68035815662537BEE8234B00B3DBFE
:1018C000FE2113F74BEB241D12FA3ED9F93AF8E842
:1018D0000AF7262A16D026FEAE1FD4DD313096F147
:1018E000A2C7633143EB48FCF93813DEDFE8332647
:1018F000F3C24F1BEF16DCE05A1F5C009BEB060E99
:10190000DE029DE32F28C2D1A2F5673584E1CB0E1C
:10191000F538FBC254EC622224C72627E311ADE55B
:10192000A21EE6EC46EFAA35B3DC90F94E1C9AC431
:1019300016103A2E55E3D615B4190BB48820D1EE03
:101940009CFB3C23A9CFCD18340EA1F79E098B2711
:10195000C4C61804631C0EB8472EB20B14F295349B
:10196000B1E4B1E7240BBAE5EA1A8310C6D08908BE
:10197000882132D8082CA20A00BE8B2665FC1404EC
:10198000440F3CE648FD7A1475EB0B08501554D310
:10199000222A5401B1CFC92B76FC44E4A429D6EC09
:1019A0000FE02C205EF5A415170A60C2AA1FB30928
:1019B000D0F16B344DE299DFA412ADFDDCF43A1B9B
:1019C000E5F2A7EDCB21E2D9B3082D1AF5E1C62542
:1019D000CEE9CAD39A3214EEA6082A2A0ACBE3E645
:1019E000F7154E06A3040B1DBBDE9DF92F1128DE53
:1019F000B528D8F481F1152C85D901E65924F0FADF
:101A00000707CC1BC3CA01FAD51C06F9E11BEFEB93
:101A1000BBE0C7200AF642069D20D2D2F6F2A21DF4
:101A20006CF2C1014C13D6D79717BC1934CC931262
:101A3000F2F15EF9A61D29EFAAF5461A712C340BB6
:101A40009EF397D69B02B7F11DEB8D346AE675EFD6
:101A5000D00994FC4B1921052DF2C9FFC70A05CF07
:101A6000351C120F13DED049BBDE8AD89F2C2BE425
:101A7000C2F8B926B8D97CF2A92643EB3D1FEA0388
:101A800067C976263E048DC7CC1FAB04F3EC5C2DF2
:101A90008FE733FF6732E8CCB3F3E7166DD7CE1389
:101AA000E00F35F4862C4EF48CB86332CF100ACF99
:101AB000C02D6FE0C5FF1C31C0DA9C0F941125D8F2
:101AC0007408AC0174DC5E243B1412E5FE1F6DEB60
:101AD0009ADDC52C22EAA0FDA719E6DBE00D0B1B61
:101AE0005BF33C0D8AEB45E23A1B07F446083A1BD0
:101AF00081F198FB9E078AEE5DFAB51190F74302DB
:101B0000A0FFC4EE8D078D1EE1057CF512E577F888
:101B1000800817F49A1B58006AE5BC1830F7AEF538
:101B2000BF1FC2E72BF95E0D3DF32FFC0F0A76FDB8
:101B3000EA03520CB3DDF315520A49E4251924F1E6
:101B40005CEBB01876FE47021805B2F6DE026EFDB9
:101B500012FA3F014E06F7EDAC17EFFEC1EA531B38
:101B60008EEEEA02B110C0DC7EFF0926ACEB7E00EF
:101B7000E80EA9E49713EB126FE1F41073F546DD5C
:101B8000C12AB5FEB803AA0CE3E764027406D5EDDA
:101B900025051F0DEAF0840A09FEF701A0132BF9B1
:101BA0004AF3F4FD2BE407055524F8FBCD0037FF7D
:101BB000C6E59F034413A7EC7610F4FB32EC4B17F9
:101BC000F8FBA0FC410C03F32FFC6EFCE6F0B8160A
:101BD00018072FFAC1FE1101B7F4D103D506A0FFF3
:101BE00029051AE4DC0B5B05E8F9B1129F0030F916
:101BF0008E0405E97DEE9825420681F1F10ABFF6D3
:101C0000FDF7B111A9F8FCFF0EFAD0F13D0AA90DBC
:101C100050FDE3FEA0FD91F2170B99F46806730DD9
:101C200014F1D104E4F83DF6F3175DFE8DF2F413E0
:101C300025EF24F1BF1EB9FC47EC3F13C7E300FEBC
:101C400041221DED5F08E202F2F0D007C404D9EE94
:101C50000707DD0751F8680527FC58FFA50E76FD3C
:101C6000F6F4AF04EAF12C094F05BEF8910A34F9F5
:101C70009F02300CB4ED7CF3BE10D4F4350648144A
:101C800070F14204FB0566E56709D40BABF0BB0BB2
:101C900021057CF42EFF93003D0C980EABEEE1F491
:101CA00091F58FFDFF04730C030594FB1501F9FA00
:101CB0007A12CBF55802AF04F6F34AF1D1EE6A116D
:101CC000641AB111C6FB3B001EE6FEDF590F9C11E2
:101CD00080F32A0257059204340FDE0312F9CAE892
:101CE0003AF0F9F85C15F8119D0C4B0527FC4CFCFB
:101CF0007FE4D8F75C0346F1AF08AC15CEFCFB19C6
:101D000011FE09E60C0208EBA1F671167A0026FF17
:101D10009F18A702E3FF61FBF4E7DDF10304A8FDD0
:101D2000F10A3D0BC903031927FC81EFC8F082EBD0
:101D3000EB01400FC5014B04240BEA02F60537FF07
:101D400076E9A1F76EFA23FBAF1DD8F566F9751990
:101D500078F52808FA0907DD840AD10196DA181AFD
:101D6000AC1644FB4608E50990E40AF90E0D70F143
:101D700058FF5EF67903B4041B0B741C5DFA3FEB4D
:101D8000A0FDDDF091F408179604E3FC1B0AD7F9D7
:101D9000BEF8D006B306E204E5F27AEACEFC3D09CD
:101DA0008505E11CFF0403D9EA035302EAED910A19
:101DB000BA0C94FBB1123B120EF852F6AAF6F9FADD
:101DC000D2E911E71113AC13CD020F20E3FE22E894
:101DD0000EF90EF71EFD8FFED103AB03F8FDBC0517
:101DE000BB1C22FC53F03BFFD3E4B2F548104E0A73
:101DF000A400660C5A0A56F565FF9CFE2BFC1CF3EA
:101E0000C8F37C0BA6F5410C5A20C0044EF492EEA8
:101E100020F3B1FB2A023700230C63F5FB01060B0C
:101E2000BB087B0D85F32CF59EF49B018FFF5707B4
:101E300061FC38F6B514A607B7F377F8A2F20AFAF0
:101E4000900F97FEE6022D05D6FFF8FFC80523F98F
:101E500041F3AA0893FDE2038D07A6F215FFC30C18
:101E600074F2930076FF000187FCAFF2D51AFBEF06
:101E70004AF3301FDCF4B900AA0C78F359F973F86F
:101E8000A10DB9FFB5FBDC0D29048EED01FAEB12B3
:101E900077F88CFA7BFB1EFCB2F77118C70CA6F31F
:101EA000F30166FA4DF9DAFF0B0946F3EA03F0FC99
:101EB000880A3BFE0FF6A10E2FFDD3FAE9F4C7F511
:101EC00002F8D2163F1433FD24F42A02F4FAC406B1
:101ED0005B0563F41FF817F8811B61FE82FFC5FFE5
:101EE0009B016AFA4AF368047BF742068C0C2D06C4
:101EF000A6F31C0900FE6401BEFA72E982016709BB
:101F0000F3171407790202F428F53EF1CAFA33FDFB
:101F10009B014C1197FE2F0F11FD02F7E0F990F88D
:101F20005AF8A4FCF61CAC141AFE5DFDB7F1E7E903
:101F300016F97EFF130CC6FA9108FB1998FBD4F62C
:101F40004EF133FEECFBC3F63909410B680335094A
:101F50006C038CF9A4FD0EE302F7C6125A0BE601DE
:101F60006D010910A0FE0EF853F017F7D7F950FED7
:101F700065111807D80A27FA05FCC100D1EE08013F
:101F80004302F8FEED0A1AFD18065E0B6EFA87FE94
:101F9000EEF11BF78A00E7FF5207C0078FFC08022B
:101FA000F205FDF9E3FC53EF670A3E06D5EF8FFF1C
:101FB000340B2C0DA1F94205C4F15BF2DD07BB0B1C
:101FC0008DF454E9042ABB1E42D9B9D1292DDE2E45
:101FD00092DBDFE5AEF7B511EF1363F251F853066C
:101FE0003E06B3F103F1CC1DBB0A18F36EFB5BF0A8
:101FF00092062A15790265EA5DFDA3011D02170A02
:10200000EDF3A90D520844FA14EECDEB841FE90953
:102010002CF8EA0418F2C4EFE109681837FF3F0210
:10202000FFEDCEFE7FD102B8FF7FF8500080FBB0FD
:10203000FF7FFF7F008000806B61FF7F340B00809B
:102040001C09006D1CF3C807A58FD2FCFF7F99E126
:1020500006CA29DAC9155D527140CA910080FF7F16
:102060009534FD9048128FD3B93D7F25B6E2A2B2D8
:10207000B621A25F0080F0282032E8B94D3680F604
:1020800016F906DFE932C3F68EB0FF7F02CA3BC005
:102090008A2E92D70C30ACFE000095CC4E1DE7295D
:1020A000E1B2E15D0DD426BFD54678F533FB77E389
:1020B000E91F0A0BF4FC1C057BB77A284E1DD8F3E8
:1020C000BF09BFE065FC1C09C03120F069D30525BC
:1020D0008DDF4300FA1CF1F5570472FDED08F0D1D5
:1020E000AD25EA1A3FBE4C3F8CE4A4D5A32C06F7DD
:1020F0006E0EADFC4D0FF8D271FF3B41F9BA592677
:102100008D06FDCF8B2646F3510D6FF4A90EEAF133
:10211000CAE95F1D25DB252F1F0CF7D7D904020B59
:10212000FB017AEB851CB3DAE2003F28A9E35815DE
:10213000F8FD91F62EFFE203ACE945F5503F56DF7E
:1021400003F0BC3010DA43ECCA1334F66F0C070707
:1021500096F08DF3DC1F1A13B5D0951DFADEC7F487
:10216000373FE0E1CF0C9DE3800CA50D71EDC12858
:10217000F9BA510D2B23EFED211608EBDD08BFF264
:10218000FE094B00C2E47721EFEB4302A31631F0C6
:1021900015FEB60B6BF3FAF1251A71EC85F0CC1F26
:1021A000200847EAA608DA020EE51222A40022EA75
:1021B0004B17F6F308ED510D410B7BF8BDFE27FAE6
:1021C000BEF8EB00AD110801F1F4890751E5EB16FB
:1021D000E80CFAF4CF0DDCE35A0CF0F90C026404BD
:1021E00092EF062110EFB5FA61FFF1F48C0F9F0119
:1021F00089062EEBAA08630713F33618EEEF1FF7D4
:10220000490C7FE64811922F90CC0CEC4D36C2E47D
:102210009CFD3FFF6AE3F9254A067CE0BD01C3202F
:10222000A2F498E3DE19C2F958FEF10BBAE2B80441
:102230005A1FE0F9AAF2450B75EF8DF27518D50318
:1022400010EF940E651140E4A400660D46F11210E3
:10225000980FF2DE2BFAF00EC5E9A718D504F7D7D0
:10226000490CDB121B0C51F7E00CAF04D3E648100D
:102270000DE99702B71CF4E7CD00FD0E2DEF0AE340
:10228000031C230D40E55014BEF738F6A717AEF730
:1022900002F87C0B4B02EAF1CC051002FCFDAE0902
:1022A00033FC27FB1BF56AFC09FFE7139A0638E2AB
:1022B000BC03AD0F1FF7B000300E17F696072FFBCB
:1022C000EEF0C21197FE51FA00FF960439F588F737
:1022D000C917E203FDF8B9FC28F2CAFB19180C046F
:1022E00042EFE90900FFD6016B0CB2F4E6F0B00250
:1022F0006C0365FC950CB1FE8BFB35070DFF99F661
:1023000041F3FB02D6016F0D9509F7ED910A9E0886
:1023100013F59301C0F0A8003E047008460833E8A6
:10232000230C16FC65FF331493E89EF4C309DF11F8
:102330000D00ED084FECB4EB7F270BF490F9ECFAAD
:102340007F0F6A0E42DB140519010F1DF7EFD1EE66
:102350005F07E1F25319CEE7841FD8F729EFE40FA6
:102360003AD80A25C2FC16F9B709000270F3DA015F
:10237000A61D17E11114D5EF04ED3F14DD072BFC6A
:102380000EFA33146BE22213F3FF5EF637FC09FBFF
:10239000FF1A05E96515D5EEAB079CFE01F97AFF3A
:1023A000F9E145378DDD5A1FA4FE9EDE891DB6E496
:1023B0007A117BE4112921ED95F493297FCD112722
:1023C000B9E911FDCA1075EBE10722E83E2DB3F122
:1023D0005400D40C34E1160FE8E4D32328F6570355
:1023E000A50EA9E2FC1404EA2F11EDF5BF0C9DF82F
:1023F00064F0761394E4881F1FF76FF7F303CD01A1
:10240000140356F43616FEF5A4001CF1B4020818A5
:1024100032EECB0F1BF5D4F5A1F8DD07F50C75EF07
:10242000D02055E767F3CD00B5108A1540E78E162A
:102430001DD8BC026913BBF3D7110400B60B2CE006
:102440004B05C5004CFC0C17FFEE4E0BA3EE26FE11
:102450003B019717BEF886D67F3B6DD80AF7B926A1
:1024600052F2AC0114F2871303EFEBFE3C0D6EFC4D
:102470009B0043013B01A0E860177100C2F9E00F27
:10248000CFE1C102A10EBBF52409A50CF8E8A1F922
:10249000181AADE3DC0B2325E3FCDAD5DBE7B23712
:1024A0002FD1900F663B3EC5750276FE41F4D229CE
:1024B000F8FB76E95B1E33D0F300222666E3B331E6
:1024C000FCD568EF5A1F7FE35E2453F112F8A8127F
:1024D0000DE630F47D2E55FCABDAE11E23E1DE176C
:1024E000C40677E2772125DB0A0EF413E5F28908AA
:1024F000D9F2C8F38F15690028F2AB1AABD9840B57
:10250000FA1D68D8BF1E54019ADC780A340F40FCCB
:10251000390B8F00CDEB310904ED1A0F840DA6F4B1
:10252000140767DF5C19780AA1F9A90E5EE3CAFBFC
:10253000D6157BF7A7EE631DC9EC6000211835F1B5
:10254000AF08C1E83D0BF60735F1900F38F6600192
:10255000E907B0EC990BF00EFAE0BF0B9300FBEE2D
:102560001A26D2FFB0EAB70807F048FE8C22E6EE42
:1025700098F912FBF6F05028C5EA94FA11152ED4FA
:10258000791A6C1D57DB410BB70A7FE6ED0C70071B
:1025900050FD150231F0F208A1F65A0DD90381EE73
:1025A000662272D2CFFA9B2A9BE99B00BC06D3FB22
:1025B00036EFF11F01FD38E45A1F03EFCEFD1B0B70
:1025C0009CFB72FD49F70D1116FDF0FA290747EB48
:1025D00040111E1045E2E7119F01EFE9A10F76FFC0
:1025E00001F9D40BB2F940F9800C26FF710361FDAB
:1025F000FDFB33FC6FF682139CFE60EF441339F54C
:10260000A9F9551111EC410A2C0C7DEDFF056A0F5B
:10261000BCEC8CF7AC147BFBBF0841F762F6910869
:1026200028F49D0D24F46F0A280853DA0525A4FF29
:1026300068ED971708EDC3F648115302B3F0B018D0
:1026400030F8B2E1E11DA0FB67F5D40B00012BF9D6
:10265000F5F7450BCEFBB1FBC20E38F7E602C10120
:10266000E9F2170B530430F5CEFCF50BE9F201FC4F
:10267000D31102F7C90126FFDFFAAB039A04BC02AB
:10268000F1F4B70A50FED1ED421A7AFCD0F12B10CA
:10269000D8F6F9F981054B01BDFCF20877F61BF578
:1026A00086155DFB61FC3202B803EF010FF33313B3
:1026B000B6F638F6900E1DED4F174CFEEBE9620EA4
:1026C00051FA000187FE780A26FDFAF1C70A2A02AC
:1026D00011002601DFFD30F9FF045401ECFA591115
:1026E000E9F3DAECFC1172FE61FD5B0602F8E3FF30
:1026F0006002B5FD1B0B3105CFF6C901C101B7075B
:1027000018F07AEA120E83FD670A4D0EFBEF1A0FDE
:102710005000FCE9BF0BB6F9CCF292034206560C0E
:102720000C04820045F50AF9730B02F767F33B14BA
:10273000EE0419EC001783FD91F30D123DDFA31693
:10274000240814D9D51BF70205FC4703A301A0FEFA
:10275000AAF5ADFCB5FF9826DDF261D0FB18C720C5
:1027600080F58AEBC70A34FA01FCE7000DEB262B53
:10277000F20675D69F174F03E1F1FA0784F5C903F6
:102780002B0F3CE34204AC2ACCDF09FC96197CE118
:10279000A50EFCFF26EA4922A9FBB5E62A16F3039B
:1027A000B1E70A0C7007BBF1A608ECF8EDF62519A5
:1027B00009FEC9ED1C1BB2F907DE631DD90496F0B2
:1027C000401160EF8F006111D6ECE40DAF070EE20F
:1027D000A3044F050402D80DC4F08F00C20F9BED77
:1027E00083FAE218E8FB8FEBFE08580209FD2AFE87
:1027F000FEF4CF0F890897EB780651104CEAB80326
:10280000C11602F5A20A01FA8BEA501499F625EED8
:1028100025189CFC57EE980E0305C1012D076DECA1
:1028200016F9270F78F44B02291AFEF213F6410C21
:102830005AF88BFD6803FDF8AF079E09AEF3EA0373
:102840005F071DEED2FD14057E007D039CFB25066F
:10285000FD0E66FA77F8310853EEAEF3300E93FEB4
:102860005A0EB000B8EC4D106D020CECE2020C05F3
:1028700080F6BF0B8C0CB9FB3604E9F2E9F3FA0AD7
:1028800009FF35F4A6090F09C2FB6F0ADFFDD4F476
:10289000EBFD8DF4AE09F81089F1BC028D094EF5FF
:1028A000B7070001A6F63605A2F205FDDD1C33FCD4
:1028B000B8EEFE082AFE2BFD180430F9F2052D05AE
:1028C0000BF31003340E20F3E3FC940F23F733FBD8
:1028D000150209FFC407EF0033FB6C04CAFD20F4A6
:1028E00074068104CEFD21036AFAEFFF2D04D3F9AB
:1028F000EE053108F3EC6D015A0EE1F078098D0A0E
:102900009AEF3E0593FEB9FCCF0FC5FE9EF4470338
:102910002E011FFA100544FC4704BC030BF2830E82
:10292000AB07CDEC3700F60997FEFF03150134F530
:10293000180443001BF70F0AB0015AF7A703360427
:102940004F02A303FDF70FF6CC067AFFC1FF39074C
:1029500087FCCEFFC4048A0159FC99F6A0FE300B17
:102960009CFC7FFAD80869FD83FA3A044B030D00FA
:1029700016FC2CF76C03730D3CF810034D0DC6E7E5
:1029800011009C117FFCFDF932EBEC100A206EE681
:102990006EE62820A20A53DCDA00311A660D2BE419
:1029A00068ED0E23C006CCDD2A01E52078F559E755
:1029B000EE040620EA0524C996066D2D2EEAF3EBF7
:1029C0002E17E90832EE2FFD2E039010DCF55BDDAB
:1029D0006224A10C4BEB880E4AF424F6A81434F8B8
:1029E00001E74A1E380FCAD46DFFA9239B0152DFAD
:1029F0003CF92F2531052ED69E085029B1E823E158
:102A0000971541200DE9E3D3851C0636C5E967CA51
:102A10004C269B181BCC7903F025F10BBCD8A6DE05
:102A2000E037B817C0C47006CE2875EBDCE1FB04B4
:102A3000033137FDE1C5340F82298DF38CE4840B1B
:102A4000141B1AE58CE09424BF1ED0DFD3E61C1AB9
:102A5000B514B1E83EEFA21CF30280DDB305301FD0
:102A6000560841E18DF401250AF81FE45414A20927
:102A70005FF21BF56003CF2159FAB5D281186D17AB
:102A800074DE7E01C5150DFD2AEAD3FB6B1E9E0583
:102A90007BE522FC4715AF043BE897FEB819A5F784
:102AA0009FED2B0FF609DDF3B3F2D105E2195FF0CC
:102AB00061EA3E1A14066BF36AF8E10898126EE8B0
:102AC00068EDBB206405B5E5170A700844FAECFA16
:102AD00048FC441311FD4DE3A2084A1DE8FBA9E69A
:102AE000B000E216E4F814F0840D89082DF053EFDD
:102AF0000418471772E90CEFBA10920318F3640236
:102B0000E604740947EAB1FBCC1ED7F807F4BDFC14
:102B100057042504CFF93FFF8F110FF6ACEC711568
:102B2000890788F63CF8EF000A0CD2FCD0F590102B
:102B3000C6FBCDEE240A6707B4033DF249F96610DF
:102B40001100DFFAD505690177FA4FF0E108971413
:102B50005FF3AFF07807B7095DFC8CF74E06450BC5
:102B60009BEA22FD1D1733FC03F12A025F06D00702
:102B700045F78CF8A41249F7E1F4A3035E0C1D029B
:102B800070F0A703730C30F5ECF9410AAF0477F845
:102B900024F4900D3203B7F043FF312FC903E1C98C
:102BA0006CF0281FC22424DD9FEDD30F940D2D045B
:102BB000EADA8D0A552574DE45F70B1F11EB60022A
:102BC000F2070EF74D0DB4ECEF02141BB0ED74F0EC
:102BD000E6016A11F30339F24B03820099F4F60619
:102BE000A90F44FC8200A3ED0306F812DDF35B0895
:102BF00002F8D0F4D90583FCE617C2F9ECE4B0166C
:102C000004012BFB280A95F4E3FE20063AEF581442
:102C10005B0866E6C806B0FFFF03430219FFE70042
:102C20001AFC7AFC840A5401F1F6DBFD55F98C0F8D
:102C300079012CF7A206E7FF3DF45304300E0C0295
:102C4000D4F2F6F39D0E470161FFEE05AAF5E60505
:102C5000C3F7A800681925EED1EFBF0820086DFF63
:102C60009B003BFE22FFCAFD63F20513390B19EEF0
:102C700023FB53026B09110116F99A071BF9C7F7D9
:102C80002D050B06FB052CF55EF79D0DA302A6F3A3
:102C9000C8086306BBF554FD80084E0730F9F1F50E
:102CA000D009C1FDBEF98E0469FD7C0BC7F4CFF7D6
:102CB000F715BAF614F2520CD503E200C2FC0DFC73
:102CC000670BA5FB6FF65E0B680351F848FA10041A
:102CD000340FC4F15EF9C809DBFB190186FF8E05CC
:102CE000C900FEF39701941027FB80F4B3069B0004
:102CF000ACFF8BFBB001020D7DF04DF9490D0306D1
:102D00007EFE10F1D9068E0567F46806740945F554
:102D1000A5F881076707790334F551FB9D0D2FFA5C
:102D20006AF9B20D72FC34F912FA5609BF0918F2A9
:102D300098FB3E049A08B9FDC6FC2D0554FFDDF250
:102D400081043313BAF928F2B400CC0987FE83FD5D
:102D500010057101D0F383FD7B0FD90388F8DDEFF7
:102D60001309DC0C3CF88105D2FCADFC2BFDB00254
:102D700095092BFCD3FB40F9D409080395F5DE0235
:102D80007C08C2FB25EF1B0DFA0A4EF52101F5F96F
:102D9000DD043D0830F7890526FF34F743038D092C
:102DA00012FCE0F53605A7045CFFE8F99B009A05E4
:102DB00094FBF3FFDAFFEE07B40121EC7F0E350838
:102DC00063F579033BFDC005E3FB62FA9A067C07D5
:102DD0006FF891F60E0CEBFD55FBDD047E0187FECE
:102DE00094FAB404F700ADFDD6016DFE2105ECFAAE
:102DF000FDFAF20883FCECF90F08D80973F713F316
:102E00003507D1031AFE740558001AFB98FCCEFE54
:102E1000C0069607E4F7ECF936028E04AC02B9FB63
:102E2000CEFFA4FE51FAA206630683FB15FE26FD23
:102E30001308CD03A2F54303CC065AF438F8E40D89
:102E4000060B6AF8A7EEA3033D0AE60204022CF47F
:102E5000DBFD9604D601FE09A5FA8DF19B0331092D
:102E6000190161FE40F8D007340D77E382FF41215C
:102E7000CCF27EE9BB09880B65FD7EFFD3F8C5FE69
:102E80004607A9FA8905950981F1ECF8C807BC0342
:102E90002809BEF89AF0E5091C0622FC5F09E9F64C
:102EA0006BF3BF0A1002F605E7FE08EFD40891099C
:102EB000E9F6AF04D50680F309FDF2059F010E0E79
:102EC0001BF5B4EEC20E9B038DF5C807790436EEF0
:102ED0008D06240890FBC9044EF5D102AE0D06F80C
:102EE000F8FE81061FF797FE7405E2014B05BFF35C
:102EF00087FA5E0E00FE76FD0804F5F52AFF8107CD
:102F000026FED009F0FB3FECD0085D135EF6D3F847
:102F1000DC0966F953042FFC250244103FEC56F6F9
:102F20008908E50647FF76FC22FF66FB0306B80525
:102F30002006B1FA1EE899097F2494FC37E67BFB52
:102F40004B052006A8FE4701D10246EFA0FCB111B7
:102F5000A304BFF39CFBE1092FFCE7FE7501C1014F
:102F60004A0AF4E99B004F1935F165FCBB088BFB5D
:102F700027FC0400C80586036BF5B2F82B0FA4FFED
:102F80003CFBA8015DFD5B072BFA76FF5F0538F976
:102F90003605FF04A1F6CEFE8E018E026C07D4F337
:102FA00072FA3D0B9202E7FC66F7D502170CBEF9E8
:102FB00033FE7101FCFDEE0550FCBDFF920448FBA1
:102FC00000FE2905CAFC43FFC10172FB3908F0FA73
:102FD000F5F9510D83F9BEFA960533FF8D061EFCF7
:102FE0001AFA8907150137FCF8FF9A042FFE77FAC1
:102FF0001100A703100398F9CAFC1F0B67089BEC8C
:10300000E9F629184F0374F248FBFF055F05F4FB4E
:103010001900D50472FD98FAB0FFFF0247016EFB5C
:103020007807A4FFFAF326FFA414EB0152DFC610C1
:103030007D18B6E41CF4512401FDC8DD55105D1067
:103040002AFE2AEBE4F8DB26DDF0DED93C26D71198
:103050008EDAFCFDC515C405EBFEA8E8F10C660F81
:10306000AADF9618140458EC9A0893FD0000100586
:103070004702A6F1800AB5FBF0F94717CFF717F51D
:103080001D0186FFCC07F608AFF2F5F8230DA5FB6E
:103090002103F30260EEA4136C034DE27A13D00A0D
:1030A00068F0D907D2FC23F7331334F578F55C16B2
:1030B0002DF12AFF9E05E8F89108B1FA9BFF7005F3
:1030C00047FF52F4730D7005EEEF5F08CAFB100660
:1030D0009CFDD7FB520AF4FA61FE33FE3506D4F6A6
:1030E000E602770E9BED4F029E09DBFA8BFCC5FED4
:1030F000B7064B025EF805FC8B1034FAB8EBB91535
:10310000100353F06003DFFCFE0ACD00FEF41C0543
:10311000E106C1FD24F4E21761FF4EDDD409FC1382
:103120002D0556F47CF50DFFAA0AFCFD4B014D0E52
:10313000B9E8B5FB280C6306D905EBECDBFBBA104C
:103140007BF9CD01C212BCEEBCEE3E07B20CAA0C5C
:10315000E5F53EF0FB0509FF3E07C503630640F9B0
:1031600096DB1A25ED0AB7F0EA06B7F03109B6F892
:10317000950A100505FC44FC7AE9D41DE70078F5B2
:103180001501CFFAA60B0BF2471599F808EB6D1451
:10319000F2F0E713D80A28E183FDD00A3908D2FDFE
:1031A000EE0753F153ED7518AC012C09A5F787E72D
:1031B00022114301F10B4AF42E034E0966E2A717D0
:1031C00043FE37FD8E011CF0F90FF1F8EA04790295
:1031D000BDFEDE0364EFBE106C0545F68BFD84F882
:1031E000270FF0FC7C09E4F6BDEAC01AEAF01B0EDA
:1031F0005F052BE5A50DBDFE5B08F0FA5704E0F86E
:1032000049F77E1217F8730C18F295F61A0FD6FDCF
:10321000EA0373F9D40A02F4B6F8F90E27FA4E0B52
:10322000D0F1DFFA0A0F87FADA0061FCE507E0F96E
:10323000A9FB830F98FBFDF9E8F84109E602DFFCE2
:10324000520757EE4703A70569FE620FA2F140F847
:10325000B002A4002C09EFFEAF0496F18BFDED0C3B
:103260008A00180452F35401A4003F02A70412F983
:103270003A0539F54E08460874F0E508A8FD50FFF8
:103280001B0A40F9150216FB72FC32043E03A70626
:1032900034F840F811FD200A2E0158006002F3EDC9
:1032A0001B0B530215FFC70AD9F0A4FF4B045F059F
:1032B000930145F8290412FCE6010C0451FBDAFFE6
:1032C0006D0015FEA4FE7407C6FA48FC9A0591F637
:1032D0005707B80559F9850462F93A03CD028F0002
:1032E000D104E1F0B708030462F99A08E3FE52F44E
:1032F000E7FC16121AFA080172FD42F1541383FC1E
:1033000076FC5B08ECF9F9F904022F0FBBF5CFF856
:103310005F0801FBE10758FEA1FA4B0326FEC6FD3C
:103320008A02C30A5BF237FDF6082BFC310727FC43
:10333000CAFECEFBC5FF9A08A5FAB3053200C8F253
:103340004204BB0905FADE01D5027CF4A206B306ED
:1033500073F65306B9FD17F8A50C93FFA5F922FEE5
:1033600036024B0482FEEF0188F91EFFC40405FEFD
:1033700035062600A5F73BFE3108C9011AFA4F04AD
:103380003FFD26FE5C0208028603A1F9370027FBF9
:10339000A3044F056FF64A0993FD56F6210367070C
:1033A00004FF2AFE65FFB6F5B3076804F6063F0082
:1033B00068ED1D04AF0782FF5DFE61FEB5FF5DFC99
:1033C0009A04780902F6BAFA1C063BFF250398FC1A
:1033D00022FE9605CEFC4CFBC007E6016AF97AFF97
:1033E000F301200651FA48FBE2044701B0FF8F00C9
:1033F00093FD51F8950A310861FDB9FE10F087FC84
:103400006114E204F30189F33BE747185B0644FDCE
:103410000E0F50EBABF18909380CA208B0021EE880
:10342000A9FBAA0BADFDA013E4F8C3F32FFACAFC65
:1034300008195800F1F406F7000000000000000031
:10344000000000000000000000000000000000007C
:10345000000000000000000000000000000000006C
:10346000000000000000000000000000000000005C
:10347000000000000000000000000000000000004C
:10348000000000000000000000000000000000003C
:10349000000000000000000000000000000000002C
:1034A000000000000000000000000000000000001C
:1034B000000000000000000000000000000000000C
:1034C00000000000000000000000000000000000FC
:0C34D000000000000000000000000000F0
:04000005080000ED02
:00000001FF

View file

@ -0,0 +1,392 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<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: Fri Apr 07 18:08:20 2023
<BR><P>
<H3>Maximum Stack Usage = 24 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main &rArr; Active_IT_Debordement_Timer
<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-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[4]">BusFault_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1f]">CAN1_RX1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[20]">CAN1_SCE_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[38]">CallbackSon</a> from gestionson.o(moncode) referenced from principal.o(i.main)
<LI><a href="#[15]">DMA1_Channel1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[16]">DMA1_Channel2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[17]">DMA1_Channel3_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[18]">DMA1_Channel4_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[19]">DMA1_Channel5_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1a]">DMA1_Channel6_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1b]">DMA1_Channel7_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[7]">DebugMon_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[10]">EXTI0_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[32]">EXTI15_10_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[11]">EXTI1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[12]">EXTI2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[13]">EXTI3_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[14]">EXTI4_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[21]">EXTI9_5_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[e]">FLASH_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2]">HardFault_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2a]">I2C1_ER_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[29]">I2C1_EV_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2c]">I2C2_ER_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2b]">I2C2_EV_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[3]">MemManage_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1]">NMI_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[b]">PVD_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[8]">PendSV_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[f]">RCC_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[33]">RTCAlarm_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[d]">RTC_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[0]">Reset_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2d]">SPI1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[2e]">SPI2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[6]">SVC_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[9]">SysTick_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[36]">SystemInit</a> from startup-rvds.o(.text) referenced from startup-rvds.o(.text)
<LI><a href="#[c]">TAMPER_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[22]">TIM1_BRK_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[25]">TIM1_CC_IRQHandler</a> from timer_1234.o(i.TIM1_CC_IRQHandler) referenced from startup-rvds.o(RESET)
<LI><a href="#[24]">TIM1_TRG_COM_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[23]">TIM1_UP_IRQHandler</a> from timer_1234.o(i.TIM1_UP_IRQHandler) referenced from startup-rvds.o(RESET)
<LI><a href="#[26]">TIM2_IRQHandler</a> from timer_1234.o(i.TIM2_IRQHandler) referenced from startup-rvds.o(RESET)
<LI><a href="#[27]">TIM3_IRQHandler</a> from timer_1234.o(i.TIM3_IRQHandler) referenced from startup-rvds.o(RESET)
<LI><a href="#[28]">TIM4_IRQHandler</a> from timer_1234.o(i.TIM4_IRQHandler) referenced from startup-rvds.o(RESET)
<LI><a href="#[2f]">USART1_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[30]">USART2_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[31]">USART3_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[34]">USBWakeUp_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1d]">USB_HP_CAN1_TX_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[1e]">USB_LP_CAN1_RX0_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[5]">UsageFault_Handler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[a]">WWDG_IRQHandler</a> from startup-rvds.o(.text) referenced from startup-rvds.o(RESET)
<LI><a href="#[37]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup-rvds.o(.text)
<LI><a href="#[35]">main</a> from principal.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-rvds.o(.text)
</UL>
<P><STRONG><a name="[42]"></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
</UL>
<P><STRONG><a name="[3b]"></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="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[43]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[44]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[45]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[46]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[47]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[48]"></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)
</UL>
<P><STRONG><a name="[36]"></a>SystemInit</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(.text)
</UL>
<P><STRONG><a name="[1]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2]"></a>HardFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[3]"></a>MemManage_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[4]"></a>BusFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[5]"></a>UsageFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[6]"></a>SVC_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[7]"></a>DebugMon_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[8]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[9]"></a>SysTick_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.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-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>CAN1_RX1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>CAN1_SCE_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[15]"></a>DMA1_Channel1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[16]"></a>DMA1_Channel2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[17]"></a>DMA1_Channel3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[18]"></a>DMA1_Channel4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[19]"></a>DMA1_Channel5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1a]"></a>DMA1_Channel6_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1b]"></a>DMA1_Channel7_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[10]"></a>EXTI0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[32]"></a>EXTI15_10_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[11]"></a>EXTI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[12]"></a>EXTI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[13]"></a>EXTI3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[14]"></a>EXTI4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[21]"></a>EXTI9_5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[e]"></a>FLASH_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2a]"></a>I2C1_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[29]"></a>I2C1_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2c]"></a>I2C2_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2b]"></a>I2C2_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[b]"></a>PVD_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[f]"></a>RCC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[33]"></a>RTCAlarm_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[d]"></a>RTC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2d]"></a>SPI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2e]"></a>SPI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[c]"></a>TAMPER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[22]"></a>TIM1_BRK_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[24]"></a>TIM1_TRG_COM_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[2f]"></a>USART1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[30]"></a>USART2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[31]"></a>USART3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[34]"></a>USBWakeUp_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1d]"></a>USB_HP_CAN1_TX_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[1e]"></a>USB_LP_CAN1_RX0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[3a]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>
<P><STRONG><a name="[49]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[41]"></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
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3c]"></a>CLOCK_Configure</STRONG> (Thumb, 104 bytes, Stack size 16 bytes, clock.o(i.CLOCK_Configure))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = CLOCK_Configure
</UL>
<BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_HPRECompute
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3f]"></a>CLOCK_GetHCLK</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, clock.o(i.CLOCK_GetHCLK))
<BR><BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer_1234_Init_ff
</UL>
<P><STRONG><a name="[40]"></a>CLOCK_GetTIMCLK</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, clock.o(i.CLOCK_GetTIMCLK))
<BR><BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer_1234_Init_ff
</UL>
<P><STRONG><a name="[25]"></a>TIM1_CC_IRQHandler</STRONG> (Thumb, 240 bytes, Stack size 16 bytes, timer_1234.o(i.TIM1_CC_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIM1_CC_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[23]"></a>TIM1_UP_IRQHandler</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, timer_1234.o(i.TIM1_UP_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[26]"></a>TIM2_IRQHandler</STRONG> (Thumb, 266 bytes, Stack size 16 bytes, timer_1234.o(i.TIM2_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIM2_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>TIM3_IRQHandler</STRONG> (Thumb, 272 bytes, Stack size 16 bytes, timer_1234.o(i.TIM3_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIM3_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 272 bytes, Stack size 16 bytes, timer_1234.o(i.TIM4_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIM4_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup-rvds.o(RESET)
</UL>
<P><STRONG><a name="[3e]"></a>Timer_1234_Init_ff</STRONG> (Thumb, 106 bytes, Stack size 16 bytes, timer_1234.o(i.Timer_1234_Init_ff))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Timer_1234_Init_ff
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_GetTIMCLK
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_GetHCLK
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[4a]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[4b]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[4c]"></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, 28 bytes, Stack size 0 bytes, principal.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = main &rArr; Active_IT_Debordement_Timer
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer_1234_Init_ff
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_Configure
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Active_IT_Debordement_Timer
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P><STRONG><a name="[38]"></a>CallbackSon</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, gestionson.o(moncode))
<BR>[Address Reference Count : 1]<UL><LI> principal.o(i.main)
</UL><P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[3d]"></a>CLOCK_HPRECompute</STRONG> (Thumb, 116 bytes, Stack size 0 bytes, clock.o(i.CLOCK_HPRECompute))
<BR><BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CLOCK_Configure
</UL>
<P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>

View file

@ -0,0 +1,10 @@
--cpu Cortex-M3
".\obj\principal.o"
".\obj\startup-rvds.o"
".\Driver\DriverJeuLaser.lib"
".\obj\bruitverre.o"
".\obj\gestionson.o"
--library_type=microlib --strict --scatter ".\Obj\StepSon.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list "StepSon.map" -o .\Obj\StepSon.axf

View file

@ -0,0 +1,502 @@
Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601]
==============================================================================
Section Cross References
principal.o(i.main) refers to clock.o(i.CLOCK_Configure) for CLOCK_Configure
principal.o(i.main) refers to timer_1234.o(i.Timer_1234_Init_ff) for Timer_1234_Init_ff
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
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
startup-rvds.o(RESET) refers to timer_1234.o(i.TIM1_CC_IRQHandler) for TIM1_CC_IRQHandler
startup-rvds.o(RESET) refers to timer_1234.o(i.TIM2_IRQHandler) for TIM2_IRQHandler
startup-rvds.o(RESET) refers to timer_1234.o(i.TIM3_IRQHandler) for TIM3_IRQHandler
startup-rvds.o(RESET) refers to timer_1234.o(i.TIM4_IRQHandler) for TIM4_IRQHandler
startup-rvds.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main
gestionson.o(moncode) refers to gestionson.o(maram) for Index
gestionson.o(moncode) refers to bruitverre.o(SecSon) for LongueurSon
clock.o(i.CLOCK_Configure) refers to clock.o(i.CLOCK_HPRECompute) for CLOCK_HPRECompute
timer_1234.o(i.Active_IT_Compare_Timer) refers to timer_1234.o(.data) for .data
timer_1234.o(i.Active_IT_Debordement_Timer) refers to timer_1234.o(.data) for .data
timer_1234.o(i.Capture_Init) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK
timer_1234.o(i.Capture_Init) refers to dfltui.o(.text) for __aeabi_ui2d
timer_1234.o(i.Capture_Init) refers to f2d.o(.text) for __aeabi_f2d
timer_1234.o(i.Capture_Init) refers to dmul.o(.text) for __aeabi_dmul
timer_1234.o(i.Capture_Init) refers to ddiv.o(.text) for __aeabi_ddiv
timer_1234.o(i.Capture_Init) refers to d2f.o(.text) for __aeabi_d2f
timer_1234.o(i.Capture_Init) refers to ffltui.o(.text) for __aeabi_ui2f
timer_1234.o(i.Capture_Init) refers to fmul.o(.text) for __aeabi_fmul
timer_1234.o(i.Capture_Init) refers to ffixui.o(.text) for __aeabi_f2uiz
timer_1234.o(i.Capture_Init) refers to ffixi.o(.text) for __aeabi_f2iz
timer_1234.o(i.Lire_Duree_Pulse) refers to timer_1234.o(.data) for .data
timer_1234.o(i.PWM_Init) refers to f2d.o(.text) for __aeabi_f2d
timer_1234.o(i.PWM_Init) refers to ddiv.o(.text) for __aeabi_ddiv
timer_1234.o(i.PWM_Init) refers to d2f.o(.text) for __aeabi_d2f
timer_1234.o(i.PWM_Init) refers to timer_1234.o(i.Timer_1234_Init) for Timer_1234_Init
timer_1234.o(i.PWM_Init_ff) refers to timer_1234.o(i.Timer_1234_Init_ff) for Timer_1234_Init_ff
timer_1234.o(i.TIM1_CC_IRQHandler) refers to timer_1234.o(.data) for .data
timer_1234.o(i.TIM1_UP_IRQHandler) refers to timer_1234.o(.data) for .data
timer_1234.o(i.TIM2_IRQHandler) refers to timer_1234.o(.data) for .data
timer_1234.o(i.TIM3_IRQHandler) refers to timer_1234.o(.data) for .data
timer_1234.o(i.TIM4_IRQHandler) refers to timer_1234.o(.data) for .data
timer_1234.o(i.Timer_1234_Init) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK
timer_1234.o(i.Timer_1234_Init) refers to ffltui.o(.text) for __aeabi_ui2f
timer_1234.o(i.Timer_1234_Init) refers to fmul.o(.text) for __aeabi_fmul
timer_1234.o(i.Timer_1234_Init) refers to f2d.o(.text) for __aeabi_f2d
timer_1234.o(i.Timer_1234_Init) refers to ddiv.o(.text) for __aeabi_ddiv
timer_1234.o(i.Timer_1234_Init) refers to d2f.o(.text) for __aeabi_d2f
timer_1234.o(i.Timer_1234_Init) refers to fscalb.o(.text) for __ARM_scalbnf
timer_1234.o(i.Timer_1234_Init) refers to ffixui.o(.text) for __aeabi_f2uiz
timer_1234.o(i.Timer_1234_Init) refers to fdiv.o(.text) for __aeabi_fdiv
timer_1234.o(i.Timer_1234_Init) refers to dfltui.o(.text) for __aeabi_ui2d
timer_1234.o(i.Timer_1234_Init) refers to dadd.o(.text) for __aeabi_dadd
timer_1234.o(i.Timer_1234_Init) refers to dmul.o(.text) for __aeabi_dmul
timer_1234.o(i.Timer_1234_Init_ff) refers to clock.o(i.CLOCK_GetHCLK) for CLOCK_GetHCLK
timer_1234.o(i.Timer_1234_Init_ff) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000F) for __rt_final_cpp
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$00000011) for __rt_final_exit
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini
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
fmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
fdiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
fdiv.o(.text) refers to fepilogue.o(.text) for _float_round
fscalb.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dadd.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl
dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr
dadd.o(.text) refers to depilogue.o(.text) for _double_epilogue
dmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue
ddiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
ddiv.o(.text) refers to depilogue.o(.text) for _double_round
ffltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
ffltui.o(.text) refers to fepilogue.o(.text) for _float_epilogue
dfltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dfltui.o(.text) refers to depilogue.o(.text) for _double_epilogue
ffixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
ffixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
f2d.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
d2f.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
d2f.o(.text) refers to fepilogue.o(.text) for _float_round
entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000
entry2.o(.ARM.Collect$$$$00002712) refers to startup-rvds.o(STACK) for __initial_sp
entry2.o(__vectab_stack_and_reset_area) refers to startup-rvds.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 principal.o(i.main) for main
entry9b.o(.ARM.Collect$$$$0000000C) refers to principal.o(i.main) for main
depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl
depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr
init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload
==============================================================================
Removing Unused input sections from the image.
Removing principal.o(.rev16_text), (4 bytes).
Removing principal.o(.revsh_text), (4 bytes).
Removing principal.o(.rrx_text), (6 bytes).
Removing startup-rvds.o(HEAP), (512 bytes).
Removing gestionson.o(mesdata), (0 bytes).
Removing clock.o(.rev16_text), (4 bytes).
Removing clock.o(.revsh_text), (4 bytes).
Removing clock.o(.rrx_text), (6 bytes).
Removing clock.o(i.CLOCK_GetADCCLK), (8 bytes).
Removing clock.o(i.CLOCK_GetPCLK1), (8 bytes).
Removing clock.o(i.CLOCK_GetPCLK2), (8 bytes).
Removing timer_1234.o(.rev16_text), (4 bytes).
Removing timer_1234.o(.revsh_text), (4 bytes).
Removing timer_1234.o(.rrx_text), (6 bytes).
Removing timer_1234.o(i.Active_IT_Compare_Timer), (492 bytes).
Removing timer_1234.o(i.Capture_Init), (484 bytes).
Removing timer_1234.o(i.Lire_Duree_Pulse), (96 bytes).
Removing timer_1234.o(i.PWM_Complementaire_Timer1), (60 bytes).
Removing timer_1234.o(i.PWM_Init), (200 bytes).
Removing timer_1234.o(i.PWM_Init_ff), (172 bytes).
Removing timer_1234.o(i.PWM_Set_Value_TIM3_Ch3), (12 bytes).
Removing timer_1234.o(i.Timer_1234_Init), (268 bytes).
Removing timer_1234.o(i.Timer_Inc_Init), (180 bytes).
Removing fmul.o(.text), (100 bytes).
Removing fdiv.o(.text), (124 bytes).
Removing fscalb.o(.text), (24 bytes).
Removing dadd.o(.text), (334 bytes).
Removing dmul.o(.text), (228 bytes).
Removing ddiv.o(.text), (222 bytes).
Removing ffltui.o(.text), (10 bytes).
Removing dfltui.o(.text), (26 bytes).
Removing ffixi.o(.text), (50 bytes).
Removing ffixui.o(.text), (40 bytes).
Removing f2d.o(.text), (38 bytes).
Removing d2f.o(.text), (56 bytes).
Removing fepilogue.o(.text), (110 bytes).
Removing depilogue.o(.text), (186 bytes).
37 unused section(s) (total 4090 bytes) removed from the image.
==============================================================================
Image Symbol Table
Local Symbols
Symbol Name Value Ov Type Size Object(Section)
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.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 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE
../fplib/microlib/f2d.c 0x00000000 Number 0 f2d.o ABSOLUTE
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE
../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE
../fplib/microlib/fpscalb.c 0x00000000 Number 0 fscalb.o ABSOLUTE
Lib\Timer_1234.c 0x00000000 Number 0 timer_1234.o ABSOLUTE
Lib\\Timer_1234.c 0x00000000 Number 0 timer_1234.o ABSOLUTE
Lib\\clock.c 0x00000000 Number 0 clock.o ABSOLUTE
Lib\clock.c 0x00000000 Number 0 clock.o ABSOLUTE
Src\GestionSon.s 0x00000000 Number 0 gestionson.o ABSOLUTE
Src\\principal.c 0x00000000 Number 0 principal.o ABSOLUTE
Src\bruitverre.asm 0x00000000 Number 0 bruitverre.o ABSOLUTE
Src\principal.c 0x00000000 Number 0 principal.o ABSOLUTE
Src\startup-rvds.s 0x00000000 Number 0 startup-rvds.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
RESET 0x08000000 Section 236 startup-rvds.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$$$$0000000E 0x080000fc Section 4 entry12b.o(.ARM.Collect$$$$0000000E)
.ARM.Collect$$$$0000000F 0x08000100 Section 0 entry10a.o(.ARM.Collect$$$$0000000F)
.ARM.Collect$$$$00000011 0x08000100 Section 0 entry11a.o(.ARM.Collect$$$$00000011)
.ARM.Collect$$$$00002712 0x08000100 Section 4 entry2.o(.ARM.Collect$$$$00002712)
__lit__00000000 0x08000100 Data 4 entry2.o(.ARM.Collect$$$$00002712)
.text 0x08000104 Section 76 startup-rvds.o(.text)
.text 0x08000150 Section 36 init.o(.text)
i.Active_IT_Debordement_Timer 0x08000174 Section 0 timer_1234.o(i.Active_IT_Debordement_Timer)
i.CLOCK_Configure 0x08000258 Section 0 clock.o(i.CLOCK_Configure)
i.CLOCK_GetHCLK 0x080002cc Section 0 clock.o(i.CLOCK_GetHCLK)
i.CLOCK_GetTIMCLK 0x080002d4 Section 0 clock.o(i.CLOCK_GetTIMCLK)
i.CLOCK_HPRECompute 0x080002f8 Section 0 clock.o(i.CLOCK_HPRECompute)
CLOCK_HPRECompute 0x080002f9 Thumb Code 116 clock.o(i.CLOCK_HPRECompute)
i.TIM1_CC_IRQHandler 0x0800036c Section 0 timer_1234.o(i.TIM1_CC_IRQHandler)
i.TIM1_UP_IRQHandler 0x08000478 Section 0 timer_1234.o(i.TIM1_UP_IRQHandler)
i.TIM2_IRQHandler 0x08000490 Section 0 timer_1234.o(i.TIM2_IRQHandler)
i.TIM3_IRQHandler 0x080005a0 Section 0 timer_1234.o(i.TIM3_IRQHandler)
i.TIM4_IRQHandler 0x080006cc Section 0 timer_1234.o(i.TIM4_IRQHandler)
i.Timer_1234_Init_ff 0x080007f8 Section 0 timer_1234.o(i.Timer_1234_Init_ff)
i.__scatterload_copy 0x08000874 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08000882 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08000884 Section 14 handlers.o(i.__scatterload_zeroinit)
i.main 0x08000894 Section 0 principal.o(i.main)
moncode 0x080008b8 Section 72 gestionson.o(moncode)
SecSon 0x08000920 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)
Ptr_TIM3 0x20000018 Data 4 timer_1234.o(.data)
Ptr_TIM4 0x2000001c Data 4 timer_1234.o(.data)
Ptr_TIM1_Voie1 0x20000020 Data 4 timer_1234.o(.data)
Ptr_TIM1_Voie2 0x20000024 Data 4 timer_1234.o(.data)
Ptr_TIM1_Voie3 0x20000028 Data 4 timer_1234.o(.data)
Ptr_TIM1_Voie4 0x2000002c Data 4 timer_1234.o(.data)
Ptr_TIM2_Voie1 0x20000030 Data 4 timer_1234.o(.data)
Ptr_TIM2_Voie2 0x20000034 Data 4 timer_1234.o(.data)
Ptr_TIM2_Voie3 0x20000038 Data 4 timer_1234.o(.data)
Ptr_TIM2_Voie4 0x2000003c Data 4 timer_1234.o(.data)
Ptr_TIM3_Voie1 0x20000040 Data 4 timer_1234.o(.data)
Ptr_TIM3_Voie2 0x20000044 Data 4 timer_1234.o(.data)
Ptr_TIM3_Voie3 0x20000048 Data 4 timer_1234.o(.data)
Ptr_TIM3_Voie4 0x2000004c Data 4 timer_1234.o(.data)
Ptr_TIM4_Voie1 0x20000050 Data 4 timer_1234.o(.data)
Ptr_TIM4_Voie2 0x20000054 Data 4 timer_1234.o(.data)
Ptr_TIM4_Voie3 0x20000058 Data 4 timer_1234.o(.data)
Ptr_TIM4_Voie4 0x2000005c Data 4 timer_1234.o(.data)
Duree_Pulse_T1 0x20000060 Data 8 timer_1234.o(.data)
Duree_Pulse_T2 0x20000068 Data 8 timer_1234.o(.data)
Duree_Pulse_T3 0x20000070 Data 8 timer_1234.o(.data)
Duree_Pulse_T4 0x20000078 Data 8 timer_1234.o(.data)
Date_T1 0x20000080 Data 8 timer_1234.o(.data)
Date_T2 0x20000088 Data 8 timer_1234.o(.data)
Date_T3 0x20000090 Data 8 timer_1234.o(.data)
Date_T4 0x20000098 Data 8 timer_1234.o(.data)
maram 0x200000a0 Section 4 gestionson.o(maram)
Index 0x200000a2 Data 2 gestionson.o(maram)
STACK 0x200000a8 Section 1024 startup-rvds.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$OTIME$ROPI$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE
__ARM_use_no_argv 0x00000000 Number 0 principal.o ABSOLUTE
__arm_fini_ - Undefined Weak Reference
__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-rvds.o ABSOLUTE
__Vectors 0x08000000 Data 4 startup-rvds.o(RESET)
__Vectors_End 0x080000ec Data 0 startup-rvds.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_lib_shutdown_fini 0x080000fd Thumb Code 0 entry12b.o(.ARM.Collect$$$$0000000E)
__rt_final_cpp 0x08000101 Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000F)
__rt_final_exit 0x08000101 Thumb Code 0 entry11a.o(.ARM.Collect$$$$00000011)
Reset_Handler 0x08000105 Thumb Code 34 startup-rvds.o(.text)
SystemInit 0x08000127 Thumb Code 2 startup-rvds.o(.text)
NMI_Handler 0x08000129 Thumb Code 2 startup-rvds.o(.text)
HardFault_Handler 0x0800012b Thumb Code 2 startup-rvds.o(.text)
MemManage_Handler 0x0800012d Thumb Code 2 startup-rvds.o(.text)
BusFault_Handler 0x0800012f Thumb Code 2 startup-rvds.o(.text)
UsageFault_Handler 0x08000131 Thumb Code 2 startup-rvds.o(.text)
SVC_Handler 0x08000133 Thumb Code 2 startup-rvds.o(.text)
DebugMon_Handler 0x08000135 Thumb Code 2 startup-rvds.o(.text)
PendSV_Handler 0x08000137 Thumb Code 2 startup-rvds.o(.text)
SysTick_Handler 0x08000139 Thumb Code 2 startup-rvds.o(.text)
ADC1_2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
CAN1_RX1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
CAN1_SCE_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel6_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
DMA1_Channel7_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI15_10_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
EXTI9_5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
FLASH_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C1_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C1_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C2_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
I2C2_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
PVD_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
RCC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
RTCAlarm_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
RTC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
SPI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
SPI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TAMPER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM1_BRK_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
TIM1_TRG_COM_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USART1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USART2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USART3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USBWakeUp_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USB_HP_CAN1_TX_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
USB_LP_CAN1_RX0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
WWDG_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text)
__scatterload 0x08000151 Thumb Code 28 init.o(.text)
__scatterload_rt2 0x08000151 Thumb Code 0 init.o(.text)
Active_IT_Debordement_Timer 0x08000175 Thumb Code 204 timer_1234.o(i.Active_IT_Debordement_Timer)
CLOCK_Configure 0x08000259 Thumb Code 104 clock.o(i.CLOCK_Configure)
CLOCK_GetHCLK 0x080002cd Thumb Code 4 clock.o(i.CLOCK_GetHCLK)
CLOCK_GetTIMCLK 0x080002d5 Thumb Code 22 clock.o(i.CLOCK_GetTIMCLK)
TIM1_CC_IRQHandler 0x0800036d Thumb Code 240 timer_1234.o(i.TIM1_CC_IRQHandler)
TIM1_UP_IRQHandler 0x08000479 Thumb Code 16 timer_1234.o(i.TIM1_UP_IRQHandler)
TIM2_IRQHandler 0x08000491 Thumb Code 266 timer_1234.o(i.TIM2_IRQHandler)
TIM3_IRQHandler 0x080005a1 Thumb Code 272 timer_1234.o(i.TIM3_IRQHandler)
TIM4_IRQHandler 0x080006cd Thumb Code 272 timer_1234.o(i.TIM4_IRQHandler)
Timer_1234_Init_ff 0x080007f9 Thumb Code 106 timer_1234.o(i.Timer_1234_Init_ff)
__scatterload_copy 0x08000875 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08000883 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08000885 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
main 0x08000895 Thumb Code 28 principal.o(i.main)
CallbackSon 0x080008b9 Thumb Code 54 gestionson.o(moncode)
Region$$Table$$Base 0x08000900 Number 0 anon$$obj.o(Region$$Table)
LongueurSon 0x08000920 Data 4 bruitverre.o(SecSon)
Region$$Table$$Limit 0x08000920 Number 0 anon$$obj.o(Region$$Table)
PeriodeSonMicroSec 0x08000924 Data 4 bruitverre.o(SecSon)
Son 0x08000928 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)
Enable_Fct_IT_Compare_Match_TIM1_Voie4 0x20000003 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM2_Voie1 0x20000004 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM2_Voie2 0x20000005 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM2_Voie3 0x20000006 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM2_Voie4 0x20000007 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM3_Voie1 0x20000008 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM3_Voie2 0x20000009 Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM3_Voie3 0x2000000a Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM3_Voie4 0x2000000b Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM4_Voie1 0x2000000c Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM4_Voie2 0x2000000d Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM4_Voie3 0x2000000e Data 1 timer_1234.o(.data)
Enable_Fct_IT_Compare_Match_TIM4_Voie4 0x2000000f Data 1 timer_1234.o(.data)
SortieSon 0x200000a0 Data 2 gestionson.o(maram)
__initial_sp 0x200004a8 Data 0 startup-rvds.o(STACK)
==============================================================================
Memory Map of the image
Image Entry point : 0x080000ed
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000034dc, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00003438, Max: 0x00020000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 59 RESET startup-rvds.o
0x080000ec 0x080000ec 0x00000000 Code RO 130 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x080000ec 0x080000ec 0x00000004 Code RO 157 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x080000f0 0x080000f0 0x00000004 Code RO 160 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x080000f4 0x080000f4 0x00000000 Code RO 162 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x080000f4 0x080000f4 0x00000000 Code RO 164 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x080000f4 0x080000f4 0x00000008 Code RO 165 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x080000fc 0x080000fc 0x00000004 Code RO 172 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o)
0x08000100 0x08000100 0x00000000 Code RO 167 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o)
0x08000100 0x08000100 0x00000000 Code RO 169 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
0x08000100 0x08000100 0x00000004 Code RO 158 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000104 0x08000104 0x0000004c Code RO 60 .text startup-rvds.o
0x08000150 0x08000150 0x00000024 Code RO 182 .text mc_w.l(init.o)
0x08000174 0x08000174 0x000000e4 Code RO 95 i.Active_IT_Debordement_Timer DriverJeuLaser.lib(timer_1234.o)
0x08000258 0x08000258 0x00000074 Code RO 74 i.CLOCK_Configure DriverJeuLaser.lib(clock.o)
0x080002cc 0x080002cc 0x00000008 Code RO 76 i.CLOCK_GetHCLK DriverJeuLaser.lib(clock.o)
0x080002d4 0x080002d4 0x00000024 Code RO 79 i.CLOCK_GetTIMCLK DriverJeuLaser.lib(clock.o)
0x080002f8 0x080002f8 0x00000074 Code RO 80 i.CLOCK_HPRECompute DriverJeuLaser.lib(clock.o)
0x0800036c 0x0800036c 0x0000010c Code RO 102 i.TIM1_CC_IRQHandler DriverJeuLaser.lib(timer_1234.o)
0x08000478 0x08000478 0x00000018 Code RO 103 i.TIM1_UP_IRQHandler DriverJeuLaser.lib(timer_1234.o)
0x08000490 0x08000490 0x00000110 Code RO 104 i.TIM2_IRQHandler DriverJeuLaser.lib(timer_1234.o)
0x080005a0 0x080005a0 0x0000012c Code RO 105 i.TIM3_IRQHandler DriverJeuLaser.lib(timer_1234.o)
0x080006cc 0x080006cc 0x0000012c Code RO 106 i.TIM4_IRQHandler DriverJeuLaser.lib(timer_1234.o)
0x080007f8 0x080007f8 0x0000007c Code RO 108 i.Timer_1234_Init_ff DriverJeuLaser.lib(timer_1234.o)
0x08000874 0x08000874 0x0000000e Code RO 188 i.__scatterload_copy mc_w.l(handlers.o)
0x08000882 0x08000882 0x00000002 Code RO 189 i.__scatterload_null mc_w.l(handlers.o)
0x08000884 0x08000884 0x0000000e Code RO 190 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x08000892 0x08000892 0x00000002 PAD
0x08000894 0x08000894 0x00000024 Code RO 4 i.main principal.o
0x080008b8 0x080008b8 0x00000048 Code RO 67 moncode gestionson.o
0x08000900 0x08000900 0x00000020 Data RO 186 Region$$Table anon$$obj.o
0x08000920 0x08000920 0x00002b18 Data RO 64 SecSon bruitverre.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08003438, Size: 0x000004a8, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08003438 0x000000a0 Data RW 110 .data DriverJeuLaser.lib(timer_1234.o)
0x200000a0 0x080034d8 0x00000004 Data RW 66 maram gestionson.o
0x200000a4 0x080034dc 0x00000004 PAD
0x200000a8 - 0x00000400 Zero RW 57 STACK startup-rvds.o
==============================================================================
Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
0 0 11032 0 0 0 bruitverre.o
72 18 0 4 0 336 gestionson.o
36 8 0 0 0 1895 principal.o
76 20 236 0 1024 800 startup-rvds.o
----------------------------------------------------------------------
184 46 11300 4 1028 3031 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
276 30 0 0 0 284 clock.o
1516 140 0 160 0 588 timer_1234.o
0 0 0 0 0 0 entry.o
0 0 0 0 0 0 entry10a.o
0 0 0 0 0 0 entry11a.o
4 0 0 0 0 0 entry12b.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
----------------------------------------------------------------------
1884 186 0 160 0 940 Library Totals
2 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
1792 170 0 160 0 872 DriverJeuLaser.lib
90 16 0 0 0 68 mc_w.l
----------------------------------------------------------------------
1884 186 0 160 0 940 Library Totals
----------------------------------------------------------------------
==============================================================================
Code (inc. data) RO Data RW Data ZI Data Debug
2068 232 11300 164 1028 3603 Grand Totals
2068 232 11300 164 1028 3603 ELF Image Totals
2068 232 11300 164 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 13368 ( 13.05kB)
Total RW Size (RW Data + ZI Data) 1192 ( 1.16kB)
Total ROM Size (Code + RO Data + RW Data) 13532 ( 13.21kB)
==============================================================================

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,16 @@
Dependencies for Project 'StepSon', Target 'Simu': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (.\Src\principal.c)(0x64303FEA)(-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)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_Simu\RTE_Components.h)(0x6427017D)
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)(0x64303E5B)(--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)

View file

@ -0,0 +1 @@
.\obj\bruitverre.o: Src\bruitverre.asm

Binary file not shown.

View file

@ -0,0 +1 @@
.\obj\gestionson.o: Src\GestionSon.s

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,10 @@
.\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\_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
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h
.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h

Binary file not shown.

View file

@ -0,0 +1 @@
.\obj\startup-rvds.o: Src\startup-rvds.s

Binary file not shown.

View file

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

View file

@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'StepSon'
* 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 */

View file

@ -0,0 +1,74 @@
PRESERVE8
THUMB
export CallbackSon
import Son
import LongueurSon
; ====================== zone de réservation de données, ======================================
;Section RAM (read only) :
area mesdata,data,readonly
;Section RAM (read write):
area maram,data,readwrite
SortieSon dcw 0 ; reserve seulement 2 octet de memoire
Index dcw 0
; ===============================================================================================
;Section ROM code (read only) :
area moncode,code,readonly
; écrire le code ici
;
;if (i<LongueurSon) {
;
; sample = Son[i];
; SortieSon = sample * (720/65536) + 360
; i++;
;}else {
; i=0;
;}
CallbackSon proc
push {lr}
ldr r0, = Index; ; On charge la valeur d'index
ldr r1, [r0] ;
ldr r2, = LongueurSon; ; On charge la valeur de la longueur son
ldr r3, [r2] ;
cmp r3, r1 ; On regarde si on est arrivé au bout du tableau
ble Sinon
ldr r2, = Son; ; On charge la valeur de la bonne
ldrsh r3, [r2, r1, LSL #1] ; ligne de son
add r1, r1, #1 ; On store l'index et on l'incrémente de 1
strh r1, [r0]
;add r3, #32768 ; On ajoute 32768
mov r1, #360 ; On multiplie par 720
mul r3, r1, r3 ;
asr r3, #15 ; On divise par 65536
add r3, r1
ldr r2, = SortieSon
strh r3, [r2] ; On sauvegarde la valeur dans SortieSon
b fin
Sinon
mov r1, #0 ; On remet l'index à 0
str r0, [r1] ; On store l'index
fin
EXPORT SortieSon
pop {pc}
endp
END

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,31 @@
#include "DriverJeuLaser.h"
void CallbackSon(void);
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();
Timer_1234_Init_ff( TIM4, 91*72);
Active_IT_Debordement_Timer( TIM4, 2, CallbackSon );
//============================================================================
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,717 @@
<?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/>
<MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber>
<SubType>0</SubType>
<ItemText>0x200000A0</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow1>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>0</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>(SortieSon &amp; 0xFFFF) &gt;&gt; 0</FirstString>
<SecondString>008000000000000000000000000000000080864000000000000000000000000000000000536F72746965536F6E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000001000000000000000000F03F1A00000000000000000000000000000000000000CA080008</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>Son</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\bruitverre.asm</PathWithFileName>
<FilenameWithoutPath>bruitverre.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\GestionSon.s</PathWithFileName>
<FilenameWithoutPath>GestionSon.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

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,228 @@
ARM Macro Assembler Page 1
1 00000000 PRESERVE8
2 00000000 THUMB
3 00000000
4 00000000 export CallbackSon
5 00000000 import Son
6 00000000 import LongueurSon
7 00000000
8 00000000
9 00000000 ; ====================== zone de réservation de données,
======================================
10 00000000 ;Section RAM (read only) :
11 00000000 area mesdata,data,readonly
12 00000000
13 00000000
14 00000000 ;Section RAM (read write):
15 00000000 area maram,data,readwrite
16 00000000
17 00000000 00 00 SortieSon
dcw 0 ; reserve seulement
2 octet de memoire
18 00000002 00 00 Index dcw 0
19 00000004
20 00000004 ; ======================================================
=========================================
21 00000004
22 00000004
23 00000004
24 00000004
25 00000004 ;Section ROM code (read only) :
26 00000004 area moncode,code,readonly
27 00000000 ; écrire le code ici
28 00000000 ;
29 00000000 ;if (i<LongueurSon) {
30 00000000 ;
31 00000000 ; sample = Son[i];
32 00000000 ; SortieSon = sample * (720/65536) + 360
33 00000000 ; i++;
34 00000000 ;}else {
35 00000000 ; i=0;
36 00000000 ;}
37 00000000
38 00000000 CallbackSon
proc
39 00000000 B500 push {lr}
40 00000002
41 00000002 480D ldr r0, = Index ; ; On charge la
valeur d'index
42 00000004 6801 ldr r1, [r0] ;
43 00000006 4A0D ldr r2, = LongueurSon ; ; On charg
e la valeur de la l
ongueur son
44 00000008 6813 ldr r3, [r2] ;
45 0000000A
46 0000000A 428B cmp r3, r1 ; On regarde si on
est arrivé au bout
du tableau
47 0000000C DD0F ble Sinon
48 0000000E
ARM Macro Assembler Page 2
49 0000000E 4A0C ldr r2, = Son ; ; On charge la
valeur de la bonne
50 00000010 F932 3011 ldrsh r3, [r2, r1, LSL #1]
; ligne de son
51 00000014
52 00000014 F101 0101 add r1, r1, #1 ; On store l'index
et on l'incrémente
de 1
53 00000018 8001 strh r1, [r0]
54 0000001A
55 0000001A ;add r3, #32768 ; On ajoute 32768
56 0000001A F44F 71B4 mov r1, #360 ; On multiplie par
720
57 0000001E FB01 F303 mul r3, r1, r3 ;
58 00000022 EA4F 33E3 asr r3, #15 ; On divise par 655
36
59 00000026 440B add r3, r1
60 00000028
61 00000028 4A06 ldr r2, = SortieSon
62 0000002A 8013 strh r3, [r2] ; On sauvegarde la
valeur dans SortieS
on
63 0000002C E002 b fin
64 0000002E
65 0000002E Sinon
66 0000002E F04F 0100 mov r1, #0 ; On remet l'index
à 0
67 00000032 6008 str r0, [r1] ; On store l'index
68 00000034
69 00000034 fin
70 00000034 EXPORT SortieSon
71 00000034 BD00 pop {pc}
72 00000036 endp
73 00000036
74 00000036 END
00 00 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\_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
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
mesdata 00000000
Symbol: mesdata
Definitions
At line 11 in file Src\GestionSon.s
Uses
None
Comment: mesdata unused
1 symbol
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
Index 00000002
Symbol: Index
Definitions
At line 18 in file Src\GestionSon.s
Uses
At line 41 in file Src\GestionSon.s
Comment: Index used once
SortieSon 00000000
Symbol: SortieSon
Definitions
At line 17 in file Src\GestionSon.s
Uses
At line 61 in file Src\GestionSon.s
At line 70 in file Src\GestionSon.s
maram 00000000
Symbol: maram
Definitions
At line 15 in file Src\GestionSon.s
Uses
None
Comment: maram unused
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
CallbackSon 00000000
Symbol: CallbackSon
Definitions
At line 38 in file Src\GestionSon.s
Uses
At line 4 in file Src\GestionSon.s
Comment: CallbackSon used once
Sinon 0000002E
Symbol: Sinon
Definitions
At line 65 in file Src\GestionSon.s
Uses
At line 47 in file Src\GestionSon.s
Comment: Sinon used once
fin 00000034
Symbol: fin
Definitions
At line 69 in file Src\GestionSon.s
Uses
At line 63 in file Src\GestionSon.s
Comment: fin used once
moncode 00000000
Symbol: moncode
Definitions
At line 26 in file Src\GestionSon.s
Uses
None
Comment: moncode unused
4 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
External symbols
LongueurSon 00000000
Symbol: LongueurSon
Definitions
At line 6 in file Src\GestionSon.s
Uses
At line 43 in file Src\GestionSon.s
Comment: LongueurSon used once
Son 00000000
Symbol: Son
Definitions
At line 5 in file Src\GestionSon.s
Uses
At line 49 in file Src\GestionSon.s
Comment: Son used once
2 symbols
347 symbols in table

File diff suppressed because it is too large Load diff