From bfb3cb185e8cffda075207795b532f72923b982e Mon Sep 17 00:00:00 2001 From: guanjiao ren <guanjiao.ren@ninebot.com> Date: 星期一, 21 五月 2018 16:02:58 +0800 Subject: [PATCH] 将main.c中的主程序移到dw_app.c --- 源码/核心板/Src/application/dw_app.h | 15 源码/核心板/Src/main.c | 673 ------ 源码/核心板/MDK-ARM/Project.uvprojx | 3059 ----------------------------- 源码/核心板/MDK-ARM/Project.uvoptx | 1714 +++------------- 源码/核心板/Src/OnChipDevices/Usart.c | 10 源码/核心板/Src/application/dw_app.c | 554 +++++ 6 files changed, 1,045 insertions(+), 4,980 deletions(-) diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvoptx" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvoptx" index d12c14a..4e5c0c6 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvoptx" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvoptx" @@ -22,986 +22,6 @@ </DaveTm> <Target> - <TargetName>STM32100E-EVAL</TargetName> - <ToolsetNumber>0x4</ToolsetNumber> - <ToolsetName>ARM-ADS</ToolsetName> - <TargetOption> - <CLKADS>12000000</CLKADS> - <OPTTT> - <gFlags>1</gFlags> - <BeepAtEnd>1</BeepAtEnd> - <RunSim>1</RunSim> - <RunTarget>0</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>.\STM32100E-EVAL\</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>0</tRfunc> - <tRbox>1</tRbox> - <tRtrace>0</tRtrace> - <sRSysVw>1</sRSysVw> - <tRSysVw>1</tRSysVw> - <sRunDeb>0</sRunDeb> - <sLrtime>0</sLrtime> - <bEvRecOn>1</bEvRecOn> - <bSchkAxf>0</bSchkAxf> - <bTchkAxf>0</bTchkAxf> - <nTsel>1</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>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)(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=-1,-1,-1,-1,0)(121=-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)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)</Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>ARMDBGFLAGS</Key> - <Name></Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>DLGUARM</Key> - <Name>(105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)</Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>UL2CM3</Key> - <Name>-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FN1 -FC1000 -FD20000000 -FF0STM32F10x_512 -FL080000 -FS08000000 -FP0($$Device:STM32F100ZE$Flash/STM32F10x_512.FLM)</Name> - </SetRegEntry> - </TargetDriverDllRegistry> - <Breakpoint> - <Bp> - <Number>0</Number> - <Type>0</Type> - <LineNumber>178</LineNumber> - <EnabledFlag>1</EnabledFlag> - <Address>0</Address> - <ByteObject>0</ByteObject> - <HtxType>0</HtxType> - <ManyObjects>0</ManyObjects> - <SizeOfObject>0</SizeOfObject> - <BreakByAccess>0</BreakByAccess> - <BreakIfRCount>0</BreakIfRCount> - <Filename>D:\realization\project\location\final_Controller\Detector\GS\MDK-ARM\main.c</Filename> - <ExecCommand></ExecCommand> - <Expression></Expression> - </Bp> - <Bp> - <Number>1</Number> - <Type>0</Type> - <LineNumber>246</LineNumber> - <EnabledFlag>1</EnabledFlag> - <Address>0</Address> - <ByteObject>0</ByteObject> - <HtxType>0</HtxType> - <ManyObjects>0</ManyObjects> - <SizeOfObject>0</SizeOfObject> - <BreakByAccess>0</BreakByAccess> - <BreakIfRCount>0</BreakIfRCount> - <Filename>D:\realization\project\location\RX\Detector\GS\MDK-ARM\main.c</Filename> - <ExecCommand></ExecCommand> - <Expression></Expression> - </Bp> - </Breakpoint> - <Tracepoint> - <THDelay>0</THDelay> - </Tracepoint> - <DebugFlag> - <trace>0</trace> - <periodic>0</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> - </TargetOption> - </Target> - - <Target> - <TargetName>STM3210E-EVAL_XL</TargetName> - <ToolsetNumber>0x4</ToolsetNumber> - <ToolsetName>ARM-ADS</ToolsetName> - <TargetOption> - <CLKADS>12000000</CLKADS> - <OPTTT> - <gFlags>1</gFlags> - <BeepAtEnd>1</BeepAtEnd> - <RunSim>1</RunSim> - <RunTarget>0</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>.\STM3210E-EVAL_XL\</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>0</tRfunc> - <tRbox>1</tRbox> - <tRtrace>0</tRtrace> - <sRSysVw>1</sRSysVw> - <tRSysVw>1</tRSysVw> - <sRunDeb>0</sRunDeb> - <sLrtime>0</sLrtime> - <bEvRecOn>1</bEvRecOn> - <bSchkAxf>0</bSchkAxf> - <bTchkAxf>0</bTchkAxf> - <nTsel>1</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>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)(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=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>ARMDBGFLAGS</Key> - <Name></Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>DLGUARM</Key> - <Name>(105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)</Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>UL2CM3</Key> - <Name>-U-O14 -O2062 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FN1 -FC1000 -FD20000000 -FF0STM32F10x_1024 -FL0100000 -FS08000000 -FP0($$Device:STM32F103ZG$Flash/STM32F10x_1024.FLM)</Name> - </SetRegEntry> - </TargetDriverDllRegistry> - <Breakpoint> - <Bp> - <Number>0</Number> - <Type>0</Type> - <LineNumber>178</LineNumber> - <EnabledFlag>1</EnabledFlag> - <Address>0</Address> - <ByteObject>0</ByteObject> - <HtxType>0</HtxType> - <ManyObjects>0</ManyObjects> - <SizeOfObject>0</SizeOfObject> - <BreakByAccess>0</BreakByAccess> - <BreakIfRCount>0</BreakIfRCount> - <Filename>D:\realization\project\location\final_Controller\Detector\GS\MDK-ARM\main.c</Filename> - <ExecCommand></ExecCommand> - <Expression></Expression> - </Bp> - <Bp> - <Number>1</Number> - <Type>0</Type> - <LineNumber>246</LineNumber> - <EnabledFlag>1</EnabledFlag> - <Address>0</Address> - <ByteObject>0</ByteObject> - <HtxType>0</HtxType> - <ManyObjects>0</ManyObjects> - <SizeOfObject>0</SizeOfObject> - <BreakByAccess>0</BreakByAccess> - <BreakIfRCount>0</BreakIfRCount> - <Filename>D:\realization\project\location\RX\Detector\GS\MDK-ARM\main.c</Filename> - <ExecCommand></ExecCommand> - <Expression></Expression> - </Bp> - </Breakpoint> - <Tracepoint> - <THDelay>0</THDelay> - </Tracepoint> - <DebugFlag> - <trace>0</trace> - <periodic>0</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> - </TargetOption> - </Target> - - <Target> - <TargetName>STM32100B-EVAL</TargetName> - <ToolsetNumber>0x4</ToolsetNumber> - <ToolsetName>ARM-ADS</ToolsetName> - <TargetOption> - <CLKADS>12000000</CLKADS> - <OPTTT> - <gFlags>1</gFlags> - <BeepAtEnd>1</BeepAtEnd> - <RunSim>1</RunSim> - <RunTarget>0</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>.\STM32100B-EVAL\</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>0</tRfunc> - <tRbox>1</tRbox> - <tRtrace>0</tRtrace> - <sRSysVw>1</sRSysVw> - <tRSysVw>1</tRSysVw> - <sRunDeb>0</sRunDeb> - <sLrtime>0</sLrtime> - <bEvRecOn>1</bEvRecOn> - <bSchkAxf>0</bSchkAxf> - <bTchkAxf>0</bTchkAxf> - <nTsel>1</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>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)(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=-1,-1,-1,-1,0)(121=-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)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)</Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>ARMDBGFLAGS</Key> - <Name></Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>DLGUARM</Key> - <Name>(105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)</Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>UL2CM3</Key> - <Name>-UM0172U9E -O2062 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06430041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FN1 -FC1000 -FD20000000 -FF0STM32F10x_128 -FL020000 -FS08000000 -FP0($$Device:STM32F102CB$Flash/STM32F10x_128.FLM)</Name> - </SetRegEntry> - </TargetDriverDllRegistry> - <Breakpoint> - <Bp> - <Number>0</Number> - <Type>0</Type> - <LineNumber>178</LineNumber> - <EnabledFlag>1</EnabledFlag> - <Address>0</Address> - <ByteObject>0</ByteObject> - <HtxType>0</HtxType> - <ManyObjects>0</ManyObjects> - <SizeOfObject>0</SizeOfObject> - <BreakByAccess>0</BreakByAccess> - <BreakIfRCount>0</BreakIfRCount> - <Filename>D:\realization\project\location\final_Controller\Detector\GS\MDK-ARM\main.c</Filename> - <ExecCommand></ExecCommand> - <Expression></Expression> - </Bp> - <Bp> - <Number>1</Number> - <Type>0</Type> - <LineNumber>246</LineNumber> - <EnabledFlag>1</EnabledFlag> - <Address>0</Address> - <ByteObject>0</ByteObject> - <HtxType>0</HtxType> - <ManyObjects>0</ManyObjects> - <SizeOfObject>0</SizeOfObject> - <BreakByAccess>0</BreakByAccess> - <BreakIfRCount>0</BreakIfRCount> - <Filename>D:\realization\project\location\RX\Detector\GS\MDK-ARM\main.c</Filename> - <ExecCommand></ExecCommand> - <Expression></Expression> - </Bp> - </Breakpoint> - <Tracepoint> - <THDelay>0</THDelay> - </Tracepoint> - <DebugFlag> - <trace>0</trace> - <periodic>0</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> - </TargetOption> - </Target> - - <Target> - <TargetName>STM3210C-EVAL</TargetName> - <ToolsetNumber>0x4</ToolsetNumber> - <ToolsetName>ARM-ADS</ToolsetName> - <TargetOption> - <CLKADS>12000000</CLKADS> - <OPTTT> - <gFlags>1</gFlags> - <BeepAtEnd>1</BeepAtEnd> - <RunSim>1</RunSim> - <RunTarget>0</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>.\STM3210C-EVAL\</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>0</tRfunc> - <tRbox>1</tRbox> - <tRtrace>0</tRtrace> - <sRSysVw>1</sRSysVw> - <tRSysVw>1</tRSysVw> - <sRunDeb>0</sRunDeb> - <sLrtime>0</sLrtime> - <bEvRecOn>1</bEvRecOn> - <bSchkAxf>0</bSchkAxf> - <bTchkAxf>0</bTchkAxf> - <nTsel>1</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>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)(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=-1,-1,-1,-1,0)(121=-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)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)</Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>ARMDBGFLAGS</Key> - <Name></Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>DLGUARM</Key> - <Name>(105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)</Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>UL2CM3</Key> - <Name>-U-O14 -O2062 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FN1 -FC1000 -FD20000000 -FF0STM32F10x_CL -FL080000 -FS08000000 -FP0($$Device:STM32F107VC$Flash/STM32F10x_CL.FLM)</Name> - </SetRegEntry> - </TargetDriverDllRegistry> - <Breakpoint> - <Bp> - <Number>0</Number> - <Type>0</Type> - <LineNumber>178</LineNumber> - <EnabledFlag>1</EnabledFlag> - <Address>0</Address> - <ByteObject>0</ByteObject> - <HtxType>0</HtxType> - <ManyObjects>0</ManyObjects> - <SizeOfObject>0</SizeOfObject> - <BreakByAccess>0</BreakByAccess> - <BreakIfRCount>0</BreakIfRCount> - <Filename>D:\realization\project\location\final_Controller\Detector\GS\MDK-ARM\main.c</Filename> - <ExecCommand></ExecCommand> - <Expression></Expression> - </Bp> - <Bp> - <Number>1</Number> - <Type>0</Type> - <LineNumber>246</LineNumber> - <EnabledFlag>1</EnabledFlag> - <Address>0</Address> - <ByteObject>0</ByteObject> - <HtxType>0</HtxType> - <ManyObjects>0</ManyObjects> - <SizeOfObject>0</SizeOfObject> - <BreakByAccess>0</BreakByAccess> - <BreakIfRCount>0</BreakIfRCount> - <Filename>D:\realization\project\location\RX\Detector\GS\MDK-ARM\main.c</Filename> - <ExecCommand></ExecCommand> - <Expression></Expression> - </Bp> - </Breakpoint> - <Tracepoint> - <THDelay>0</THDelay> - </Tracepoint> - <DebugFlag> - <trace>0</trace> - <periodic>0</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> - </TargetOption> - </Target> - - <Target> - <TargetName>STM3210E-EVAL</TargetName> - <ToolsetNumber>0x4</ToolsetNumber> - <ToolsetName>ARM-ADS</ToolsetName> - <TargetOption> - <CLKADS>12000000</CLKADS> - <OPTTT> - <gFlags>1</gFlags> - <BeepAtEnd>1</BeepAtEnd> - <RunSim>1</RunSim> - <RunTarget>0</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>.\STM3210E-EVAL\</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>0</tRfunc> - <tRbox>1</tRbox> - <tRtrace>0</tRtrace> - <sRSysVw>1</sRSysVw> - <tRSysVw>1</tRSysVw> - <sRunDeb>0</sRunDeb> - <sLrtime>0</sLrtime> - <bEvRecOn>1</bEvRecOn> - <bSchkAxf>0</bSchkAxf> - <bTchkAxf>0</bTchkAxf> - <nTsel>1</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>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)(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=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(125=-1,-1,-1,-1,0)(126=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>ARMDBGFLAGS</Key> - <Name></Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>DLGUARM</Key> - <Name>(105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)</Name> - </SetRegEntry> - <SetRegEntry> - <Number>0</Number> - <Key>UL2CM3</Key> - <Name>-UV0391M9E -O2062 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06414041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FN1 -FC1000 -FD20000000 -FF0STM32F10x_512 -FL080000 -FS08000000 -FP0($$Device:STM32F103ZE$Flash/STM32F10x_512.FLM)</Name> - </SetRegEntry> - </TargetDriverDllRegistry> - <Breakpoint> - <Bp> - <Number>0</Number> - <Type>0</Type> - <LineNumber>178</LineNumber> - <EnabledFlag>1</EnabledFlag> - <Address>0</Address> - <ByteObject>0</ByteObject> - <HtxType>0</HtxType> - <ManyObjects>0</ManyObjects> - <SizeOfObject>0</SizeOfObject> - <BreakByAccess>0</BreakByAccess> - <BreakIfRCount>0</BreakIfRCount> - <Filename>D:\realization\project\location\final_Controller\Detector\GS\MDK-ARM\main.c</Filename> - <ExecCommand></ExecCommand> - <Expression></Expression> - </Bp> - <Bp> - <Number>1</Number> - <Type>0</Type> - <LineNumber>246</LineNumber> - <EnabledFlag>1</EnabledFlag> - <Address>0</Address> - <ByteObject>0</ByteObject> - <HtxType>0</HtxType> - <ManyObjects>0</ManyObjects> - <SizeOfObject>0</SizeOfObject> - <BreakByAccess>0</BreakByAccess> - <BreakIfRCount>0</BreakIfRCount> - <Filename>D:\realization\project\location\RX\Detector\GS\MDK-ARM\main.c</Filename> - <ExecCommand></ExecCommand> - <Expression></Expression> - </Bp> - </Breakpoint> - <Tracepoint> - <THDelay>0</THDelay> - </Tracepoint> - <DebugFlag> - <trace>0</trace> - <periodic>0</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> - </TargetOption> - </Target> - - <Target> <TargetName>STM32</TargetName> <ToolsetNumber>0x4</ToolsetNumber> <ToolsetName>ARM-ADS</ToolsetName> @@ -1057,7 +77,7 @@ <tvExpOptDlg>0</tvExpOptDlg> <IsCurrentTarget>1</IsCurrentTarget> </OPTFL> - <CpuCode>255</CpuCode> + <CpuCode>18</CpuCode> <DebugOpt> <uSim>0</uSim> <uTrg>1</uTrg> @@ -1100,7 +120,6 @@ <SetRegEntry> <Number>0</Number> <Key>DLGUARM</Key> - <Name>姒�?p韫倃姒�?</Name> </SetRegEntry> <SetRegEntry> <Number>0</Number> @@ -1138,12 +157,7 @@ <Ww> <count>0</count> <WinNumber>1</WinNumber> - <ItemText>tempa</ItemText> - </Ww> - <Ww> - <count>1</count> - <WinNumber>1</WinNumber> - <ItemText>tempaaaa</ItemText> + <ItemText>dist_cm</ItemText> </Ww> </WatchWindow1> <MemoryWindow1> @@ -1214,7 +228,7 @@ </Target> <Group> - <GroupName>User</GroupName> + <GroupName>App</GroupName> <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> @@ -1226,14 +240,34 @@ <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> + <PathWithFileName>..\Src\application\dw_app.c</PathWithFileName> + <FilenameWithoutPath>dw_app.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>User</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>2</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> <PathWithFileName>..\Src\main.c</PathWithFileName> <FilenameWithoutPath>main.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> <File> - <GroupNumber>1</GroupNumber> - <FileNumber>2</FileNumber> + <GroupNumber>2</GroupNumber> + <FileNumber>3</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1246,342 +280,14 @@ </Group> <Group> - <GroupName>CMSIS</GroupName> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> - <File> - <GroupNumber>2</GroupNumber> - <FileNumber>3</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c</PathWithFileName> - <FilenameWithoutPath>core_cm3.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>2</GroupNumber> - <FileNumber>4</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c</PathWithFileName> - <FilenameWithoutPath>system_stm32f10x.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>2</GroupNumber> - <FileNumber>5</FileNumber> - <FileType>2</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s</PathWithFileName> - <FilenameWithoutPath>startup_stm32f10x_md.s</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - </Group> - - <Group> - <GroupName>STM32F1xx_StdPeriph_Driver</GroupName> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>6</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c</PathWithFileName> - <FilenameWithoutPath>misc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>7</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_adc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>8</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_bkp.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>9</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_can.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>10</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_cec.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>11</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_crc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>12</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_dac.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>13</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_dbgmcu.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>14</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_dma.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>15</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_exti.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>16</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_flash.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>17</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_fsmc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>18</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_gpio.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>19</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_i2c.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>20</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_iwdg.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>21</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_pwr.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>22</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_rcc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>23</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_rtc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>24</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_sdio.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>25</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_spi.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>26</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_tim.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>27</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_usart.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>28</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c</PathWithFileName> - <FilenameWithoutPath>stm32f10x_wwdg.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - </Group> - - <Group> <GroupName>decadriver</GroupName> <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> <File> - <GroupNumber>4</GroupNumber> - <FileNumber>29</FileNumber> + <GroupNumber>3</GroupNumber> + <FileNumber>4</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1592,10 +298,10 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>4</GroupNumber> - <FileNumber>30</FileNumber> + <GroupNumber>3</GroupNumber> + <FileNumber>5</FileNumber> <FileType>1</FileType> - <tvExp>0</tvExp> + <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> <PathWithFileName>..\Src\decadriver\deca_params_init.c</PathWithFileName> @@ -1604,14 +310,58 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>4</GroupNumber> - <FileNumber>31</FileNumber> + <GroupNumber>3</GroupNumber> + <FileNumber>6</FileNumber> <FileType>1</FileType> - <tvExp>1</tvExp> + <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> <PathWithFileName>..\Src\decadriver\deca_range_tables.c</PathWithFileName> <FilenameWithoutPath>deca_range_tables.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>ExternalDevices</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>7</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\ExternalDevices\dw_driver.c</PathWithFileName> + <FilenameWithoutPath>dw_driver.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>8</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\ExternalDevices\led.c</PathWithFileName> + <FilenameWithoutPath>led.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>9</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\ExternalDevices\beep.c</PathWithFileName> + <FilenameWithoutPath>beep.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> @@ -1625,7 +375,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>5</GroupNumber> - <FileNumber>32</FileNumber> + <FileNumber>10</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1637,7 +387,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>33</FileNumber> + <FileNumber>11</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1649,7 +399,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>34</FileNumber> + <FileNumber>12</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1662,11 +412,275 @@ </Group> <Group> - <GroupName>ExternalDevices</GroupName> - <tvExp>1</tvExp> + <GroupName>STM32F1xx_StdPeriph_Driver</GroupName> + <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>13</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c</PathWithFileName> + <FilenameWithoutPath>misc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>14</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_adc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>15</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_bkp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>16</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_can.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>17</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_cec.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>18</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_crc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>19</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_dac.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>20</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_dbgmcu.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>21</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_dma.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>22</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_exti.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>23</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_flash.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>24</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_fsmc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>25</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_gpio.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>26</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_i2c.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>27</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_iwdg.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>28</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_pwr.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>29</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_rcc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>30</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_rtc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>31</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_sdio.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>32</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_spi.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>33</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_tim.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>34</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_usart.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> <File> <GroupNumber>6</GroupNumber> <FileNumber>35</FileNumber> @@ -1674,32 +688,52 @@ <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>..\Src\ExternalDevices\dw_driver.c</PathWithFileName> - <FilenameWithoutPath>dw_driver.c</FilenameWithoutPath> + <PathWithFileName>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c</PathWithFileName> + <FilenameWithoutPath>stm32f10x_wwdg.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> + </Group> + + <Group> + <GroupName>CMSIS</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> <File> - <GroupNumber>6</GroupNumber> + <GroupNumber>7</GroupNumber> <FileNumber>36</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>..\Src\ExternalDevices\led.c</PathWithFileName> - <FilenameWithoutPath>led.c</FilenameWithoutPath> + <PathWithFileName>..\Src\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c</PathWithFileName> + <FilenameWithoutPath>core_cm3.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> <File> - <GroupNumber>6</GroupNumber> + <GroupNumber>7</GroupNumber> <FileNumber>37</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>..\Src\ExternalDevices\beep.c</PathWithFileName> - <FilenameWithoutPath>beep.c</FilenameWithoutPath> + <PathWithFileName>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c</PathWithFileName> + <FilenameWithoutPath>system_stm32f10x.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>38</FileNumber> + <FileType>2</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s</PathWithFileName> + <FilenameWithoutPath>startup_stm32f10x_md.s</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvprojx" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvprojx" index 237059f..f4e9835 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvprojx" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvprojx" @@ -7,2941 +7,6 @@ <Targets> <Target> - <TargetName>STM32100E-EVAL</TargetName> - <ToolsetNumber>0x4</ToolsetNumber> - <ToolsetName>ARM-ADS</ToolsetName> - <uAC6>0</uAC6> - <TargetOption> - <TargetCommonOption> - <Device>STM32F100ZE</Device> - <Vendor>STMicroelectronics</Vendor> - <PackID>Keil.STM32F1xx_DFP.2.1.0</PackID> - <PackURL>http://www.keil.com/pack/</PackURL> - <Cpu>IROM(0x08000000,0x80000) IRAM(0x20000000,0x8000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu> - <FlashUtilSpec></FlashUtilSpec> - <StartupFile></StartupFile> - <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F100ZE$Flash/STM32F10x_512.FLM))</FlashDriverDll> - <DeviceId>0</DeviceId> - <RegisterFile>$$Device:STM32F100ZE$Device/Include/stm32f10x.h</RegisterFile> - <MemoryEnv></MemoryEnv> - <Cmp></Cmp> - <Asm></Asm> - <Linker></Linker> - <OHString></OHString> - <InfinionOptionDll></InfinionOptionDll> - <SLE66CMisc></SLE66CMisc> - <SLE66AMisc></SLE66AMisc> - <SLE66LinkerMisc></SLE66LinkerMisc> - <SFDFile>$$Device:STM32F100ZE$SVD/STM32F100xx.svd</SFDFile> - <bCustSvd>0</bCustSvd> - <UseEnv>0</UseEnv> - <BinPath></BinPath> - <IncludePath></IncludePath> - <LibPath></LibPath> - <RegisterFilePath></RegisterFilePath> - <DBRegisterFilePath></DBRegisterFilePath> - <TargetStatus> - <Error>0</Error> - <ExitCodeStop>0</ExitCodeStop> - <ButtonStop>0</ButtonStop> - <NotGenerated>0</NotGenerated> - <InvalidFlash>1</InvalidFlash> - </TargetStatus> - <OutputDirectory>.\STM32100E-EVAL\</OutputDirectory> - <OutputName>STM32100E-EVAL</OutputName> - <CreateExecutable>1</CreateExecutable> - <CreateLib>0</CreateLib> - <CreateHexFile>0</CreateHexFile> - <DebugInformation>1</DebugInformation> - <BrowseInformation>1</BrowseInformation> - <ListingPath>.\STM32100E-EVAL\</ListingPath> - <HexFormatSelection>1</HexFormatSelection> - <Merge32K>0</Merge32K> - <CreateBatchFile>0</CreateBatchFile> - <BeforeCompile> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopU1X>0</nStopU1X> - <nStopU2X>0</nStopU2X> - </BeforeCompile> - <BeforeMake> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopB1X>0</nStopB1X> - <nStopB2X>0</nStopB2X> - </BeforeMake> - <AfterMake> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopA1X>0</nStopA1X> - <nStopA2X>0</nStopA2X> - </AfterMake> - <SelectedForBatchBuild>0</SelectedForBatchBuild> - <SVCSIdString></SVCSIdString> - </TargetCommonOption> - <CommonProperty> - <UseCPPCompiler>0</UseCPPCompiler> - <RVCTCodeConst>0</RVCTCodeConst> - <RVCTZI>0</RVCTZI> - <RVCTOtherData>0</RVCTOtherData> - <ModuleSelection>0</ModuleSelection> - <IncludeInBuild>1</IncludeInBuild> - <AlwaysBuild>0</AlwaysBuild> - <GenerateAssemblyFile>0</GenerateAssemblyFile> - <AssembleAssemblyFile>0</AssembleAssemblyFile> - <PublicsOnly>0</PublicsOnly> - <StopOnExitCode>3</StopOnExitCode> - <CustomArgument></CustomArgument> - <IncludeLibraryModules></IncludeLibraryModules> - <ComprImg>1</ComprImg> - </CommonProperty> - <DllOption> - <SimDllName>SARMCM3.DLL</SimDllName> - <SimDllArguments> -REMAP</SimDllArguments> - <SimDlgDll>DCM.DLL</SimDlgDll> - <SimDlgDllArguments>-pCM3</SimDlgDllArguments> - <TargetDllName>SARMCM3.DLL</TargetDllName> - <TargetDllArguments></TargetDllArguments> - <TargetDlgDll>TCM.DLL</TargetDlgDll> - <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments> - </DllOption> - <DebugOption> - <OPTHX> - <HexSelection>1</HexSelection> - <HexRangeLowAddress>0</HexRangeLowAddress> - <HexRangeHighAddress>0</HexRangeHighAddress> - <HexOffset>0</HexOffset> - <Oh166RecLen>16</Oh166RecLen> - </OPTHX> - </DebugOption> - <Utilities> - <Flash1> - <UseTargetDll>1</UseTargetDll> - <UseExternalTool>0</UseExternalTool> - <RunIndependent>0</RunIndependent> - <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging> - <Capability>1</Capability> - <DriverSelection>4096</DriverSelection> - </Flash1> - <bUseTDR>0</bUseTDR> - <Flash2>BIN\UL2CM3.DLL</Flash2> - <Flash3></Flash3> - <Flash4></Flash4> - <pFcarmOut></pFcarmOut> - <pFcarmGrp></pFcarmGrp> - <pFcArmRoot></pFcArmRoot> - <FcArmLst>0</FcArmLst> - </Utilities> - <TargetArmAds> - <ArmAdsMisc> - <GenerateListings>0</GenerateListings> - <asHll>1</asHll> - <asAsm>1</asAsm> - <asMacX>1</asMacX> - <asSyms>1</asSyms> - <asFals>1</asFals> - <asDbgD>1</asDbgD> - <asForm>1</asForm> - <ldLst>0</ldLst> - <ldmm>1</ldmm> - <ldXref>1</ldXref> - <BigEnd>0</BigEnd> - <AdsALst>1</AdsALst> - <AdsACrf>1</AdsACrf> - <AdsANop>0</AdsANop> - <AdsANot>0</AdsANot> - <AdsLLst>1</AdsLLst> - <AdsLmap>1</AdsLmap> - <AdsLcgr>1</AdsLcgr> - <AdsLsym>1</AdsLsym> - <AdsLszi>1</AdsLszi> - <AdsLtoi>1</AdsLtoi> - <AdsLsun>1</AdsLsun> - <AdsLven>1</AdsLven> - <AdsLsxf>1</AdsLsxf> - <RvctClst>0</RvctClst> - <GenPPlst>0</GenPPlst> - <AdsCpuType>"Cortex-M3"</AdsCpuType> - <RvctDeviceName></RvctDeviceName> - <mOS>0</mOS> - <uocRom>0</uocRom> - <uocRam>0</uocRam> - <hadIROM>1</hadIROM> - <hadIRAM>1</hadIRAM> - <hadXRAM>0</hadXRAM> - <uocXRam>0</uocXRam> - <RvdsVP>0</RvdsVP> - <hadIRAM2>0</hadIRAM2> - <hadIROM2>0</hadIROM2> - <StupSel>8</StupSel> - <useUlib>1</useUlib> - <EndSel>0</EndSel> - <uLtcg>0</uLtcg> - <nSecure>0</nSecure> - <RoSelD>3</RoSelD> - <RwSelD>3</RwSelD> - <CodeSel>0</CodeSel> - <OptFeed>0</OptFeed> - <NoZi1>0</NoZi1> - <NoZi2>0</NoZi2> - <NoZi3>0</NoZi3> - <NoZi4>0</NoZi4> - <NoZi5>0</NoZi5> - <Ro1Chk>0</Ro1Chk> - <Ro2Chk>0</Ro2Chk> - <Ro3Chk>0</Ro3Chk> - <Ir1Chk>1</Ir1Chk> - <Ir2Chk>0</Ir2Chk> - <Ra1Chk>0</Ra1Chk> - <Ra2Chk>0</Ra2Chk> - <Ra3Chk>0</Ra3Chk> - <Im1Chk>1</Im1Chk> - <Im2Chk>0</Im2Chk> - <OnChipMemories> - <Ocm1> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm1> - <Ocm2> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm2> - <Ocm3> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm3> - <Ocm4> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm4> - <Ocm5> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm5> - <Ocm6> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm6> - <IRAM> - <Type>0</Type> - <StartAddress>0x20000000</StartAddress> - <Size>0x8000</Size> - </IRAM> - <IROM> - <Type>1</Type> - <StartAddress>0x8000000</StartAddress> - <Size>0x80000</Size> - </IROM> - <XRAM> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </XRAM> - <OCR_RVCT1> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT1> - <OCR_RVCT2> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT2> - <OCR_RVCT3> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT3> - <OCR_RVCT4> - <Type>1</Type> - <StartAddress>0x8000000</StartAddress> - <Size>0x80000</Size> - </OCR_RVCT4> - <OCR_RVCT5> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT5> - <OCR_RVCT6> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT6> - <OCR_RVCT7> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT7> - <OCR_RVCT8> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT8> - <OCR_RVCT9> - <Type>0</Type> - <StartAddress>0x20000000</StartAddress> - <Size>0x8000</Size> - </OCR_RVCT9> - <OCR_RVCT10> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT10> - </OnChipMemories> - <RvctStartVector></RvctStartVector> - </ArmAdsMisc> - <Cads> - <interw>1</interw> - <Optim>4</Optim> - <oTime>0</oTime> - <SplitLS>0</SplitLS> - <OneElfS>1</OneElfS> - <Strict>0</Strict> - <EnumInt>0</EnumInt> - <PlainCh>0</PlainCh> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <wLevel>2</wLevel> - <uThumb>0</uThumb> - <uSurpInc>0</uSurpInc> - <uC99>0</uC99> - <useXO>0</useXO> - <v6Lang>1</v6Lang> - <v6LangP>1</v6LangP> - <vShortEn>1</vShortEn> - <vShortWch>1</vShortWch> - <v6Lto>0</v6Lto> - <v6WtE>0</v6WtE> - <v6Rtti>0</v6Rtti> - <VariousControls> - <MiscControls></MiscControls> - <Define>USE_STDPERIPH_DRIVER, STM32F10X_HD_VL, USE_STM32100E_EVAL</Define> - <Undefine></Undefine> - <IncludePath>..\;..\..\..\Libraries\CMSIS\CM3\CoreSupport;..\..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\Utilities\STM32_EVAL;..\..\Utilities\STM32_EVAL\STM32100E_EVAL;..\..\Utilities\STM32_EVAL\Common</IncludePath> - </VariousControls> - </Cads> - <Aads> - <interw>1</interw> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <thumb>0</thumb> - <SplitLS>0</SplitLS> - <SwStkChk>0</SwStkChk> - <NoWarn>0</NoWarn> - <uSurpInc>0</uSurpInc> - <useXO>0</useXO> - <uClangAs>0</uClangAs> - <VariousControls> - <MiscControls></MiscControls> - <Define></Define> - <Undefine></Undefine> - <IncludePath></IncludePath> - </VariousControls> - </Aads> - <LDads> - <umfTarg>1</umfTarg> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <noStLib>0</noStLib> - <RepFail>1</RepFail> - <useFile>0</useFile> - <TextAddressRange>0x08000000</TextAddressRange> - <DataAddressRange>0x20000000</DataAddressRange> - <pXoBase></pXoBase> - <ScatterFile></ScatterFile> - <IncludeLibs></IncludeLibs> - <IncludeLibsPath></IncludeLibsPath> - <Misc></Misc> - <LinkerInputFile></LinkerInputFile> - <DisabledWarnings></DisabledWarnings> - </LDads> - </TargetArmAds> - </TargetOption> - <Groups> - <Group> - <GroupName>User</GroupName> - <Files> - <File> - <FileName>main.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\main.c</FilePath> - </File> - <File> - <FileName>stm32f10x_it.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\stm32f10x_it.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>CMSIS</GroupName> - <Files> - <File> - <FileName>core_cm3.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c</FilePath> - </File> - <File> - <FileName>system_stm32f10x.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c</FilePath> - </File> - <File> - <FileName>startup_stm32f10x_md.s</FileName> - <FileType>2</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>STM32F1xx_StdPeriph_Driver</GroupName> - <Files> - <File> - <FileName>misc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_adc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_bkp.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c</FilePath> - </File> - <File> - <FileName>stm32f10x_can.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c</FilePath> - </File> - <File> - <FileName>stm32f10x_cec.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c</FilePath> - </File> - <File> - <FileName>stm32f10x_crc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dac.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dbgmcu.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dma.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c</FilePath> - </File> - <File> - <FileName>stm32f10x_exti.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c</FilePath> - </File> - <File> - <FileName>stm32f10x_flash.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c</FilePath> - </File> - <File> - <FileName>stm32f10x_fsmc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_gpio.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c</FilePath> - </File> - <File> - <FileName>stm32f10x_i2c.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c</FilePath> - </File> - <File> - <FileName>stm32f10x_iwdg.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c</FilePath> - </File> - <File> - <FileName>stm32f10x_pwr.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c</FilePath> - </File> - <File> - <FileName>stm32f10x_rcc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_rtc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_sdio.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c</FilePath> - </File> - <File> - <FileName>stm32f10x_spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c</FilePath> - </File> - <File> - <FileName>stm32f10x_tim.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c</FilePath> - </File> - <File> - <FileName>stm32f10x_usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c</FilePath> - </File> - <File> - <FileName>stm32f10x_wwdg.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>decadriver</GroupName> - <Files> - <File> - <FileName>deca_device.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_device.c</FilePath> - </File> - <File> - <FileName>deca_params_init.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_params_init.c</FilePath> - </File> - <File> - <FileName>deca_range_tables.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_range_tables.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>OnChipDevices</GroupName> - <Files> - <File> - <FileName>Usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Usart.c</FilePath> - </File> - <File> - <FileName>Spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Spi.c</FilePath> - </File> - <File> - <FileName>Rcc_Nvic_Systick.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Rcc_Nvic_Systick.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>ExternalDevices</GroupName> - <Files> - <File> - <FileName>dw_driver.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\dw_driver.c</FilePath> - </File> - <File> - <FileName>led.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\led.c</FilePath> - </File> - <File> - <FileName>beep.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\beep.c</FilePath> - </File> - </Files> - </Group> - </Groups> - </Target> - <Target> - <TargetName>STM3210E-EVAL_XL</TargetName> - <ToolsetNumber>0x4</ToolsetNumber> - <ToolsetName>ARM-ADS</ToolsetName> - <uAC6>0</uAC6> - <TargetOption> - <TargetCommonOption> - <Device>STM32F103ZG</Device> - <Vendor>STMicroelectronics</Vendor> - <PackID>Keil.STM32F1xx_DFP.2.1.0</PackID> - <PackURL>http://www.keil.com/pack/</PackURL> - <Cpu>IROM(0x08000000,0x100000) IRAM(0x20000000,0x18000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu> - <FlashUtilSpec></FlashUtilSpec> - <StartupFile></StartupFile> - <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F103ZG$Flash/STM32F10x_1024.FLM))</FlashDriverDll> - <DeviceId>0</DeviceId> - <RegisterFile>$$Device:STM32F103ZG$Device/Include/stm32f10x.h</RegisterFile> - <MemoryEnv></MemoryEnv> - <Cmp></Cmp> - <Asm></Asm> - <Linker></Linker> - <OHString></OHString> - <InfinionOptionDll></InfinionOptionDll> - <SLE66CMisc></SLE66CMisc> - <SLE66AMisc></SLE66AMisc> - <SLE66LinkerMisc></SLE66LinkerMisc> - <SFDFile>$$Device:STM32F103ZG$SVD/STM32F103xx.svd</SFDFile> - <bCustSvd>0</bCustSvd> - <UseEnv>0</UseEnv> - <BinPath></BinPath> - <IncludePath></IncludePath> - <LibPath></LibPath> - <RegisterFilePath></RegisterFilePath> - <DBRegisterFilePath></DBRegisterFilePath> - <TargetStatus> - <Error>0</Error> - <ExitCodeStop>0</ExitCodeStop> - <ButtonStop>0</ButtonStop> - <NotGenerated>0</NotGenerated> - <InvalidFlash>1</InvalidFlash> - </TargetStatus> - <OutputDirectory>.\STM3210E-EVAL_XL\</OutputDirectory> - <OutputName>STM3210E-EVAL_XL</OutputName> - <CreateExecutable>1</CreateExecutable> - <CreateLib>0</CreateLib> - <CreateHexFile>0</CreateHexFile> - <DebugInformation>1</DebugInformation> - <BrowseInformation>1</BrowseInformation> - <ListingPath>.\STM3210E-EVAL_XL\</ListingPath> - <HexFormatSelection>1</HexFormatSelection> - <Merge32K>0</Merge32K> - <CreateBatchFile>0</CreateBatchFile> - <BeforeCompile> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopU1X>0</nStopU1X> - <nStopU2X>0</nStopU2X> - </BeforeCompile> - <BeforeMake> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopB1X>0</nStopB1X> - <nStopB2X>0</nStopB2X> - </BeforeMake> - <AfterMake> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopA1X>0</nStopA1X> - <nStopA2X>0</nStopA2X> - </AfterMake> - <SelectedForBatchBuild>0</SelectedForBatchBuild> - <SVCSIdString></SVCSIdString> - </TargetCommonOption> - <CommonProperty> - <UseCPPCompiler>0</UseCPPCompiler> - <RVCTCodeConst>0</RVCTCodeConst> - <RVCTZI>0</RVCTZI> - <RVCTOtherData>0</RVCTOtherData> - <ModuleSelection>0</ModuleSelection> - <IncludeInBuild>1</IncludeInBuild> - <AlwaysBuild>0</AlwaysBuild> - <GenerateAssemblyFile>0</GenerateAssemblyFile> - <AssembleAssemblyFile>0</AssembleAssemblyFile> - <PublicsOnly>0</PublicsOnly> - <StopOnExitCode>3</StopOnExitCode> - <CustomArgument></CustomArgument> - <IncludeLibraryModules></IncludeLibraryModules> - <ComprImg>1</ComprImg> - </CommonProperty> - <DllOption> - <SimDllName>SARMCM3.DLL</SimDllName> - <SimDllArguments> -REMAP -MPU</SimDllArguments> - <SimDlgDll>DCM.DLL</SimDlgDll> - <SimDlgDllArguments>-pCM3</SimDlgDllArguments> - <TargetDllName>SARMCM3.DLL</TargetDllName> - <TargetDllArguments> -MPU</TargetDllArguments> - <TargetDlgDll>TCM.DLL</TargetDlgDll> - <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments> - </DllOption> - <DebugOption> - <OPTHX> - <HexSelection>1</HexSelection> - <HexRangeLowAddress>0</HexRangeLowAddress> - <HexRangeHighAddress>0</HexRangeHighAddress> - <HexOffset>0</HexOffset> - <Oh166RecLen>16</Oh166RecLen> - </OPTHX> - </DebugOption> - <Utilities> - <Flash1> - <UseTargetDll>1</UseTargetDll> - <UseExternalTool>0</UseExternalTool> - <RunIndependent>0</RunIndependent> - <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging> - <Capability>1</Capability> - <DriverSelection>4096</DriverSelection> - </Flash1> - <bUseTDR>0</bUseTDR> - <Flash2>BIN\UL2CM3.DLL</Flash2> - <Flash3></Flash3> - <Flash4></Flash4> - <pFcarmOut></pFcarmOut> - <pFcarmGrp></pFcarmGrp> - <pFcArmRoot></pFcArmRoot> - <FcArmLst>0</FcArmLst> - </Utilities> - <TargetArmAds> - <ArmAdsMisc> - <GenerateListings>0</GenerateListings> - <asHll>1</asHll> - <asAsm>1</asAsm> - <asMacX>1</asMacX> - <asSyms>1</asSyms> - <asFals>1</asFals> - <asDbgD>1</asDbgD> - <asForm>1</asForm> - <ldLst>0</ldLst> - <ldmm>1</ldmm> - <ldXref>1</ldXref> - <BigEnd>0</BigEnd> - <AdsALst>1</AdsALst> - <AdsACrf>1</AdsACrf> - <AdsANop>0</AdsANop> - <AdsANot>0</AdsANot> - <AdsLLst>1</AdsLLst> - <AdsLmap>1</AdsLmap> - <AdsLcgr>1</AdsLcgr> - <AdsLsym>1</AdsLsym> - <AdsLszi>1</AdsLszi> - <AdsLtoi>1</AdsLtoi> - <AdsLsun>1</AdsLsun> - <AdsLven>1</AdsLven> - <AdsLsxf>1</AdsLsxf> - <RvctClst>0</RvctClst> - <GenPPlst>0</GenPPlst> - <AdsCpuType>"Cortex-M3"</AdsCpuType> - <RvctDeviceName></RvctDeviceName> - <mOS>0</mOS> - <uocRom>0</uocRom> - <uocRam>0</uocRam> - <hadIROM>1</hadIROM> - <hadIRAM>1</hadIRAM> - <hadXRAM>0</hadXRAM> - <uocXRam>0</uocXRam> - <RvdsVP>0</RvdsVP> - <hadIRAM2>0</hadIRAM2> - <hadIROM2>0</hadIROM2> - <StupSel>8</StupSel> - <useUlib>1</useUlib> - <EndSel>0</EndSel> - <uLtcg>0</uLtcg> - <nSecure>0</nSecure> - <RoSelD>3</RoSelD> - <RwSelD>3</RwSelD> - <CodeSel>0</CodeSel> - <OptFeed>0</OptFeed> - <NoZi1>0</NoZi1> - <NoZi2>0</NoZi2> - <NoZi3>0</NoZi3> - <NoZi4>0</NoZi4> - <NoZi5>0</NoZi5> - <Ro1Chk>0</Ro1Chk> - <Ro2Chk>0</Ro2Chk> - <Ro3Chk>0</Ro3Chk> - <Ir1Chk>1</Ir1Chk> - <Ir2Chk>0</Ir2Chk> - <Ra1Chk>0</Ra1Chk> - <Ra2Chk>0</Ra2Chk> - <Ra3Chk>0</Ra3Chk> - <Im1Chk>1</Im1Chk> - <Im2Chk>0</Im2Chk> - <OnChipMemories> - <Ocm1> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm1> - <Ocm2> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm2> - <Ocm3> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm3> - <Ocm4> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm4> - <Ocm5> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm5> - <Ocm6> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm6> - <IRAM> - <Type>0</Type> - <StartAddress>0x20000000</StartAddress> - <Size>0x18000</Size> - </IRAM> - <IROM> - <Type>1</Type> - <StartAddress>0x8000000</StartAddress> - <Size>0x100000</Size> - </IROM> - <XRAM> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </XRAM> - <OCR_RVCT1> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT1> - <OCR_RVCT2> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT2> - <OCR_RVCT3> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT3> - <OCR_RVCT4> - <Type>1</Type> - <StartAddress>0x8000000</StartAddress> - <Size>0x100000</Size> - </OCR_RVCT4> - <OCR_RVCT5> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT5> - <OCR_RVCT6> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT6> - <OCR_RVCT7> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT7> - <OCR_RVCT8> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT8> - <OCR_RVCT9> - <Type>0</Type> - <StartAddress>0x20000000</StartAddress> - <Size>0x18000</Size> - </OCR_RVCT9> - <OCR_RVCT10> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT10> - </OnChipMemories> - <RvctStartVector></RvctStartVector> - </ArmAdsMisc> - <Cads> - <interw>1</interw> - <Optim>4</Optim> - <oTime>0</oTime> - <SplitLS>0</SplitLS> - <OneElfS>1</OneElfS> - <Strict>0</Strict> - <EnumInt>0</EnumInt> - <PlainCh>0</PlainCh> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <wLevel>2</wLevel> - <uThumb>0</uThumb> - <uSurpInc>0</uSurpInc> - <uC99>0</uC99> - <useXO>0</useXO> - <v6Lang>1</v6Lang> - <v6LangP>1</v6LangP> - <vShortEn>1</vShortEn> - <vShortWch>1</vShortWch> - <v6Lto>0</v6Lto> - <v6WtE>0</v6WtE> - <v6Rtti>0</v6Rtti> - <VariousControls> - <MiscControls></MiscControls> - <Define>USE_STDPERIPH_DRIVER, STM32F10X_XL, USE_STM3210E_EVAL</Define> - <Undefine></Undefine> - <IncludePath>..\;..\..\..\Libraries\CMSIS\CM3\CoreSupport;..\..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL;..\..\..\Utilities\STM32_EVAL\Common</IncludePath> - </VariousControls> - </Cads> - <Aads> - <interw>1</interw> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <thumb>0</thumb> - <SplitLS>0</SplitLS> - <SwStkChk>0</SwStkChk> - <NoWarn>0</NoWarn> - <uSurpInc>0</uSurpInc> - <useXO>0</useXO> - <uClangAs>0</uClangAs> - <VariousControls> - <MiscControls></MiscControls> - <Define></Define> - <Undefine></Undefine> - <IncludePath></IncludePath> - </VariousControls> - </Aads> - <LDads> - <umfTarg>1</umfTarg> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <noStLib>0</noStLib> - <RepFail>1</RepFail> - <useFile>0</useFile> - <TextAddressRange>0x08000000</TextAddressRange> - <DataAddressRange>0x20000000</DataAddressRange> - <pXoBase></pXoBase> - <ScatterFile></ScatterFile> - <IncludeLibs></IncludeLibs> - <IncludeLibsPath></IncludeLibsPath> - <Misc></Misc> - <LinkerInputFile></LinkerInputFile> - <DisabledWarnings></DisabledWarnings> - </LDads> - </TargetArmAds> - </TargetOption> - <Groups> - <Group> - <GroupName>User</GroupName> - <Files> - <File> - <FileName>main.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\main.c</FilePath> - </File> - <File> - <FileName>stm32f10x_it.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\stm32f10x_it.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>CMSIS</GroupName> - <Files> - <File> - <FileName>core_cm3.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c</FilePath> - </File> - <File> - <FileName>system_stm32f10x.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c</FilePath> - </File> - <File> - <FileName>startup_stm32f10x_md.s</FileName> - <FileType>2</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>STM32F1xx_StdPeriph_Driver</GroupName> - <Files> - <File> - <FileName>misc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_adc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_bkp.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c</FilePath> - </File> - <File> - <FileName>stm32f10x_can.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c</FilePath> - </File> - <File> - <FileName>stm32f10x_cec.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c</FilePath> - </File> - <File> - <FileName>stm32f10x_crc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dac.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dbgmcu.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dma.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c</FilePath> - </File> - <File> - <FileName>stm32f10x_exti.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c</FilePath> - </File> - <File> - <FileName>stm32f10x_flash.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c</FilePath> - </File> - <File> - <FileName>stm32f10x_fsmc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_gpio.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c</FilePath> - </File> - <File> - <FileName>stm32f10x_i2c.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c</FilePath> - </File> - <File> - <FileName>stm32f10x_iwdg.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c</FilePath> - </File> - <File> - <FileName>stm32f10x_pwr.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c</FilePath> - </File> - <File> - <FileName>stm32f10x_rcc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_rtc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_sdio.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c</FilePath> - </File> - <File> - <FileName>stm32f10x_spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c</FilePath> - </File> - <File> - <FileName>stm32f10x_tim.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c</FilePath> - </File> - <File> - <FileName>stm32f10x_usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c</FilePath> - </File> - <File> - <FileName>stm32f10x_wwdg.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>decadriver</GroupName> - <Files> - <File> - <FileName>deca_device.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_device.c</FilePath> - </File> - <File> - <FileName>deca_params_init.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_params_init.c</FilePath> - </File> - <File> - <FileName>deca_range_tables.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_range_tables.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>OnChipDevices</GroupName> - <Files> - <File> - <FileName>Usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Usart.c</FilePath> - </File> - <File> - <FileName>Spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Spi.c</FilePath> - </File> - <File> - <FileName>Rcc_Nvic_Systick.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Rcc_Nvic_Systick.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>ExternalDevices</GroupName> - <Files> - <File> - <FileName>dw_driver.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\dw_driver.c</FilePath> - </File> - <File> - <FileName>led.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\led.c</FilePath> - </File> - <File> - <FileName>beep.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\beep.c</FilePath> - </File> - </Files> - </Group> - </Groups> - </Target> - <Target> - <TargetName>STM32100B-EVAL</TargetName> - <ToolsetNumber>0x4</ToolsetNumber> - <ToolsetName>ARM-ADS</ToolsetName> - <uAC6>0</uAC6> - <TargetOption> - <TargetCommonOption> - <Device>STM32F102CB</Device> - <Vendor>STMicroelectronics</Vendor> - <PackID>Keil.STM32F1xx_DFP.2.1.0</PackID> - <PackURL>http://www.keil.com/pack/</PackURL> - <Cpu>IROM(0x08000000,0x20000) IRAM(0x20000000,0x4000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu> - <FlashUtilSpec></FlashUtilSpec> - <StartupFile></StartupFile> - <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F102CB$Flash/STM32F10x_128.FLM))</FlashDriverDll> - <DeviceId>0</DeviceId> - <RegisterFile>$$Device:STM32F102CB$Device/Include/stm32f10x.h</RegisterFile> - <MemoryEnv></MemoryEnv> - <Cmp></Cmp> - <Asm></Asm> - <Linker></Linker> - <OHString></OHString> - <InfinionOptionDll></InfinionOptionDll> - <SLE66CMisc></SLE66CMisc> - <SLE66AMisc></SLE66AMisc> - <SLE66LinkerMisc></SLE66LinkerMisc> - <SFDFile>$$Device:STM32F102CB$SVD/STM32F102xx.svd</SFDFile> - <bCustSvd>0</bCustSvd> - <UseEnv>0</UseEnv> - <BinPath></BinPath> - <IncludePath></IncludePath> - <LibPath></LibPath> - <RegisterFilePath></RegisterFilePath> - <DBRegisterFilePath></DBRegisterFilePath> - <TargetStatus> - <Error>0</Error> - <ExitCodeStop>0</ExitCodeStop> - <ButtonStop>0</ButtonStop> - <NotGenerated>0</NotGenerated> - <InvalidFlash>1</InvalidFlash> - </TargetStatus> - <OutputDirectory>.\STM32100B-EVAL\</OutputDirectory> - <OutputName>STM32100B-EVAL</OutputName> - <CreateExecutable>1</CreateExecutable> - <CreateLib>0</CreateLib> - <CreateHexFile>0</CreateHexFile> - <DebugInformation>1</DebugInformation> - <BrowseInformation>1</BrowseInformation> - <ListingPath>.\STM32100B-EVAL\</ListingPath> - <HexFormatSelection>1</HexFormatSelection> - <Merge32K>0</Merge32K> - <CreateBatchFile>0</CreateBatchFile> - <BeforeCompile> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopU1X>0</nStopU1X> - <nStopU2X>0</nStopU2X> - </BeforeCompile> - <BeforeMake> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopB1X>0</nStopB1X> - <nStopB2X>0</nStopB2X> - </BeforeMake> - <AfterMake> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopA1X>0</nStopA1X> - <nStopA2X>0</nStopA2X> - </AfterMake> - <SelectedForBatchBuild>0</SelectedForBatchBuild> - <SVCSIdString></SVCSIdString> - </TargetCommonOption> - <CommonProperty> - <UseCPPCompiler>0</UseCPPCompiler> - <RVCTCodeConst>0</RVCTCodeConst> - <RVCTZI>0</RVCTZI> - <RVCTOtherData>0</RVCTOtherData> - <ModuleSelection>0</ModuleSelection> - <IncludeInBuild>1</IncludeInBuild> - <AlwaysBuild>0</AlwaysBuild> - <GenerateAssemblyFile>0</GenerateAssemblyFile> - <AssembleAssemblyFile>0</AssembleAssemblyFile> - <PublicsOnly>0</PublicsOnly> - <StopOnExitCode>3</StopOnExitCode> - <CustomArgument></CustomArgument> - <IncludeLibraryModules></IncludeLibraryModules> - <ComprImg>1</ComprImg> - </CommonProperty> - <DllOption> - <SimDllName>SARMCM3.DLL</SimDllName> - <SimDllArguments> -REMAP</SimDllArguments> - <SimDlgDll>DCM.DLL</SimDlgDll> - <SimDlgDllArguments>-pCM3</SimDlgDllArguments> - <TargetDllName>SARMCM3.DLL</TargetDllName> - <TargetDllArguments></TargetDllArguments> - <TargetDlgDll>TCM.DLL</TargetDlgDll> - <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments> - </DllOption> - <DebugOption> - <OPTHX> - <HexSelection>1</HexSelection> - <HexRangeLowAddress>0</HexRangeLowAddress> - <HexRangeHighAddress>0</HexRangeHighAddress> - <HexOffset>0</HexOffset> - <Oh166RecLen>16</Oh166RecLen> - </OPTHX> - </DebugOption> - <Utilities> - <Flash1> - <UseTargetDll>1</UseTargetDll> - <UseExternalTool>0</UseExternalTool> - <RunIndependent>0</RunIndependent> - <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging> - <Capability>1</Capability> - <DriverSelection>4096</DriverSelection> - </Flash1> - <bUseTDR>0</bUseTDR> - <Flash2>BIN\UL2CM3.DLL</Flash2> - <Flash3></Flash3> - <Flash4></Flash4> - <pFcarmOut></pFcarmOut> - <pFcarmGrp></pFcarmGrp> - <pFcArmRoot></pFcArmRoot> - <FcArmLst>0</FcArmLst> - </Utilities> - <TargetArmAds> - <ArmAdsMisc> - <GenerateListings>0</GenerateListings> - <asHll>1</asHll> - <asAsm>1</asAsm> - <asMacX>1</asMacX> - <asSyms>1</asSyms> - <asFals>1</asFals> - <asDbgD>1</asDbgD> - <asForm>1</asForm> - <ldLst>0</ldLst> - <ldmm>1</ldmm> - <ldXref>1</ldXref> - <BigEnd>0</BigEnd> - <AdsALst>1</AdsALst> - <AdsACrf>1</AdsACrf> - <AdsANop>0</AdsANop> - <AdsANot>0</AdsANot> - <AdsLLst>1</AdsLLst> - <AdsLmap>1</AdsLmap> - <AdsLcgr>1</AdsLcgr> - <AdsLsym>1</AdsLsym> - <AdsLszi>1</AdsLszi> - <AdsLtoi>1</AdsLtoi> - <AdsLsun>1</AdsLsun> - <AdsLven>1</AdsLven> - <AdsLsxf>1</AdsLsxf> - <RvctClst>0</RvctClst> - <GenPPlst>0</GenPPlst> - <AdsCpuType>"Cortex-M3"</AdsCpuType> - <RvctDeviceName></RvctDeviceName> - <mOS>0</mOS> - <uocRom>0</uocRom> - <uocRam>0</uocRam> - <hadIROM>1</hadIROM> - <hadIRAM>1</hadIRAM> - <hadXRAM>0</hadXRAM> - <uocXRam>0</uocXRam> - <RvdsVP>0</RvdsVP> - <hadIRAM2>0</hadIRAM2> - <hadIROM2>0</hadIROM2> - <StupSel>8</StupSel> - <useUlib>1</useUlib> - <EndSel>0</EndSel> - <uLtcg>0</uLtcg> - <nSecure>0</nSecure> - <RoSelD>3</RoSelD> - <RwSelD>3</RwSelD> - <CodeSel>0</CodeSel> - <OptFeed>0</OptFeed> - <NoZi1>0</NoZi1> - <NoZi2>0</NoZi2> - <NoZi3>0</NoZi3> - <NoZi4>0</NoZi4> - <NoZi5>0</NoZi5> - <Ro1Chk>0</Ro1Chk> - <Ro2Chk>0</Ro2Chk> - <Ro3Chk>0</Ro3Chk> - <Ir1Chk>1</Ir1Chk> - <Ir2Chk>0</Ir2Chk> - <Ra1Chk>0</Ra1Chk> - <Ra2Chk>0</Ra2Chk> - <Ra3Chk>0</Ra3Chk> - <Im1Chk>1</Im1Chk> - <Im2Chk>0</Im2Chk> - <OnChipMemories> - <Ocm1> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm1> - <Ocm2> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm2> - <Ocm3> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm3> - <Ocm4> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm4> - <Ocm5> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm5> - <Ocm6> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm6> - <IRAM> - <Type>0</Type> - <StartAddress>0x20000000</StartAddress> - <Size>0x4000</Size> - </IRAM> - <IROM> - <Type>1</Type> - <StartAddress>0x8000000</StartAddress> - <Size>0x20000</Size> - </IROM> - <XRAM> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </XRAM> - <OCR_RVCT1> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT1> - <OCR_RVCT2> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT2> - <OCR_RVCT3> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT3> - <OCR_RVCT4> - <Type>1</Type> - <StartAddress>0x8000000</StartAddress> - <Size>0x20000</Size> - </OCR_RVCT4> - <OCR_RVCT5> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT5> - <OCR_RVCT6> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT6> - <OCR_RVCT7> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT7> - <OCR_RVCT8> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT8> - <OCR_RVCT9> - <Type>0</Type> - <StartAddress>0x20000000</StartAddress> - <Size>0x4000</Size> - </OCR_RVCT9> - <OCR_RVCT10> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT10> - </OnChipMemories> - <RvctStartVector></RvctStartVector> - </ArmAdsMisc> - <Cads> - <interw>1</interw> - <Optim>4</Optim> - <oTime>0</oTime> - <SplitLS>0</SplitLS> - <OneElfS>1</OneElfS> - <Strict>0</Strict> - <EnumInt>0</EnumInt> - <PlainCh>0</PlainCh> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <wLevel>2</wLevel> - <uThumb>0</uThumb> - <uSurpInc>0</uSurpInc> - <uC99>0</uC99> - <useXO>0</useXO> - <v6Lang>1</v6Lang> - <v6LangP>1</v6LangP> - <vShortEn>1</vShortEn> - <vShortWch>1</vShortWch> - <v6Lto>0</v6Lto> - <v6WtE>0</v6WtE> - <v6Rtti>0</v6Rtti> - <VariousControls> - <MiscControls></MiscControls> - <Define>USE_STDPERIPH_DRIVER, STM32F10X_MD_VL, USE_STM32100B_EVAL</Define> - <Undefine></Undefine> - <IncludePath>..\;..\..\..\Libraries\CMSIS\CM3\CoreSupport;..\..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32100B_EVAL</IncludePath> - </VariousControls> - </Cads> - <Aads> - <interw>1</interw> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <thumb>0</thumb> - <SplitLS>0</SplitLS> - <SwStkChk>0</SwStkChk> - <NoWarn>0</NoWarn> - <uSurpInc>0</uSurpInc> - <useXO>0</useXO> - <uClangAs>0</uClangAs> - <VariousControls> - <MiscControls></MiscControls> - <Define></Define> - <Undefine></Undefine> - <IncludePath></IncludePath> - </VariousControls> - </Aads> - <LDads> - <umfTarg>1</umfTarg> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <noStLib>0</noStLib> - <RepFail>1</RepFail> - <useFile>0</useFile> - <TextAddressRange>0x08000000</TextAddressRange> - <DataAddressRange>0x20000000</DataAddressRange> - <pXoBase></pXoBase> - <ScatterFile></ScatterFile> - <IncludeLibs></IncludeLibs> - <IncludeLibsPath></IncludeLibsPath> - <Misc></Misc> - <LinkerInputFile></LinkerInputFile> - <DisabledWarnings></DisabledWarnings> - </LDads> - </TargetArmAds> - </TargetOption> - <Groups> - <Group> - <GroupName>User</GroupName> - <Files> - <File> - <FileName>main.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\main.c</FilePath> - </File> - <File> - <FileName>stm32f10x_it.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\stm32f10x_it.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>CMSIS</GroupName> - <Files> - <File> - <FileName>core_cm3.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c</FilePath> - </File> - <File> - <FileName>system_stm32f10x.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c</FilePath> - </File> - <File> - <FileName>startup_stm32f10x_md.s</FileName> - <FileType>2</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>STM32F1xx_StdPeriph_Driver</GroupName> - <Files> - <File> - <FileName>misc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_adc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_bkp.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c</FilePath> - </File> - <File> - <FileName>stm32f10x_can.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c</FilePath> - </File> - <File> - <FileName>stm32f10x_cec.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c</FilePath> - </File> - <File> - <FileName>stm32f10x_crc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dac.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dbgmcu.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dma.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c</FilePath> - </File> - <File> - <FileName>stm32f10x_exti.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c</FilePath> - </File> - <File> - <FileName>stm32f10x_flash.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c</FilePath> - </File> - <File> - <FileName>stm32f10x_fsmc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_gpio.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c</FilePath> - </File> - <File> - <FileName>stm32f10x_i2c.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c</FilePath> - </File> - <File> - <FileName>stm32f10x_iwdg.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c</FilePath> - </File> - <File> - <FileName>stm32f10x_pwr.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c</FilePath> - </File> - <File> - <FileName>stm32f10x_rcc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_rtc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_sdio.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c</FilePath> - </File> - <File> - <FileName>stm32f10x_spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c</FilePath> - </File> - <File> - <FileName>stm32f10x_tim.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c</FilePath> - </File> - <File> - <FileName>stm32f10x_usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c</FilePath> - </File> - <File> - <FileName>stm32f10x_wwdg.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>decadriver</GroupName> - <Files> - <File> - <FileName>deca_device.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_device.c</FilePath> - </File> - <File> - <FileName>deca_params_init.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_params_init.c</FilePath> - </File> - <File> - <FileName>deca_range_tables.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_range_tables.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>OnChipDevices</GroupName> - <Files> - <File> - <FileName>Usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Usart.c</FilePath> - </File> - <File> - <FileName>Spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Spi.c</FilePath> - </File> - <File> - <FileName>Rcc_Nvic_Systick.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Rcc_Nvic_Systick.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>ExternalDevices</GroupName> - <Files> - <File> - <FileName>dw_driver.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\dw_driver.c</FilePath> - </File> - <File> - <FileName>led.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\led.c</FilePath> - </File> - <File> - <FileName>beep.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\beep.c</FilePath> - </File> - </Files> - </Group> - </Groups> - </Target> - <Target> - <TargetName>STM3210C-EVAL</TargetName> - <ToolsetNumber>0x4</ToolsetNumber> - <ToolsetName>ARM-ADS</ToolsetName> - <uAC6>0</uAC6> - <TargetOption> - <TargetCommonOption> - <Device>STM32F107VC</Device> - <Vendor>STMicroelectronics</Vendor> - <PackID>Keil.STM32F1xx_DFP.2.1.0</PackID> - <PackURL>http://www.keil.com/pack/</PackURL> - <Cpu>IROM(0x08000000,0x40000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu> - <FlashUtilSpec></FlashUtilSpec> - <StartupFile></StartupFile> - <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_CL -FS08000000 -FL080000 -FP0($$Device:STM32F107VC$Flash/STM32F10x_CL.FLM))</FlashDriverDll> - <DeviceId>0</DeviceId> - <RegisterFile>$$Device:STM32F107VC$Device/Include/stm32f10x.h</RegisterFile> - <MemoryEnv></MemoryEnv> - <Cmp></Cmp> - <Asm></Asm> - <Linker></Linker> - <OHString></OHString> - <InfinionOptionDll></InfinionOptionDll> - <SLE66CMisc></SLE66CMisc> - <SLE66AMisc></SLE66AMisc> - <SLE66LinkerMisc></SLE66LinkerMisc> - <SFDFile>$$Device:STM32F107VC$SVD/STM32F107xx.svd</SFDFile> - <bCustSvd>0</bCustSvd> - <UseEnv>0</UseEnv> - <BinPath></BinPath> - <IncludePath></IncludePath> - <LibPath></LibPath> - <RegisterFilePath></RegisterFilePath> - <DBRegisterFilePath></DBRegisterFilePath> - <TargetStatus> - <Error>0</Error> - <ExitCodeStop>0</ExitCodeStop> - <ButtonStop>0</ButtonStop> - <NotGenerated>0</NotGenerated> - <InvalidFlash>1</InvalidFlash> - </TargetStatus> - <OutputDirectory>.\STM3210C-EVAL\</OutputDirectory> - <OutputName>STM3210C-EVAL</OutputName> - <CreateExecutable>1</CreateExecutable> - <CreateLib>0</CreateLib> - <CreateHexFile>0</CreateHexFile> - <DebugInformation>1</DebugInformation> - <BrowseInformation>1</BrowseInformation> - <ListingPath>.\STM3210C-EVAL\</ListingPath> - <HexFormatSelection>1</HexFormatSelection> - <Merge32K>0</Merge32K> - <CreateBatchFile>0</CreateBatchFile> - <BeforeCompile> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopU1X>0</nStopU1X> - <nStopU2X>0</nStopU2X> - </BeforeCompile> - <BeforeMake> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopB1X>0</nStopB1X> - <nStopB2X>0</nStopB2X> - </BeforeMake> - <AfterMake> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopA1X>0</nStopA1X> - <nStopA2X>0</nStopA2X> - </AfterMake> - <SelectedForBatchBuild>0</SelectedForBatchBuild> - <SVCSIdString></SVCSIdString> - </TargetCommonOption> - <CommonProperty> - <UseCPPCompiler>0</UseCPPCompiler> - <RVCTCodeConst>0</RVCTCodeConst> - <RVCTZI>0</RVCTZI> - <RVCTOtherData>0</RVCTOtherData> - <ModuleSelection>0</ModuleSelection> - <IncludeInBuild>1</IncludeInBuild> - <AlwaysBuild>0</AlwaysBuild> - <GenerateAssemblyFile>0</GenerateAssemblyFile> - <AssembleAssemblyFile>0</AssembleAssemblyFile> - <PublicsOnly>0</PublicsOnly> - <StopOnExitCode>3</StopOnExitCode> - <CustomArgument></CustomArgument> - <IncludeLibraryModules></IncludeLibraryModules> - <ComprImg>1</ComprImg> - </CommonProperty> - <DllOption> - <SimDllName>SARMCM3.DLL</SimDllName> - <SimDllArguments> -REMAP</SimDllArguments> - <SimDlgDll>DCM.DLL</SimDlgDll> - <SimDlgDllArguments>-pCM3</SimDlgDllArguments> - <TargetDllName>SARMCM3.DLL</TargetDllName> - <TargetDllArguments></TargetDllArguments> - <TargetDlgDll>TCM.DLL</TargetDlgDll> - <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments> - </DllOption> - <DebugOption> - <OPTHX> - <HexSelection>1</HexSelection> - <HexRangeLowAddress>0</HexRangeLowAddress> - <HexRangeHighAddress>0</HexRangeHighAddress> - <HexOffset>0</HexOffset> - <Oh166RecLen>16</Oh166RecLen> - </OPTHX> - </DebugOption> - <Utilities> - <Flash1> - <UseTargetDll>1</UseTargetDll> - <UseExternalTool>0</UseExternalTool> - <RunIndependent>0</RunIndependent> - <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging> - <Capability>1</Capability> - <DriverSelection>4096</DriverSelection> - </Flash1> - <bUseTDR>0</bUseTDR> - <Flash2>BIN\UL2CM3.DLL</Flash2> - <Flash3></Flash3> - <Flash4></Flash4> - <pFcarmOut></pFcarmOut> - <pFcarmGrp></pFcarmGrp> - <pFcArmRoot></pFcArmRoot> - <FcArmLst>0</FcArmLst> - </Utilities> - <TargetArmAds> - <ArmAdsMisc> - <GenerateListings>0</GenerateListings> - <asHll>1</asHll> - <asAsm>1</asAsm> - <asMacX>1</asMacX> - <asSyms>1</asSyms> - <asFals>1</asFals> - <asDbgD>1</asDbgD> - <asForm>1</asForm> - <ldLst>0</ldLst> - <ldmm>1</ldmm> - <ldXref>1</ldXref> - <BigEnd>0</BigEnd> - <AdsALst>1</AdsALst> - <AdsACrf>1</AdsACrf> - <AdsANop>0</AdsANop> - <AdsANot>0</AdsANot> - <AdsLLst>1</AdsLLst> - <AdsLmap>1</AdsLmap> - <AdsLcgr>1</AdsLcgr> - <AdsLsym>1</AdsLsym> - <AdsLszi>1</AdsLszi> - <AdsLtoi>1</AdsLtoi> - <AdsLsun>1</AdsLsun> - <AdsLven>1</AdsLven> - <AdsLsxf>1</AdsLsxf> - <RvctClst>0</RvctClst> - <GenPPlst>0</GenPPlst> - <AdsCpuType>"Cortex-M3"</AdsCpuType> - <RvctDeviceName></RvctDeviceName> - <mOS>0</mOS> - <uocRom>0</uocRom> - <uocRam>0</uocRam> - <hadIROM>1</hadIROM> - <hadIRAM>1</hadIRAM> - <hadXRAM>0</hadXRAM> - <uocXRam>0</uocXRam> - <RvdsVP>0</RvdsVP> - <hadIRAM2>0</hadIRAM2> - <hadIROM2>0</hadIROM2> - <StupSel>8</StupSel> - <useUlib>1</useUlib> - <EndSel>0</EndSel> - <uLtcg>0</uLtcg> - <nSecure>0</nSecure> - <RoSelD>3</RoSelD> - <RwSelD>3</RwSelD> - <CodeSel>0</CodeSel> - <OptFeed>0</OptFeed> - <NoZi1>0</NoZi1> - <NoZi2>0</NoZi2> - <NoZi3>0</NoZi3> - <NoZi4>0</NoZi4> - <NoZi5>0</NoZi5> - <Ro1Chk>0</Ro1Chk> - <Ro2Chk>0</Ro2Chk> - <Ro3Chk>0</Ro3Chk> - <Ir1Chk>1</Ir1Chk> - <Ir2Chk>0</Ir2Chk> - <Ra1Chk>0</Ra1Chk> - <Ra2Chk>0</Ra2Chk> - <Ra3Chk>0</Ra3Chk> - <Im1Chk>1</Im1Chk> - <Im2Chk>0</Im2Chk> - <OnChipMemories> - <Ocm1> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm1> - <Ocm2> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm2> - <Ocm3> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm3> - <Ocm4> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm4> - <Ocm5> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm5> - <Ocm6> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm6> - <IRAM> - <Type>0</Type> - <StartAddress>0x20000000</StartAddress> - <Size>0x10000</Size> - </IRAM> - <IROM> - <Type>1</Type> - <StartAddress>0x8000000</StartAddress> - <Size>0x40000</Size> - </IROM> - <XRAM> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </XRAM> - <OCR_RVCT1> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT1> - <OCR_RVCT2> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT2> - <OCR_RVCT3> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT3> - <OCR_RVCT4> - <Type>1</Type> - <StartAddress>0x8000000</StartAddress> - <Size>0x40000</Size> - </OCR_RVCT4> - <OCR_RVCT5> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT5> - <OCR_RVCT6> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT6> - <OCR_RVCT7> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT7> - <OCR_RVCT8> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT8> - <OCR_RVCT9> - <Type>0</Type> - <StartAddress>0x20000000</StartAddress> - <Size>0x10000</Size> - </OCR_RVCT9> - <OCR_RVCT10> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT10> - </OnChipMemories> - <RvctStartVector></RvctStartVector> - </ArmAdsMisc> - <Cads> - <interw>1</interw> - <Optim>4</Optim> - <oTime>0</oTime> - <SplitLS>0</SplitLS> - <OneElfS>1</OneElfS> - <Strict>0</Strict> - <EnumInt>0</EnumInt> - <PlainCh>0</PlainCh> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <wLevel>2</wLevel> - <uThumb>0</uThumb> - <uSurpInc>0</uSurpInc> - <uC99>0</uC99> - <useXO>0</useXO> - <v6Lang>1</v6Lang> - <v6LangP>1</v6LangP> - <vShortEn>1</vShortEn> - <vShortWch>1</vShortWch> - <v6Lto>0</v6Lto> - <v6WtE>0</v6WtE> - <v6Rtti>0</v6Rtti> - <VariousControls> - <MiscControls></MiscControls> - <Define>USE_STDPERIPH_DRIVER, STM32F10X_CL, USE_STM3210C_EVAL</Define> - <Undefine></Undefine> - <IncludePath>..\;..\..\..\Libraries\CMSIS\CM3\CoreSupport;..\..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210C_EVAL</IncludePath> - </VariousControls> - </Cads> - <Aads> - <interw>1</interw> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <thumb>0</thumb> - <SplitLS>0</SplitLS> - <SwStkChk>0</SwStkChk> - <NoWarn>0</NoWarn> - <uSurpInc>0</uSurpInc> - <useXO>0</useXO> - <uClangAs>0</uClangAs> - <VariousControls> - <MiscControls></MiscControls> - <Define></Define> - <Undefine></Undefine> - <IncludePath></IncludePath> - </VariousControls> - </Aads> - <LDads> - <umfTarg>1</umfTarg> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <noStLib>0</noStLib> - <RepFail>1</RepFail> - <useFile>0</useFile> - <TextAddressRange>0x08000000</TextAddressRange> - <DataAddressRange>0x20000000</DataAddressRange> - <pXoBase></pXoBase> - <ScatterFile></ScatterFile> - <IncludeLibs></IncludeLibs> - <IncludeLibsPath></IncludeLibsPath> - <Misc></Misc> - <LinkerInputFile></LinkerInputFile> - <DisabledWarnings></DisabledWarnings> - </LDads> - </TargetArmAds> - </TargetOption> - <Groups> - <Group> - <GroupName>User</GroupName> - <Files> - <File> - <FileName>main.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\main.c</FilePath> - </File> - <File> - <FileName>stm32f10x_it.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\stm32f10x_it.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>CMSIS</GroupName> - <Files> - <File> - <FileName>core_cm3.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c</FilePath> - </File> - <File> - <FileName>system_stm32f10x.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c</FilePath> - </File> - <File> - <FileName>startup_stm32f10x_md.s</FileName> - <FileType>2</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>STM32F1xx_StdPeriph_Driver</GroupName> - <Files> - <File> - <FileName>misc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_adc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_bkp.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c</FilePath> - </File> - <File> - <FileName>stm32f10x_can.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c</FilePath> - </File> - <File> - <FileName>stm32f10x_cec.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c</FilePath> - </File> - <File> - <FileName>stm32f10x_crc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dac.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dbgmcu.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dma.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c</FilePath> - </File> - <File> - <FileName>stm32f10x_exti.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c</FilePath> - </File> - <File> - <FileName>stm32f10x_flash.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c</FilePath> - </File> - <File> - <FileName>stm32f10x_fsmc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_gpio.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c</FilePath> - </File> - <File> - <FileName>stm32f10x_i2c.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c</FilePath> - </File> - <File> - <FileName>stm32f10x_iwdg.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c</FilePath> - </File> - <File> - <FileName>stm32f10x_pwr.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c</FilePath> - </File> - <File> - <FileName>stm32f10x_rcc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_rtc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_sdio.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c</FilePath> - </File> - <File> - <FileName>stm32f10x_spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c</FilePath> - </File> - <File> - <FileName>stm32f10x_tim.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c</FilePath> - </File> - <File> - <FileName>stm32f10x_usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c</FilePath> - </File> - <File> - <FileName>stm32f10x_wwdg.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>decadriver</GroupName> - <Files> - <File> - <FileName>deca_device.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_device.c</FilePath> - </File> - <File> - <FileName>deca_params_init.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_params_init.c</FilePath> - </File> - <File> - <FileName>deca_range_tables.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_range_tables.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>OnChipDevices</GroupName> - <Files> - <File> - <FileName>Usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Usart.c</FilePath> - </File> - <File> - <FileName>Spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Spi.c</FilePath> - </File> - <File> - <FileName>Rcc_Nvic_Systick.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Rcc_Nvic_Systick.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>ExternalDevices</GroupName> - <Files> - <File> - <FileName>dw_driver.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\dw_driver.c</FilePath> - </File> - <File> - <FileName>led.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\led.c</FilePath> - </File> - <File> - <FileName>beep.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\beep.c</FilePath> - </File> - </Files> - </Group> - </Groups> - </Target> - <Target> - <TargetName>STM3210E-EVAL</TargetName> - <ToolsetNumber>0x4</ToolsetNumber> - <ToolsetName>ARM-ADS</ToolsetName> - <uAC6>0</uAC6> - <TargetOption> - <TargetCommonOption> - <Device>STM32F103ZE</Device> - <Vendor>STMicroelectronics</Vendor> - <PackID>Keil.STM32F1xx_DFP.2.1.0</PackID> - <PackURL>http://www.keil.com/pack/</PackURL> - <Cpu>IROM(0x08000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu> - <FlashUtilSpec></FlashUtilSpec> - <StartupFile></StartupFile> - <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash/STM32F10x_512.FLM))</FlashDriverDll> - <DeviceId>0</DeviceId> - <RegisterFile>$$Device:STM32F103ZE$Device/Include/stm32f10x.h</RegisterFile> - <MemoryEnv></MemoryEnv> - <Cmp></Cmp> - <Asm></Asm> - <Linker></Linker> - <OHString></OHString> - <InfinionOptionDll></InfinionOptionDll> - <SLE66CMisc></SLE66CMisc> - <SLE66AMisc></SLE66AMisc> - <SLE66LinkerMisc></SLE66LinkerMisc> - <SFDFile>$$Device:STM32F103ZE$SVD/STM32F103xx.svd</SFDFile> - <bCustSvd>0</bCustSvd> - <UseEnv>0</UseEnv> - <BinPath></BinPath> - <IncludePath></IncludePath> - <LibPath></LibPath> - <RegisterFilePath></RegisterFilePath> - <DBRegisterFilePath></DBRegisterFilePath> - <TargetStatus> - <Error>0</Error> - <ExitCodeStop>0</ExitCodeStop> - <ButtonStop>0</ButtonStop> - <NotGenerated>0</NotGenerated> - <InvalidFlash>1</InvalidFlash> - </TargetStatus> - <OutputDirectory>.\STM3210E-EVAL\</OutputDirectory> - <OutputName>STM3210E-EVAL</OutputName> - <CreateExecutable>1</CreateExecutable> - <CreateLib>0</CreateLib> - <CreateHexFile>0</CreateHexFile> - <DebugInformation>1</DebugInformation> - <BrowseInformation>1</BrowseInformation> - <ListingPath>.\STM3210E-EVAL\</ListingPath> - <HexFormatSelection>1</HexFormatSelection> - <Merge32K>0</Merge32K> - <CreateBatchFile>0</CreateBatchFile> - <BeforeCompile> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopU1X>0</nStopU1X> - <nStopU2X>0</nStopU2X> - </BeforeCompile> - <BeforeMake> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopB1X>0</nStopB1X> - <nStopB2X>0</nStopB2X> - </BeforeMake> - <AfterMake> - <RunUserProg1>0</RunUserProg1> - <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> - <UserProg1Dos16Mode>0</UserProg1Dos16Mode> - <UserProg2Dos16Mode>0</UserProg2Dos16Mode> - <nStopA1X>0</nStopA1X> - <nStopA2X>0</nStopA2X> - </AfterMake> - <SelectedForBatchBuild>0</SelectedForBatchBuild> - <SVCSIdString></SVCSIdString> - </TargetCommonOption> - <CommonProperty> - <UseCPPCompiler>0</UseCPPCompiler> - <RVCTCodeConst>0</RVCTCodeConst> - <RVCTZI>0</RVCTZI> - <RVCTOtherData>0</RVCTOtherData> - <ModuleSelection>0</ModuleSelection> - <IncludeInBuild>1</IncludeInBuild> - <AlwaysBuild>0</AlwaysBuild> - <GenerateAssemblyFile>0</GenerateAssemblyFile> - <AssembleAssemblyFile>0</AssembleAssemblyFile> - <PublicsOnly>0</PublicsOnly> - <StopOnExitCode>3</StopOnExitCode> - <CustomArgument></CustomArgument> - <IncludeLibraryModules></IncludeLibraryModules> - <ComprImg>1</ComprImg> - </CommonProperty> - <DllOption> - <SimDllName>SARMCM3.DLL</SimDllName> - <SimDllArguments> -REMAP</SimDllArguments> - <SimDlgDll>DCM.DLL</SimDlgDll> - <SimDlgDllArguments>-pCM3</SimDlgDllArguments> - <TargetDllName>SARMCM3.DLL</TargetDllName> - <TargetDllArguments></TargetDllArguments> - <TargetDlgDll>TCM.DLL</TargetDlgDll> - <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments> - </DllOption> - <DebugOption> - <OPTHX> - <HexSelection>1</HexSelection> - <HexRangeLowAddress>0</HexRangeLowAddress> - <HexRangeHighAddress>0</HexRangeHighAddress> - <HexOffset>0</HexOffset> - <Oh166RecLen>16</Oh166RecLen> - </OPTHX> - </DebugOption> - <Utilities> - <Flash1> - <UseTargetDll>1</UseTargetDll> - <UseExternalTool>0</UseExternalTool> - <RunIndependent>0</RunIndependent> - <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging> - <Capability>1</Capability> - <DriverSelection>4097</DriverSelection> - </Flash1> - <bUseTDR>0</bUseTDR> - <Flash2>BIN\UL2CM3.DLL</Flash2> - <Flash3></Flash3> - <Flash4></Flash4> - <pFcarmOut></pFcarmOut> - <pFcarmGrp></pFcarmGrp> - <pFcArmRoot></pFcArmRoot> - <FcArmLst>0</FcArmLst> - </Utilities> - <TargetArmAds> - <ArmAdsMisc> - <GenerateListings>0</GenerateListings> - <asHll>1</asHll> - <asAsm>1</asAsm> - <asMacX>1</asMacX> - <asSyms>1</asSyms> - <asFals>1</asFals> - <asDbgD>1</asDbgD> - <asForm>1</asForm> - <ldLst>0</ldLst> - <ldmm>1</ldmm> - <ldXref>1</ldXref> - <BigEnd>0</BigEnd> - <AdsALst>1</AdsALst> - <AdsACrf>1</AdsACrf> - <AdsANop>0</AdsANop> - <AdsANot>0</AdsANot> - <AdsLLst>1</AdsLLst> - <AdsLmap>1</AdsLmap> - <AdsLcgr>1</AdsLcgr> - <AdsLsym>1</AdsLsym> - <AdsLszi>1</AdsLszi> - <AdsLtoi>1</AdsLtoi> - <AdsLsun>1</AdsLsun> - <AdsLven>1</AdsLven> - <AdsLsxf>1</AdsLsxf> - <RvctClst>0</RvctClst> - <GenPPlst>0</GenPPlst> - <AdsCpuType>"Cortex-M3"</AdsCpuType> - <RvctDeviceName></RvctDeviceName> - <mOS>0</mOS> - <uocRom>0</uocRom> - <uocRam>0</uocRam> - <hadIROM>1</hadIROM> - <hadIRAM>1</hadIRAM> - <hadXRAM>0</hadXRAM> - <uocXRam>0</uocXRam> - <RvdsVP>0</RvdsVP> - <hadIRAM2>0</hadIRAM2> - <hadIROM2>0</hadIROM2> - <StupSel>8</StupSel> - <useUlib>1</useUlib> - <EndSel>0</EndSel> - <uLtcg>0</uLtcg> - <nSecure>0</nSecure> - <RoSelD>3</RoSelD> - <RwSelD>3</RwSelD> - <CodeSel>0</CodeSel> - <OptFeed>0</OptFeed> - <NoZi1>0</NoZi1> - <NoZi2>0</NoZi2> - <NoZi3>0</NoZi3> - <NoZi4>0</NoZi4> - <NoZi5>0</NoZi5> - <Ro1Chk>0</Ro1Chk> - <Ro2Chk>0</Ro2Chk> - <Ro3Chk>0</Ro3Chk> - <Ir1Chk>1</Ir1Chk> - <Ir2Chk>0</Ir2Chk> - <Ra1Chk>0</Ra1Chk> - <Ra2Chk>0</Ra2Chk> - <Ra3Chk>0</Ra3Chk> - <Im1Chk>1</Im1Chk> - <Im2Chk>0</Im2Chk> - <OnChipMemories> - <Ocm1> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm1> - <Ocm2> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm2> - <Ocm3> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm3> - <Ocm4> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm4> - <Ocm5> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm5> - <Ocm6> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </Ocm6> - <IRAM> - <Type>0</Type> - <StartAddress>0x20000000</StartAddress> - <Size>0x10000</Size> - </IRAM> - <IROM> - <Type>1</Type> - <StartAddress>0x8000000</StartAddress> - <Size>0x80000</Size> - </IROM> - <XRAM> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </XRAM> - <OCR_RVCT1> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT1> - <OCR_RVCT2> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT2> - <OCR_RVCT3> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT3> - <OCR_RVCT4> - <Type>1</Type> - <StartAddress>0x8000000</StartAddress> - <Size>0x80000</Size> - </OCR_RVCT4> - <OCR_RVCT5> - <Type>1</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT5> - <OCR_RVCT6> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT6> - <OCR_RVCT7> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT7> - <OCR_RVCT8> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT8> - <OCR_RVCT9> - <Type>0</Type> - <StartAddress>0x20000000</StartAddress> - <Size>0x10000</Size> - </OCR_RVCT9> - <OCR_RVCT10> - <Type>0</Type> - <StartAddress>0x0</StartAddress> - <Size>0x0</Size> - </OCR_RVCT10> - </OnChipMemories> - <RvctStartVector></RvctStartVector> - </ArmAdsMisc> - <Cads> - <interw>1</interw> - <Optim>4</Optim> - <oTime>0</oTime> - <SplitLS>0</SplitLS> - <OneElfS>1</OneElfS> - <Strict>0</Strict> - <EnumInt>0</EnumInt> - <PlainCh>0</PlainCh> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <wLevel>2</wLevel> - <uThumb>0</uThumb> - <uSurpInc>0</uSurpInc> - <uC99>0</uC99> - <useXO>0</useXO> - <v6Lang>1</v6Lang> - <v6LangP>1</v6LangP> - <vShortEn>1</vShortEn> - <vShortWch>1</vShortWch> - <v6Lto>0</v6Lto> - <v6WtE>0</v6WtE> - <v6Rtti>0</v6Rtti> - <VariousControls> - <MiscControls></MiscControls> - <Define>USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL</Define> - <Undefine></Undefine> - <IncludePath>..\;..\..\..\Libraries\CMSIS\CM3\CoreSupport;..\..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL</IncludePath> - </VariousControls> - </Cads> - <Aads> - <interw>1</interw> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <thumb>0</thumb> - <SplitLS>0</SplitLS> - <SwStkChk>0</SwStkChk> - <NoWarn>0</NoWarn> - <uSurpInc>0</uSurpInc> - <useXO>0</useXO> - <uClangAs>0</uClangAs> - <VariousControls> - <MiscControls></MiscControls> - <Define></Define> - <Undefine></Undefine> - <IncludePath></IncludePath> - </VariousControls> - </Aads> - <LDads> - <umfTarg>1</umfTarg> - <Ropi>0</Ropi> - <Rwpi>0</Rwpi> - <noStLib>0</noStLib> - <RepFail>1</RepFail> - <useFile>0</useFile> - <TextAddressRange>0x08000000</TextAddressRange> - <DataAddressRange>0x20000000</DataAddressRange> - <pXoBase></pXoBase> - <ScatterFile></ScatterFile> - <IncludeLibs></IncludeLibs> - <IncludeLibsPath></IncludeLibsPath> - <Misc></Misc> - <LinkerInputFile></LinkerInputFile> - <DisabledWarnings></DisabledWarnings> - </LDads> - </TargetArmAds> - </TargetOption> - <Groups> - <Group> - <GroupName>User</GroupName> - <Files> - <File> - <FileName>main.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\main.c</FilePath> - </File> - <File> - <FileName>stm32f10x_it.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\stm32f10x_it.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>CMSIS</GroupName> - <Files> - <File> - <FileName>core_cm3.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c</FilePath> - </File> - <File> - <FileName>system_stm32f10x.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c</FilePath> - </File> - <File> - <FileName>startup_stm32f10x_md.s</FileName> - <FileType>2</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>STM32F1xx_StdPeriph_Driver</GroupName> - <Files> - <File> - <FileName>misc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_adc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_bkp.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c</FilePath> - </File> - <File> - <FileName>stm32f10x_can.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c</FilePath> - </File> - <File> - <FileName>stm32f10x_cec.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c</FilePath> - </File> - <File> - <FileName>stm32f10x_crc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dac.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dbgmcu.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c</FilePath> - </File> - <File> - <FileName>stm32f10x_dma.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c</FilePath> - </File> - <File> - <FileName>stm32f10x_exti.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c</FilePath> - </File> - <File> - <FileName>stm32f10x_flash.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c</FilePath> - </File> - <File> - <FileName>stm32f10x_fsmc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_gpio.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c</FilePath> - </File> - <File> - <FileName>stm32f10x_i2c.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c</FilePath> - </File> - <File> - <FileName>stm32f10x_iwdg.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c</FilePath> - </File> - <File> - <FileName>stm32f10x_pwr.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c</FilePath> - </File> - <File> - <FileName>stm32f10x_rcc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_rtc.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c</FilePath> - </File> - <File> - <FileName>stm32f10x_sdio.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c</FilePath> - </File> - <File> - <FileName>stm32f10x_spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c</FilePath> - </File> - <File> - <FileName>stm32f10x_tim.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c</FilePath> - </File> - <File> - <FileName>stm32f10x_usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c</FilePath> - </File> - <File> - <FileName>stm32f10x_wwdg.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>decadriver</GroupName> - <Files> - <File> - <FileName>deca_device.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_device.c</FilePath> - </File> - <File> - <FileName>deca_params_init.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_params_init.c</FilePath> - </File> - <File> - <FileName>deca_range_tables.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_range_tables.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>OnChipDevices</GroupName> - <Files> - <File> - <FileName>Usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Usart.c</FilePath> - </File> - <File> - <FileName>Spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Spi.c</FilePath> - </File> - <File> - <FileName>Rcc_Nvic_Systick.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Rcc_Nvic_Systick.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>ExternalDevices</GroupName> - <Files> - <File> - <FileName>dw_driver.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\dw_driver.c</FilePath> - </File> - <File> - <FileName>led.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\led.c</FilePath> - </File> - <File> - <FileName>beep.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\beep.c</FilePath> - </File> - </Files> - </Group> - </Groups> - </Target> - <Target> <TargetName>STM32</TargetName> <ToolsetNumber>0x4</ToolsetNumber> <ToolsetName>ARM-ADS</ToolsetName> @@ -3271,7 +336,7 @@ <MiscControls></MiscControls> <Define>USE_STDPERIPH_DRIVER,__CC_ARM</Define> <Undefine></Undefine> - <IncludePath>..\Src\Libraries\CMSIS\CM3\CoreSupport;..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;..\Src\Libraries\STM32F10x_StdPeriph_Driver\inc;..\Src\decadriver;..\Src\platform;..\Src;..\Src\OnChipDevices;..\Src\ExternalDevices</IncludePath> + <IncludePath>..\Src\Libraries\CMSIS\CM3\CoreSupport;..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;..\Src\Libraries\STM32F10x_StdPeriph_Driver\inc;..\Src\decadriver;..\Src\platform;..\Src;..\Src\OnChipDevices;..\Src\ExternalDevices;..\Src\application</IncludePath> </VariousControls> </Cads> <Aads> @@ -3313,6 +378,16 @@ </TargetOption> <Groups> <Group> + <GroupName>App</GroupName> + <Files> + <File> + <FileName>dw_app.c</FileName> + <FileType>1</FileType> + <FilePath>..\Src\application\dw_app.c</FilePath> + </File> + </Files> + </Group> + <Group> <GroupName>User</GroupName> <Files> <File> @@ -3328,22 +403,62 @@ </Files> </Group> <Group> - <GroupName>CMSIS</GroupName> + <GroupName>decadriver</GroupName> <Files> <File> - <FileName>core_cm3.c</FileName> + <FileName>deca_device.c</FileName> <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c</FilePath> + <FilePath>..\Src\decadriver\deca_device.c</FilePath> </File> <File> - <FileName>system_stm32f10x.c</FileName> + <FileName>deca_params_init.c</FileName> <FileType>1</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c</FilePath> + <FilePath>..\Src\decadriver\deca_params_init.c</FilePath> </File> <File> - <FileName>startup_stm32f10x_md.s</FileName> - <FileType>2</FileType> - <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s</FilePath> + <FileName>deca_range_tables.c</FileName> + <FileType>1</FileType> + <FilePath>..\Src\decadriver\deca_range_tables.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>ExternalDevices</GroupName> + <Files> + <File> + <FileName>dw_driver.c</FileName> + <FileType>1</FileType> + <FilePath>..\Src\ExternalDevices\dw_driver.c</FilePath> + </File> + <File> + <FileName>led.c</FileName> + <FileType>1</FileType> + <FilePath>..\Src\ExternalDevices\led.c</FilePath> + </File> + <File> + <FileName>beep.c</FileName> + <FileType>1</FileType> + <FilePath>..\Src\ExternalDevices\beep.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>OnChipDevices</GroupName> + <Files> + <File> + <FileName>Usart.c</FileName> + <FileType>1</FileType> + <FilePath>..\Src\OnChipDevices\Usart.c</FilePath> + </File> + <File> + <FileName>Spi.c</FileName> + <FileType>1</FileType> + <FilePath>..\Src\OnChipDevices\Spi.c</FilePath> + </File> + <File> + <FileName>Rcc_Nvic_Systick.c</FileName> + <FileType>1</FileType> + <FilePath>..\Src\OnChipDevices\Rcc_Nvic_Systick.c</FilePath> </File> </Files> </Group> @@ -3468,62 +583,22 @@ </Files> </Group> <Group> - <GroupName>decadriver</GroupName> + <GroupName>CMSIS</GroupName> <Files> <File> - <FileName>deca_device.c</FileName> + <FileName>core_cm3.c</FileName> <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_device.c</FilePath> + <FilePath>..\Src\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c</FilePath> </File> <File> - <FileName>deca_params_init.c</FileName> + <FileName>system_stm32f10x.c</FileName> <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_params_init.c</FilePath> + <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c</FilePath> </File> <File> - <FileName>deca_range_tables.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\decadriver\deca_range_tables.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>OnChipDevices</GroupName> - <Files> - <File> - <FileName>Usart.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Usart.c</FilePath> - </File> - <File> - <FileName>Spi.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Spi.c</FilePath> - </File> - <File> - <FileName>Rcc_Nvic_Systick.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\OnChipDevices\Rcc_Nvic_Systick.c</FilePath> - </File> - </Files> - </Group> - <Group> - <GroupName>ExternalDevices</GroupName> - <Files> - <File> - <FileName>dw_driver.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\dw_driver.c</FilePath> - </File> - <File> - <FileName>led.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\led.c</FilePath> - </File> - <File> - <FileName>beep.c</FileName> - <FileType>1</FileType> - <FilePath>..\Src\ExternalDevices\beep.c</FilePath> + <FileName>startup_stm32f10x_md.s</FileName> + <FileType>2</FileType> + <FilePath>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s</FilePath> </File> </Files> </Group> diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.c" index d410b56..1ef8263 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.c" @@ -44,3 +44,13 @@ } +uint16_t Checksum_u16(uint8_t *pdata, uint32_t len) +{ + uint16_t sum = 0; + uint32_t i; + for(i = 0; i < len; i++) + sum += pdata[i]; + sum = ~sum; + return sum; +} + diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" new file mode 100644 index 0000000..91bdfa4 --- /dev/null +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" @@ -0,0 +1,554 @@ + +/*! ---------------------------------------------------------------------------- + * @file main.c + * @brief Double-sided two-way ranging (DS TWR) initiator example code + * + * This is a simple code example which acts as the initiator in a DS TWR distance measurement exchange. This application sends a "poll" + * frame (recording the TX time-stamp of the poll), and then waits for a "response" message expected from the "DS TWR responder" example + * code (companion to this application). When the response is received its RX time-stamp is recorded and we send a "final" message to + * complete the exchange. The final message contains all the time-stamps recorded by this application, including the calculated/predicted TX + * time-stamp for the final message itself. The companion "DS TWR responder" example application works out the time-of-flight over-the-air + * and, thus, the estimated distance between the two devices. + * + * @attention + * + * Copyright 2015 (c) Decawave Ltd, Dublin, Ireland. + * + * All rights reserved. + * + * @author Decawave + */ + +#include <string.h> +#include "dw_app.h" +#include "deca_device_api.h" +#include "deca_regs.h" +#include "dw_driver.h" +#include "Spi.h" +#include "led.h" + + +/*------------------------------------ Marcos ------------------------------------------*/ +/* Inter-ranging delay period, in milliseconds. */ +#define RNG_DELAY_MS 100 + +/* Default antenna delay values for 64 MHz PRF. See NOTE 1 below. */ +#define TX_ANT_DLY 0 +#define RX_ANT_DLY 32899 + +/* UWB microsecond (uus) to device time unit (dtu, around 15.65 ps) conversion factor. + * 1 uus = 512 / 499.2 祍 and 1 祍 = 499.2 * 128 dtu. */ +#define UUS_TO_DWT_TIME 65536 + +/* Delay between frames, in UWB microseconds. See NOTE 4 below. */ +/* This is the delay from the end of the frame transmission to the enable of the receiver, as programmed for the DW1000's wait for response feature. */ +#define POLL_TX_TO_RESP_RX_DLY_UUS 150 +/* This is the delay from Frame RX timestamp to TX reply timestamp used for calculating/setting the DW1000's delayed TX function. This includes the + * frame length of approximately 2.66 ms with above configuration. */ +#define RESP_RX_TO_FINAL_TX_DLY_UUS 4100 +/* Receive response timeout. See NOTE 5 below. */ +#define RESP_RX_TIMEOUT_UUS 14700 + +#define POLL_RX_TO_RESP_TX_DLY_UUS 3600 +/* This is the delay from the end of the frame transmission to the enable of the receiver, as programmed for the DW1000's wait for response feature. */ +#define RESP_TX_TO_FINAL_RX_DLY_UUS 500 +/* Receive final timeout. See NOTE 5 below. */ +#define FINAL_RX_TIMEOUT_UUS 4300 + +#define SPEED_OF_LIGHT 299702547 + +/* Indexes to access some of the fields in the frames defined above. */ +#define ALL_MSG_SN_IDX 2 +#define FINAL_MSG_POLL_TX_TS_IDX 10 +#define FINAL_MSG_RESP_RX_TS_IDX 14 +#define FINAL_MSG_FINAL_TX_TS_IDX 18 +#define FINAL_MSG_TS_LEN 4 + +#define GROUP_ID_IDX 0 +#define SOURCE_ID_IDX 1 +#define MESSAGE_TYPE_IDX 3 + +#define POLL 0x01 +#define RESPONSE 0x02 +#define FINAL 0x03 + +/*------------------------------------ Variables ------------------------------------------*/ +/* Default communication configuration. We use here EVK1000's default mode (mode 3). */ +static dwt_config_t config = +{ + 2, /* Channel number. */ + DWT_PRF_64M, /* Pulse repetition frequency. */ + DWT_PLEN_1024, /* Preamble length. */ + DWT_PAC32, /* Preamble acquisition chunk size. Used in RX only. */ + 9, /* TX preamble code. Used in TX only. */ + 9, /* RX preamble code. Used in RX only. */ + 1, /* Use non-standard SFD (Boolean) */ + DWT_BR_110K, /* Data rate. */ + DWT_PHRMODE_STD, /* PHY header mode. */ + (1025 + 64 - 32) /* SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */ +}; + +/* Frames used in the ranging process. See NOTE 2 below. */ +static uint8 tx_poll_msg[] = {0x00, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x21, 0, 0}; +//static uint8 rx_resp_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'V', 'E', 'W', 'A', 0x10, 0x02, 0, 0, 0, 0}; +static uint8 tx_final_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + +//static uint8 rx_poll_msg[] = {0x00, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x21, 0, 0}; +static uint8 tx_resp_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'V', 'E', 'W', 'A', 0x10, 0x02, 0, 0, 0, 0}; +//static uint8 rx_final_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + +/* Frame sequence number, incremented after each transmission. */ +static uint32 frame_seq_nb = 0; + +/* Hold copy of status register state here for reference, so reader can examine it at a breakpoint. */ +static uint32 status_reg = 0; + +/* Buffer to store received response message. + * Its size is adjusted to longest frame that this example code is supposed to handle. */ +#define RX_BUF_LEN 24 +static uint8 rx_buffer[RX_BUF_LEN]; + +/* Time-stamps of frames transmission/reception, expressed in device time units. + * As they are 40-bit wide, we need to define a 64-bit int type to handle them. */ +typedef unsigned long long uint64; +static uint64 poll_tx_ts; +static uint64 resp_rx_ts; +static uint64 final_tx_ts; + +/* Length of the common part of the message (up to and including the function code, see NOTE 2 below). */ +typedef signed long long int64; +static uint64 poll_rx_ts; +static uint64 resp_tx_ts; +static uint64 final_rx_ts; + +static double tof; + +uint16_t anchor_dist_last_frm[TAG_NUM_IN_SYS]; +uint8_t tag_id = 0; +uint8_t tag_id_recv = 0; +uint8_t random_delay_tim = 0; + +double distance, dist_no_bias, dist_cm; + +/*------------------------------------ Functions ------------------------------------------*/ + + +/*! ------------------------------------------------------------------------------------------------------------------ + * @fn get_tx_timestamp_u64() + * + * @brief Get the TX time-stamp in a 64-bit variable. + * /!\ This function assumes that length of time-stamps is 40 bits, for both TX and RX! + * + * @param none + * + * @return 64-bit value of the read time-stamp. + */ +static uint64 get_tx_timestamp_u64(void) +{ + uint8 ts_tab[5]; + uint64 ts = 0; + int i; + dwt_readtxtimestamp(ts_tab); + for (i = 4; i >= 0; i--) + { + ts <<= 8; + ts |= ts_tab[i]; + } + return ts; +} + +/*! ------------------------------------------------------------------------------------------------------------------ + * @fn get_rx_timestamp_u64() + * + * @brief Get the RX time-stamp in a 64-bit variable. + * /!\ This function assumes that length of time-stamps is 40 bits, for both TX and RX! + * + * @param none + * + * @return 64-bit value of the read time-stamp. + */ +static uint64 get_rx_timestamp_u64(void) +{ + uint8 ts_tab[5]; + uint64 ts = 0; + int i; + dwt_readrxtimestamp(ts_tab); + for (i = 4; i >= 0; i--) + { + ts <<= 8; + ts |= ts_tab[i]; + } + return ts; +} + +/*! ------------------------------------------------------------------------------------------------------------------ + * @fn final_msg_set_ts() + * + * @brief Fill a given timestamp field in the final message with the given value. In the timestamp fields of the final + * message, the least significant byte is at the lower address. + * + * @param ts_field pointer on the first byte of the timestamp field to fill + * ts timestamp value + * + * @return none + */ +static void final_msg_set_ts(uint8 *ts_field, uint64 ts) +{ + int i; + for (i = 0; i < FINAL_MSG_TS_LEN; i++) + { + ts_field[i] = (uint8) ts; + ts >>= 8; + } +} + +static void final_msg_get_ts(const uint8 *ts_field, uint32 *ts) +{ + int i; + *ts = 0; + for (i = 0; i < FINAL_MSG_TS_LEN; i++) + { + *ts += ts_field[i] << (i * 8); + } +} + +void Dw1000_Init(void) +{ + /* Reset and initialise DW1000. + * For initialisation, DW1000 clocks must be temporarily set to crystal speed. After initialisation SPI rate can be increased for optimum + * performance. */ + Reset_DW1000();//重启DW1000 /* Target specific drive of RSTn line into DW1000 low for a period. */ + dwt_initialise(DWT_LOADUCODE);//初始化DW1000 + Spi_ChangePrescaler(SPIx_PRESCALER_FAST); //设置为快速模式 + + /* Configure DW1000. See NOTE 6 below. */ + dwt_configure(&config);//配置DW1000 + + /* Apply default antenna delay value. See NOTE 1 below. */ + dwt_setrxantennadelay(RX_ANT_DLY); //设置接收天线延迟 + dwt_settxantennadelay(TX_ANT_DLY); //设置发射天线延迟 + + /* Set expected response's delay and timeout. See NOTE 4 and 5 below. + * As this example only handles one incoming frame with always the same delay and timeout, those values can be set here once for all. */ + dwt_setrxaftertxdelay(POLL_TX_TO_RESP_RX_DLY_UUS); //设置发送后开启接收,并设定延迟时间 + dwt_setrxtimeout(RESP_RX_TIMEOUT_UUS); //设置接收超时时间 +} + +void Tag_App(void)//发送模式(TAG标签) +{ + uint32 frame_len; + uint32 final_tx_time; + + /* Write frame data to DW1000 and prepare transmission. See NOTE 7 below. */ + tx_poll_msg[ALL_MSG_SN_IDX] = frame_seq_nb; + dwt_writetxdata(sizeof(tx_poll_msg), tx_poll_msg, 0);//将Poll包数据传给DW1000,将在开启发送时传出去 + dwt_writetxfctrl(sizeof(tx_poll_msg), 0);//设置超宽带发送数据长度 + + /* Start transmission, indicating that a response is expected so that reception is enabled automatically after the frame is sent and the delay + * set by dwt_setrxaftertxdelay() has elapsed. */ + dwt_starttx(DWT_START_TX_IMMEDIATE | DWT_RESPONSE_EXPECTED);//开启发送,发送完成后等待一段时间开启接收,等待时间在dwt_setrxaftertxdelay中设置 + + /* We assume that the transmission is achieved correctly, poll for reception of a frame or error/timeout. See NOTE 8 below. */ + while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR)))//不断查询芯片状态直到成功接收或者发生错误 + { }; + + /* Increment frame sequence number after transmission of the poll message (modulo 256). */ + frame_seq_nb++; + + if (status_reg & SYS_STATUS_RXFCG)//如果成功接收 + { + /* Clear good RX frame event and TX frame sent in the DW1000 status register. */ + dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_RXFCG | SYS_STATUS_TXFRS);//清楚寄存器标志位 + + /* A frame has been received, read it into the local buffer. */ + frame_len = dwt_read32bitreg(RX_FINFO_ID) & RX_FINFO_RXFLEN_MASK; //获得接收到的数据长度 + + dwt_readrxdata(rx_buffer, frame_len, 0); //读取接收数据 + + + /* Check that the frame is the expected response from the companion "DS TWR responder" example. + * As the sequence number field of the frame is not relevant, it is cleared to simplify the validation of the frame. */ + rx_buffer[ALL_MSG_SN_IDX] = 0; + if (rx_buffer[9] == 0x10) //判断接收到的数据是否是response数据 + { + /* Retrieve poll transmission and response reception timestamp. */ + poll_tx_ts = get_tx_timestamp_u64(); //获得POLL发送时间T1 + resp_rx_ts = get_rx_timestamp_u64(); //获得RESPONSE接收时间T4 + + memcpy(&anchor_dist_last_frm[tag_id], &rx_buffer[11], 2); + + /* Compute final message transmission time. See NOTE 9 below. */ + final_tx_time = (resp_rx_ts + (RESP_RX_TO_FINAL_TX_DLY_UUS * UUS_TO_DWT_TIME)) >> 8;//计算final包发送时间,T5=T4+Treply2 + dwt_setdelayedtrxtime(final_tx_time);//设置final包发送时间T5 + + /* Final TX timestamp is the transmission time we programmed plus the TX antenna delay. */ + final_tx_ts = (((uint64)(final_tx_time & 0xFFFFFFFE)) << 8) + TX_ANT_DLY;//final包实际发送时间是计算时间加上发送天线delay + + /* Write all timestamps in the final message. See NOTE 10 below. */ + final_msg_set_ts(&tx_final_msg[FINAL_MSG_POLL_TX_TS_IDX], poll_tx_ts);//将T1,T4,T5写入发送数据 + final_msg_set_ts(&tx_final_msg[FINAL_MSG_RESP_RX_TS_IDX], resp_rx_ts); + final_msg_set_ts(&tx_final_msg[FINAL_MSG_FINAL_TX_TS_IDX], final_tx_ts); + + /* Write and send final message. See NOTE 7 below. */ + tx_final_msg[ALL_MSG_SN_IDX] = frame_seq_nb; + dwt_writetxdata(sizeof(tx_final_msg), tx_final_msg, 0);//将发送数据写入DW1000 + dwt_writetxfctrl(sizeof(tx_final_msg), 0);//设定发送数据长度 + dwt_starttx(DWT_START_TX_DELAYED);//设定为延迟发送 + + //这里为串口输出 +// if (GPIO_ReadInputDataBit(GPIOA, SW2) != RESET) //通过拨码开关判断数据输出格式 +// { +// dID = TAG_ID; +// printf("TAG_ID: %2.0f ", dID); +// dID = ANCHOR_ID; +// printf("ANCHOR_ID: %2.0f ", dID); +// printf("Distance: %5.0f cm\n", (double)dist[TAG_ID]); +// } +// else +// { +// send[2] = ANCHOR_ID; +// send[3] = TAG_ID; + +// memcpy(&send[4], &dist[TAG_ID], 2); +// check = Checksum_u16(&send[2], 6); +// memcpy(&send[8], &check, 2); +// USART_puts(send, 10); +// } + + /* Poll DW1000 until TX frame sent event set. See NOTE 8 below. */ + while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS))//不断查询芯片状态直到发送完成 + { }; + + /* Clear TXFRS event. */ + dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_TXFRS);//清除标志位 + + /* Increment frame sequence number after transmission of the final message (modulo 256). */ + frame_seq_nb++; + random_delay_tim = 0; + } + else + { + random_delay_tim = DFT_RAND_DLY_TIM_MS; //如果通讯失败,将间隔时间增加5ms,避开因为多标签同时发送引起的冲突。 + } + } + else + { + /* Clear RX error events in the DW1000 status register. */ + dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR); + random_delay_tim = DFT_RAND_DLY_TIM_MS; + } + LED0_BLINK; + /* Execute a delay between ranging exchanges. */ + deca_sleep(RNG_DELAY_MS + random_delay_tim); //休眠固定时间 +} + +void Anchor_App(void) +{ + uint32 frame_len; + uint32 resp_tx_time; + + /* Clear reception timeout to start next ranging process. */ + dwt_setrxtimeout(0);//设定接收超时时间,0位没有超时时间 + + /* Activate reception immediately. */ + dwt_rxenable(0);//打开接收 + + /* Poll for reception of a frame or error/timeout. See NOTE 7 below. */ + while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR)))//不断查询芯片状态直到接收成功或者出现错误 + { }; + + if (status_reg & SYS_STATUS_RXFCG)//成功接收 + { + /* Clear good RX frame event in the DW1000 status register. */ + dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_RXFCG);//清除标志位 + + /* A frame has been received, read it into the local buffer. */ + frame_len = dwt_read32bitreg(RX_FINFO_ID) & RX_FINFO_RXFL_MASK_1023;//获得接收数据长度 + + dwt_readrxdata(rx_buffer, frame_len, 0);//读取接收数据 + + + /* Check that the frame is a poll sent by "DS TWR initiator" example. + * As the sequence number field of the frame is not relevant, it is cleared to simplify the validation of the frame. */ + rx_buffer[ALL_MSG_SN_IDX] = 0; + + //将收到的tag_id分别写入各次通讯的包中,为多标签通讯服务,防止一次通讯中接收到不同ID标签的数据 + tag_id_recv = rx_buffer[5]; + tx_resp_msg[5] = tag_id_recv; + + + if (rx_buffer[9] == 0x21) //判断是否是poll包数据 + { + /* Retrieve poll reception timestamp. */ + poll_rx_ts = get_rx_timestamp_u64();//获得Poll包接收时间T2 + + /* Set send time for response. See NOTE 8 below. */ + resp_tx_time = (poll_rx_ts + (POLL_RX_TO_RESP_TX_DLY_UUS * UUS_TO_DWT_TIME)) >> 8;//计算Response发送时间T3。 + dwt_setdelayedtrxtime(resp_tx_time);//设置Response发送时间T3 + + /* Set expected delay and timeout for final message reception. */ + dwt_setrxaftertxdelay(RESP_TX_TO_FINAL_RX_DLY_UUS);//设置发送完成后开启接收延迟时间 + dwt_setrxtimeout(FINAL_RX_TIMEOUT_UUS);//接收超时时间 + + /* Write and send the response message. See NOTE 9 below.*/ + memcpy(&tx_resp_msg[11], &anchor_dist_last_frm[tag_id_recv], 2); + tx_resp_msg[ALL_MSG_SN_IDX] = frame_seq_nb; + dwt_writetxdata(sizeof(tx_resp_msg), tx_resp_msg, 0);//写入发送数据 + dwt_writetxfctrl(sizeof(tx_resp_msg), 0);//设定发送长度 + dwt_starttx(DWT_START_TX_DELAYED | DWT_RESPONSE_EXPECTED);//延迟发送,等待接收 + + /* We assume that the transmission is achieved correctly, now poll for reception of expected "final" frame or error/timeout. + * See NOTE 7 below. */ + while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR)))///不断查询芯片状态直到接收成功或者出现错误 + { }; + + /* Increment frame sequence number after transmission of the response message (modulo 256). */ + frame_seq_nb++; + + if (status_reg & SYS_STATUS_RXFCG)//接收成功 + { + /* Clear good RX frame event and TX frame sent in the DW1000 status register. */ + dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_RXFCG | SYS_STATUS_TXFRS);//清楚标志位 + + /* A frame has been received, read it into the local buffer. */ + frame_len = dwt_read32bitreg(RX_FINFO_ID) & RX_FINFO_RXFLEN_MASK;//数据长度 + + dwt_readrxdata(rx_buffer, frame_len, 0);//读取接收数据 + + + /* Check that the frame is a final message sent by "DS TWR initiator" example. + * As the sequence number field of the frame is not used in this example, it can be zeroed to ease the validation of the frame. */ + rx_buffer[ALL_MSG_SN_IDX] = 0; + if (rx_buffer[9] == 0x23) //判断是否为Final包 + { + uint32 poll_tx_ts, resp_rx_ts, final_tx_ts; + uint32 poll_rx_ts_32, resp_tx_ts_32, final_rx_ts_32; + double Ra, Rb, Da, Db; + int64_t tof_dtu; + + /* Retrieve response transmission and final reception timestamps. */ + resp_tx_ts = get_tx_timestamp_u64();//获得response发送时间T3 + final_rx_ts = get_rx_timestamp_u64();//获得final接收时间T6 + + /* Get timestamps embedded in the final message. */ + final_msg_get_ts(&rx_buffer[FINAL_MSG_POLL_TX_TS_IDX], &poll_tx_ts);//从接收数据中读取T1,T4,T5 + final_msg_get_ts(&rx_buffer[FINAL_MSG_RESP_RX_TS_IDX], &resp_rx_ts); + final_msg_get_ts(&rx_buffer[FINAL_MSG_FINAL_TX_TS_IDX], &final_tx_ts); + + /* Compute time of flight. 32-bit subtractions give correct answers even if clock has wrapped. See NOTE 10 below. */ + poll_rx_ts_32 = (uint32)poll_rx_ts;//使用32位数据计算 + resp_tx_ts_32 = (uint32)resp_tx_ts; + final_rx_ts_32 = (uint32)final_rx_ts; + Ra = (double)(resp_rx_ts - poll_tx_ts);//Tround1 = T4 - T1 + Rb = (double)(final_rx_ts_32 - resp_tx_ts_32);//Tround2 = T6 - T3 + Da = (double)(final_tx_ts - resp_rx_ts);//Treply2 = T5 - T4 + Db = (double)(resp_tx_ts_32 - poll_rx_ts_32);//Treply1 = T3 - T2 + tof_dtu = (int64)((Ra * Rb - Da * Db) / (Ra + Rb + Da + Db));//计算公式 + + tof = tof_dtu * DWT_TIME_UNITS; + distance = tof * SPEED_OF_LIGHT;//距离=光速*飞行时间 + dist_no_bias = distance - dwt_getrangebias(config.chan, (float)distance, config.prf); //距离减去矫正系数 + + dist_cm = dist_no_bias * 100; //dis 为单位为cm的距离 +// dist[TAG_ID] = LP(dis, TAG_ID); //LP 为低通滤波器,让数据更稳定 + + LED0_BLINK; //每成功一次通讯则闪烁一次 + //这里供串口输出 +// if (GPIO_ReadInputDataBit(GPIOA, SW2) != RESET) //通过拨码开关判断数据输出格式 +// { +// dID = TAG_ID; +// printf("TAG_ID: %2.0f ", dID); +// dID = ANCHOR_ID; +// printf("ANCHOR_ID: %2.0f ", dID); +// printf("Distance: %5.0f cm\n", (double)dist[TAG_ID]); +// } +// else +// { +// send[2] = ANCHOR_ID; +// send[3] = TAG_ID; + +// memcpy(&send[4], &dist[TAG_ID], 2); +// check = Checksum_u16(&send[2], 6); +// memcpy(&send[8], &check, 2); +// USART_puts(send, 10); +// } + + } + } + else + { + /* Clear RX error events in the DW1000 status register. */ + dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR); + } + } + } + else + { + /* Clear RX error events in the DW1000 status register. */ + dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR); + } +} + +/***************************************************************************************************************************************************** + * NOTES: + * + * 1. The sum of the values is the TX to RX antenna delay, experimentally determined by a calibration process. Here we use a hard coded typical value + * but, in a real application, each device should have its own antenna delay properly calibrated to get the best possible precision when performing + * range measurements. + * 2. The messages here are similar to those used in the DecaRanging ARM application (shipped with EVK1000 kit). They comply with the IEEE + * 802.15.4 standard MAC data frame encoding and they are following the ISO/IEC:24730-62:2013 standard. The messages used are: + * - a poll message sent by the initiator to trigger the ranging exchange. + * - a response message sent by the responder allowing the initiator to go on with the process + * - a final message sent by the initiator to complete the exchange and provide all information needed by the responder to compute the + * time-of-flight (distance) estimate. + * The first 10 bytes of those frame are common and are composed of the following fields: + * - byte 0/1: frame control (0x8841 to indicate a data frame using 16-bit addressing). + * - byte 2: sequence number, incremented for each new frame. + * - byte 3/4: PAN TAG_ID (0xDECA). + * - byte 5/6: destination address, see NOTE 3 below. + * - byte 7/8: source address, see NOTE 3 below. + * - byte 9: function code (specific values to indicate which message it is in the ranging process). + * The remaining bytes are specific to each message as follows: + * Poll message: + * - no more data + * Response message: + * - byte 10: activity code (0x02 to tell the initiator to go on with the ranging exchange). + * - byte 11/12: activity parameter, not used here for activity code 0x02. + * Final message: + * - byte 10 -> 13: poll message transmission timestamp. + * - byte 14 -> 17: response message reception timestamp. + * - byte 18 -> 21: final message transmission timestamp. + * All messages end with a 2-byte checksum automatically set by DW1000. + * 3. Source and destination addresses are hard coded constants in this example to keep it simple but for a real product every device should have a + * unique TAG_ID. Here, 16-bit addressing is used to keep the messages as short as possible but, in an actual application, this should be done only + * after an exchange of specific messages used to define those short addresses for each device participating to the ranging exchange. + * 4. Delays between frames have been chosen here to ensure proper synchronisation of transmission and reception of the frames between the initiator + * and the responder and to ensure a correct accuracy of the computed distance. The user is referred to DecaRanging ARM Source Code Guide for more + * details about the timings involved in the ranging process. + * 5. This timeout is for complete reception of a frame, i.e. timeout duration must take into account the length of the expected frame. Here the value + * is arbitrary but chosen large enough to make sure that there is enough time to receive the complete response frame sent by the responder at the + * 110k data rate used (around 3 ms). + * 6. In a real application, for optimum performance within regulatory limits, it may be necessary to set TX pulse bandwidth and TX power, (using + * the dwt_configuretxrf API call) to per device calibrated values saved in the target system or the DW1000 OTP memory. + * 7. dwt_writetxdata() takes the full size of the message as a parameter but only copies (size - 2) bytes as the check-sum at the end of the frame is + * automatically appended by the DW1000. This means that our variable could be two bytes shorter without losing any data (but the sizeof would not + * work anymore then as we would still have to indicate the full length of the frame to dwt_writetxdata()). It is also to be noted that, when using + * delayed send, the time set for transmission must be far enough in the future so that the DW1000 IC has the time to process and start the + * transmission of the frame at the wanted time. If the transmission command is issued too late compared to when the frame is supposed to be sent, + * this is indicated by an error code returned by dwt_starttx() API call. Here it is not tested, as the values of the delays between frames have + * been carefully defined to avoid this situation. + * 8. We use polled mode of operation here to keep the example as simple as possible but all status events can be used to generate interrupts. Please + * refer to DW1000 User Manual for more details on "interrupts". It is also to be noted that STATUS register is 5 bytes long but, as the event we + * use are all in the first bytes of the register, we can use the simple dwt_read32bitreg() API call to access it instead of reading the whole 5 + * bytes. + * 9. As we want to send final TX timestamp in the final message, we have to compute it in advance instead of relying on the reading of DW1000 + * register. Timestamps and delayed transmission time are both expressed in device time units so we just have to add the desired response delay to + * response RX timestamp to get final transmission time. The delayed transmission time resolution is 512 device time units which means that the + * lower 9 bits of the obtained value must be zeroed. This also allows to encode the 40-bit value in a 32-bit words by shifting the all-zero lower + * 8 bits. + * 10. In this operation, the high order byte of each 40-bit timestamps is discarded. This is acceptable as those time-stamps are not separated by + * more than 2**32 device time units (which is around 67 ms) which means that the calculation of the round-trip delays (needed in the + * time-of-flight computation) can be handled by a 32-bit subtraction. + * 11. The user is referred to DecaRanging ARM application (distributed with EVK1000 product) for additional practical example of usage, and to the + * DW1000 API Guide for more details on the DW1000 driver functions. + ****************************************************************************************************************************************************/ diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" new file mode 100644 index 0000000..54106ff --- /dev/null +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" @@ -0,0 +1,15 @@ + +#ifndef __DW_APP_H__ +#define __DW_APP_H__ + +#include "stm32f10x.h" + +#define TAG_NUM_IN_SYS 256 +#define DFT_RAND_DLY_TIM_MS 1 + + +void Dw1000_Init(void); +void Tag_App(void); +void Anchor_App(void); + +#endif diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" index 8d90fc3..b9fae62 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" @@ -1,217 +1,14 @@ -/*! ---------------------------------------------------------------------------- - * @file main.c - * @brief Double-sided two-way ranging (DS TWR) initiator example code - * - * This is a simple code example which acts as the initiator in a DS TWR distance measurement exchange. This application sends a "poll" - * frame (recording the TX time-stamp of the poll), and then waits for a "response" message expected from the "DS TWR responder" example - * code (companion to this application). When the response is received its RX time-stamp is recorded and we send a "final" message to - * complete the exchange. The final message contains all the time-stamps recorded by this application, including the calculated/predicted TX - * time-stamp for the final message itself. The companion "DS TWR responder" example application works out the time-of-flight over-the-air - * and, thus, the estimated distance between the two devices. - * - * @attention - * - * Copyright 2015 (c) Decawave Ltd, Dublin, Ireland. - * - * All rights reserved. - * - * @author Decawave - */ -#include <string.h> -#include <stdio.h> -#include "deca_device_api.h" -#include "deca_regs.h" + #include "Rcc_Nvic_Systick.h" #include "Usart.h" #include "Spi.h" -#include "dw_driver.h" #include "led.h" #include "beep.h" +#include "dw_driver.h" +#include "dw_app.h" -/* Example application name and version to display on LCD screen. */ -#define APP_NAME "DS TWR INIT v1.1" - -/* Inter-ranging delay period, in milliseconds. */ -#define RNG_DELAY_MS 100 - -/* Default communication configuration. We use here EVK1000's default mode (mode 3). */ -static dwt_config_t config = -{ - 2, /* Channel number. */ - DWT_PRF_64M, /* Pulse repetition frequency. */ - DWT_PLEN_1024, /* Preamble length. */ - DWT_PAC32, /* Preamble acquisition chunk size. Used in RX only. */ - 9, /* TX preamble code. Used in TX only. */ - 9, /* RX preamble code. Used in RX only. */ - 1, /* Use non-standard SFD (Boolean) */ - DWT_BR_110K, /* Data rate. */ - DWT_PHRMODE_STD, /* PHY header mode. */ - (1025 + 64 - 32) /* SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */ -}; -/* Default antenna delay values for 64 MHz PRF. See NOTE 1 below. */ -#define TX_ANT_DLY 0 -#define RX_ANT_DLY 32899 -static uint8 rx_poll_msg[] = {0x00, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x21, 0, 0}; -static uint8 tx_resp_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'V', 'E', 'W', 'A', 0x10, 0x02, 0, 0, 0, 0}; -static uint8 rx_final_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - - -/* Frames used in the ranging process. See NOTE 2 below. */ -static uint8 tx_poll_msg[] = {0x00, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x21, 0, 0}; -static uint8 rx_resp_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'V', 'E', 'W', 'A', 0x10, 0x02, 0, 0, 0, 0}; -static uint8 tx_final_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -/* Length of the common part of the message (up to and including the function code, see NOTE 2 below). */ -typedef signed long long int64; -typedef unsigned long long uint64; -static uint64 poll_rx_ts; -static uint64 resp_tx_ts; -static uint64 final_rx_ts; - -static double tof; -static double distance, dist2; -int16_t dist[8]; -#define ALL_MSG_COMMON_LEN 10 -/* Indexes to access some of the fields in the frames defined above. */ -#define ALL_MSG_SN_IDX 2 -#define FINAL_MSG_POLL_TX_TS_IDX 10 -#define FINAL_MSG_RESP_RX_TS_IDX 14 -#define FINAL_MSG_FINAL_TX_TS_IDX 18 -#define FINAL_MSG_TS_LEN 4 -/* Frame sequence number, incremented after each transmission. */ -static uint32 frame_seq_nb = 0; - -/* Buffer to store received response message. - * Its size is adjusted to longest frame that this example code is supposed to handle. */ -#define RX_BUF_LEN 20 -#define RX_BUF_LEN2 24 -static uint8 rx_buffer[RX_BUF_LEN + 4]; - -/* Hold copy of status register state here for reference, so reader can examine it at a breakpoint. */ -static uint32 status_reg = 0; - -/* UWB microsecond (uus) to device time unit (dtu, around 15.65 ps) conversion factor. - * 1 uus = 512 / 499.2 祍 and 1 祍 = 499.2 * 128 dtu. */ -#define UUS_TO_DWT_TIME 65536 - -/* Delay between frames, in UWB microseconds. See NOTE 4 below. */ -/* This is the delay from the end of the frame transmission to the enable of the receiver, as programmed for the DW1000's wait for response feature. */ -#define POLL_TX_TO_RESP_RX_DLY_UUS 150 -/* This is the delay from Frame RX timestamp to TX reply timestamp used for calculating/setting the DW1000's delayed TX function. This includes the - * frame length of approximately 2.66 ms with above configuration. */ -#define RESP_RX_TO_FINAL_TX_DLY_UUS 4100 -/* Receive response timeout. See NOTE 5 below. */ -#define RESP_RX_TIMEOUT_UUS 14700 - -#define POLL_RX_TO_RESP_TX_DLY_UUS 3600 -/* This is the delay from the end of the frame transmission to the enable of the receiver, as programmed for the DW1000's wait for response feature. */ -#define RESP_TX_TO_FINAL_RX_DLY_UUS 500 -/* Receive final timeout. See NOTE 5 below. */ -#define FINAL_RX_TIMEOUT_UUS 4300 -#define SPEED_OF_LIGHT 299702547 -/* Time-stamps of frames transmission/reception, expressed in device time units. - * As they are 40-bit wide, we need to define a 64-bit int type to handle them. */ -typedef unsigned long long uint64; -static uint64 poll_tx_ts; -static uint64 resp_rx_ts; -static uint64 final_tx_ts; - -/* Declaration of static functions. */ -static uint64 get_tx_timestamp_u64(void); -static uint64 get_rx_timestamp_u64(void); -static void final_msg_set_ts(uint8 *ts_field, uint64 ts); - -/*! ------------------------------------------------------------------------------------------------------------------ - * @fn main() - * - * @brief Application entry point. - * - * @param none - * - * @return none - */ -static void final_msg_get_ts(const uint8 *ts_field, uint32 *ts) -{ - int i; - *ts = 0; - for (i = 0; i < FINAL_MSG_TS_LEN; i++) - { - *ts += ts_field[i] << (i * 8); - } -} -//void GPIO_Toggle(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) -//{ -// GPIO_WriteBit(GPIOx, GPIO_Pin, (BitAction)!GPIO_ReadOutputDataBit(GPIOx, GPIO_Pin)); -//} -int fputc(int ch, FILE *f) - -{ - - USART_SendData(USART1, (unsigned char) ch);// USART1 ???? USART2 ? - - while (!(USART1->SR & USART_FLAG_TXE)); - - return (ch); - - -} - -void USART_putc(char c) -{ - //while(!(USART2->SR & 0x00000040)); - //USART_SendData(USART2,c); - /* e.g. write a character to the USART */ - USART_SendData(USART1, c); - - /* Loop until the end of transmission */ - while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) ; -} - -void USART_puts(uint8_t *s, uint8_t len) -{ - int i; - for(i = 0; i < len; i++) - { - USART_putc(s[i]); - } -} -int ld[100]; -int LP(int tmp, uint8_t channel) -{ - int data; - data = 0.7 * ld[channel] + 0.3 * tmp; - ld[channel] = data; - return data; -} -uint16_t Checksum_u16(uint8_t *pdata, uint32_t len) -{ - uint16_t sum = 0; - uint32_t i; - for(i = 0; i < len; i++) - sum += pdata[i]; - sum = ~sum; - return sum; -} -//void LED_blink(void) -//{ -// uint8_t ii; -// for (ii = 0; ii < 10; ii++) -// { -// GPIO_Toggle(GPIOA, LED_PIN); -// deca_sleep(100); -// } -//} -//extern volatile unsigned long time32_reset; -uint8_t Work_Mode = 1; -uint32 frame_len; -uint8_t send[9]; -char dist_str[16] = {0}; -int32_t dis; -double dID; -uint8_t TAG_ID, ANCHOR_ID, jumptime = 0; -uint32_t rec_dist, hex_dist; -uint16_t check; - -uint8_t tempaaaa[5] = {0}; +//#define WORK_MODE_TAG +#define WORK_MODE_ANCHOR void Device_Init(void) { @@ -225,455 +22,35 @@ Spi_Init(); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); - while(1) - { - dwt_readsystime(tempaaaa); - delay_ms(500); -// dwt_readsystime(&tempb); -// delay_ms(500); - } } +/*! ------------------------------------------------------------------------------------------------------------------ + * @fn main() + * + * @brief Application entry point. + * + * @param none + * + * @return none + */ int main(void) { Device_Init(); -// RCC_ClocksTypeDef RCC_Clocks; /* Start with board specific hardware init. */ -// peripherals_init();//初始化外设 -// RCC_GetClocksFreq(&RCC_Clocks); - /* Display application name on LCD. */ - // lcd_display_str(APP_NAME); + Dw1000_Init(); - /* Reset and initialise DW1000. - * For initialisation, DW1000 clocks must be temporarily set to crystal speed. After initialisation SPI rate can be increased for optimum - * performance. */ - Reset_DW1000();//重启DW1000 /* Target specific drive of RSTn line into DW1000 low for a period. */ -// spi_set_rate_low();//降低SPI频率 - dwt_initialise(DWT_LOADUCODE);//初始化DW1000 -// spi_set_rate_high();//回复SPI频率 - Spi_ChangePrescaler(SPIx_PRESCALER_FAST); //设置为快速模式 - - /* Configure DW1000. See NOTE 6 below. */ - dwt_configure(&config);//配置DW1000 - - /* Apply default antenna delay value. See NOTE 1 below. */ - dwt_setrxantennadelay(RX_ANT_DLY); //设置接收天线延迟 - dwt_settxantennadelay(TX_ANT_DLY); //设置发射天线延迟 - - /* Set expected response's delay and timeout. See NOTE 4 and 5 below. - * As this example only handles one incoming frame with always the same delay and timeout, those values can be set here once for all. */ - dwt_setrxaftertxdelay(POLL_TX_TO_RESP_RX_DLY_UUS);//设置发送后开启接收,并设定延迟时间 - dwt_setrxtimeout(RESP_RX_TIMEOUT_UUS); //设置接收超时时间 - - send[0] = 0x6D; //串口数据 - send[1] = 0xD6; //串口数据 - - tx_poll_msg[6] = ANCHOR_ID; //UWB POLL 包数据 - rx_resp_msg[6] = ANCHOR_ID; //UWB RESPONSE 包数据 - tx_final_msg[6] = ANCHOR_ID;//UWB Fianl 包数据 - - rx_poll_msg[6] = ANCHOR_ID; - tx_resp_msg[6] = ANCHOR_ID; - rx_final_msg[6] = ANCHOR_ID; - - tx_poll_msg[5] = TAG_ID;//UWB POLL 包数据 - rx_resp_msg[5] = TAG_ID;//UWB RESPONSE 包数据 - tx_final_msg[5] = TAG_ID;//UWB Fianl 包数据 /* Loop forever initiating ranging exchanges. */ -//LED_blink(); - if(!Work_Mode) //选择发送模式(TAG标签)还是接收模式(ANCHOR基站) - { - while (1) //发送模式(TAG标签) - { - /* Write frame data to DW1000 and prepare transmission. See NOTE 7 below. */ - tx_poll_msg[ALL_MSG_SN_IDX] = frame_seq_nb; - dwt_writetxdata(sizeof(tx_poll_msg), tx_poll_msg, 0);//将Poll包数据传给DW1000,将在开启发送时传出去 - dwt_writetxfctrl(sizeof(tx_poll_msg), 0);//设置超宽带发送数据长度 - - /* Start transmission, indicating that a response is expected so that reception is enabled automatically after the frame is sent and the delay - * set by dwt_setrxaftertxdelay() has elapsed. */ - dwt_starttx(DWT_START_TX_IMMEDIATE | DWT_RESPONSE_EXPECTED);//开启发送,发送完成后等待一段时间开启接收,等待时间在dwt_setrxaftertxdelay中设置 - - /* We assume that the transmission is achieved correctly, poll for reception of a frame or error/timeout. See NOTE 8 below. */ - while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR)))//不断查询芯片状态直到成功接收或者发生错误 - { }; - - /* Increment frame sequence number after transmission of the poll message (modulo 256). */ - frame_seq_nb++; - - if (status_reg & SYS_STATUS_RXFCG)//如果成功接收 - { - uint32 frame_len; - - /* Clear good RX frame event and TX frame sent in the DW1000 status register. */ - dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_RXFCG | SYS_STATUS_TXFRS);//清楚寄存器标志位 - - /* A frame has been received, read it into the local buffer. */ - frame_len = dwt_read32bitreg(RX_FINFO_ID) & RX_FINFO_RXFLEN_MASK; //获得接收到的数据长度 - - dwt_readrxdata(rx_buffer, frame_len, 0); //读取接收数据 - - - /* Check that the frame is the expected response from the companion "DS TWR responder" example. - * As the sequence number field of the frame is not relevant, it is cleared to simplify the validation of the frame. */ - rx_buffer[ALL_MSG_SN_IDX] = 0; - if (rx_buffer[9] == 0x10) //判断接收到的数据是否是response数据 - { - uint32 final_tx_time; - - - /* Retrieve poll transmission and response reception timestamp. */ - poll_tx_ts = get_tx_timestamp_u64(); //获得POLL发送时间T1 - resp_rx_ts = get_rx_timestamp_u64(); //获得RESPONSE接收时间T4 - - memcpy(&dist[TAG_ID], &rx_buffer[11], 2); - - /* Compute final message transmission time. See NOTE 9 below. */ - final_tx_time = (resp_rx_ts + (RESP_RX_TO_FINAL_TX_DLY_UUS * UUS_TO_DWT_TIME)) >> 8;//计算final包发送时间,T5=T4+Treply2 - dwt_setdelayedtrxtime(final_tx_time);//设置final包发送时间T5 - - /* Final TX timestamp is the transmission time we programmed plus the TX antenna delay. */ - final_tx_ts = (((uint64)(final_tx_time & 0xFFFFFFFE)) << 8) + TX_ANT_DLY;//final包实际发送时间是计算时间加上发送天线delay - - /* Write all timestamps in the final message. See NOTE 10 below. */ - final_msg_set_ts(&tx_final_msg[FINAL_MSG_POLL_TX_TS_IDX], poll_tx_ts);//将T1,T4,T5写入发送数据 - final_msg_set_ts(&tx_final_msg[FINAL_MSG_RESP_RX_TS_IDX], resp_rx_ts); - final_msg_set_ts(&tx_final_msg[FINAL_MSG_FINAL_TX_TS_IDX], final_tx_ts); - - /* Write and send final message. See NOTE 7 below. */ - tx_final_msg[ALL_MSG_SN_IDX] = frame_seq_nb; - dwt_writetxdata(sizeof(tx_final_msg), tx_final_msg, 0);//将发送数据写入DW1000 - dwt_writetxfctrl(sizeof(tx_final_msg), 0);//设定发送数据长度 - dwt_starttx(DWT_START_TX_DELAYED);//设定为延迟发送 - -// if (GPIO_ReadInputDataBit(GPIOA, SW2) != RESET) //通过拨码开关判断数据输出格式 -// { -// dID = TAG_ID; -// printf("TAG_ID: %2.0f ", dID); -// dID = ANCHOR_ID; -// printf("ANCHOR_ID: %2.0f ", dID); -// printf("Distance: %5.0f cm\n", (double)dist[TAG_ID]); -// } -// else - { - send[2] = ANCHOR_ID; - send[3] = TAG_ID; - - memcpy(&send[4], &dist[TAG_ID], 2); - check = Checksum_u16(&send[2], 6); - memcpy(&send[8], &check, 2); - USART_puts(send, 10); - } - /* Poll DW1000 until TX frame sent event set. See NOTE 8 below. */ - while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS))//不断查询芯片状态直到发送完成 - { }; - - /* Clear TXFRS event. */ - dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_TXFRS);//清楚标志位 - - /* Increment frame sequence number after transmission of the final message (modulo 256). */ - frame_seq_nb++; -// time32_reset = 0; -// GPIO_Toggle(GPIOA, LED_PIN); //LED闪烁 - LED0_BLINK; - jumptime = 0; - } - else - { - jumptime = 5; //如果通讯失败,将间隔时间增加5ms,避开因为多标签同时发送引起的冲突。 - } - } - else - { - /* Clear RX error events in the DW1000 status register. */ - dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR); - jumptime = 5; - } - - /* Execute a delay between ranging exchanges. */ - deca_sleep(RNG_DELAY_MS + jumptime); //休眠固定时间 - } - } - else - { - while (1)//接收模式(ANCHOR基站) - { - /* Clear reception timeout to start next ranging process. */ - dwt_setrxtimeout(0);//设定接收超时时间,0位没有超时时间 - - /* Activate reception immediately. */ - dwt_rxenable(0);//打开接收 - - /* Poll for reception of a frame or error/timeout. See NOTE 7 below. */ - while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR)))//不断查询芯片状态直到接收成功或者出现错误 - { }; - - if (status_reg & SYS_STATUS_RXFCG)//成功接收 - { - - - /* Clear good RX frame event in the DW1000 status register. */ - dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_RXFCG);//清楚标志位 - - /* A frame has been received, read it into the local buffer. */ - frame_len = dwt_read32bitreg(RX_FINFO_ID) & RX_FINFO_RXFL_MASK_1023;//获得接收数据长度 - - dwt_readrxdata(rx_buffer, frame_len, 0);//读取接收数据 - - - /* Check that the frame is a poll sent by "DS TWR initiator" example. - * As the sequence number field of the frame is not relevant, it is cleared to simplify the validation of the frame. */ - rx_buffer[ALL_MSG_SN_IDX] = 0; - TAG_ID = rx_buffer[5]; - rx_poll_msg[5] = TAG_ID;//为多标签通讯服务,防止一次通讯中接收到不同ID标签的数据 - tx_resp_msg[5] = TAG_ID; - rx_final_msg[5] = TAG_ID; - if (rx_buffer[9] == 0x21) //判断是否是poll包数据 - { - uint32 resp_tx_time; - - /* Retrieve poll reception timestamp. */ - poll_rx_ts = get_rx_timestamp_u64();//获得Poll包接收时间T2 - - /* Set send time for response. See NOTE 8 below. */ - resp_tx_time = (poll_rx_ts + (POLL_RX_TO_RESP_TX_DLY_UUS * UUS_TO_DWT_TIME)) >> 8;//计算Response发送时间T3。 - dwt_setdelayedtrxtime(resp_tx_time);//设置Response发送时间T3 - - /* Set expected delay and timeout for final message reception. */ - dwt_setrxaftertxdelay(RESP_TX_TO_FINAL_RX_DLY_UUS);//设置发送完成后开启接收延迟时间 - dwt_setrxtimeout(FINAL_RX_TIMEOUT_UUS);//接收超时时间 - - /* Write and send the response message. See NOTE 9 below.*/ - memcpy(&tx_resp_msg[11], &dist[TAG_ID], 2); - tx_resp_msg[ALL_MSG_SN_IDX] = frame_seq_nb; - dwt_writetxdata(sizeof(tx_resp_msg), tx_resp_msg, 0);//写入发送数据 - dwt_writetxfctrl(sizeof(tx_resp_msg), 0);//设定发送长度 - dwt_starttx(DWT_START_TX_DELAYED | DWT_RESPONSE_EXPECTED);//延迟发送,等待接收 - - /* We assume that the transmission is achieved correctly, now poll for reception of expected "final" frame or error/timeout. - * See NOTE 7 below. */ - while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR)))///不断查询芯片状态直到接收成功或者出现错误 - { }; - - /* Increment frame sequence number after transmission of the response message (modulo 256). */ - frame_seq_nb++; - - if (status_reg & SYS_STATUS_RXFCG)//接收成功 - { - /* Clear good RX frame event and TX frame sent in the DW1000 status register. */ - dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_RXFCG | SYS_STATUS_TXFRS);//清楚标志位 - - /* A frame has been received, read it into the local buffer. */ - frame_len = dwt_read32bitreg(RX_FINFO_ID) & RX_FINFO_RXFLEN_MASK;//数据长度 - - dwt_readrxdata(rx_buffer, frame_len, 0);//读取接收数据 - - - /* Check that the frame is a final message sent by "DS TWR initiator" example. - * As the sequence number field of the frame is not used in this example, it can be zeroed to ease the validation of the frame. */ - rx_buffer[ALL_MSG_SN_IDX] = 0; - if (rx_buffer[9] == 0x23) //判断是否为Fianl包 - { - uint32 poll_tx_ts, resp_rx_ts, final_tx_ts; - uint32 poll_rx_ts_32, resp_tx_ts_32, final_rx_ts_32; - double Ra, Rb, Da, Db; - int64 tof_dtu; - - /* Retrieve response transmission and final reception timestamps. */ - resp_tx_ts = get_tx_timestamp_u64();//获得response发送时间T3 - final_rx_ts = get_rx_timestamp_u64();//获得final接收时间T6 - - /* Get timestamps embedded in the final message. */ - final_msg_get_ts(&rx_buffer[FINAL_MSG_POLL_TX_TS_IDX], &poll_tx_ts);//从接收数据中读取T1,T4,T5 - final_msg_get_ts(&rx_buffer[FINAL_MSG_RESP_RX_TS_IDX], &resp_rx_ts); - final_msg_get_ts(&rx_buffer[FINAL_MSG_FINAL_TX_TS_IDX], &final_tx_ts); - - /* Compute time of flight. 32-bit subtractions give correct answers even if clock has wrapped. See NOTE 10 below. */ - poll_rx_ts_32 = (uint32)poll_rx_ts;//使用32位数据计算 - resp_tx_ts_32 = (uint32)resp_tx_ts; - final_rx_ts_32 = (uint32)final_rx_ts; - Ra = (double)(resp_rx_ts - poll_tx_ts);//Tround1 = T4 - T1 - Rb = (double)(final_rx_ts_32 - resp_tx_ts_32);//Tround2 = T6 - T3 - Da = (double)(final_tx_ts - resp_rx_ts);//Treply2 = T5 - T4 - Db = (double)(resp_tx_ts_32 - poll_rx_ts_32);//Treply1 = T3 - T2 - tof_dtu = (int64)((Ra * Rb - Da * Db) / (Ra + Rb + Da + Db));//计算公式 - - tof = tof_dtu * DWT_TIME_UNITS; - distance = tof * SPEED_OF_LIGHT;//距离=光速*飞行时间 - dist2 = distance - dwt_getrangebias(config.chan, (float)distance, config.prf); //距离减去矫正系数 - - dis = dist2 * 100; //dis 为单位为cm的距离 - dist[TAG_ID] = LP(dis, TAG_ID); //LP 为低通滤波器,让数据更稳定 -// time32_reset = 0; - LED0_BLINK; -// if (GPIO_ReadInputDataBit(GPIOA, SW2) != RESET) //通过拨码开关判断数据输出格式 -// { -// dID = TAG_ID; -// printf("TAG_ID: %2.0f ", dID); -// dID = ANCHOR_ID; -// printf("ANCHOR_ID: %2.0f ", dID); -// printf("Distance: %5.0f cm\n", (double)dist[TAG_ID]); -// } -// else - { - send[2] = ANCHOR_ID; - send[3] = TAG_ID; - - memcpy(&send[4], &dist[TAG_ID], 2); - check = Checksum_u16(&send[2], 6); - memcpy(&send[8], &check, 2); - USART_puts(send, 10); - } - - } - } - else - { - /* Clear RX error events in the DW1000 status register. */ - dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR); - } - } - } - else - { - /* Clear RX error events in the DW1000 status register. */ - dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR); - } - } - - - } + while(1) + { +#ifdef WORK_MODE_TAG + Tag_App(); +#else + Anchor_App(); +#endif + //除UWB之外的其他代码... + + } } -/*! ------------------------------------------------------------------------------------------------------------------ - * @fn get_tx_timestamp_u64() - * - * @brief Get the TX time-stamp in a 64-bit variable. - * /!\ This function assumes that length of time-stamps is 40 bits, for both TX and RX! - * - * @param none - * - * @return 64-bit value of the read time-stamp. - */ -static uint64 get_tx_timestamp_u64(void) -{ - uint8 ts_tab[5]; - uint64 ts = 0; - int i; - dwt_readtxtimestamp(ts_tab); - for (i = 4; i >= 0; i--) - { - ts <<= 8; - ts |= ts_tab[i]; - } - return ts; -} -/*! ------------------------------------------------------------------------------------------------------------------ - * @fn get_rx_timestamp_u64() - * - * @brief Get the RX time-stamp in a 64-bit variable. - * /!\ This function assumes that length of time-stamps is 40 bits, for both TX and RX! - * - * @param none - * - * @return 64-bit value of the read time-stamp. - */ -static uint64 get_rx_timestamp_u64(void) -{ - uint8 ts_tab[5]; - uint64 ts = 0; - int i; - dwt_readrxtimestamp(ts_tab); - for (i = 4; i >= 0; i--) - { - ts <<= 8; - ts |= ts_tab[i]; - } - return ts; -} -/*! ------------------------------------------------------------------------------------------------------------------ - * @fn final_msg_set_ts() - * - * @brief Fill a given timestamp field in the final message with the given value. In the timestamp fields of the final - * message, the least significant byte is at the lower address. - * - * @param ts_field pointer on the first byte of the timestamp field to fill - * ts timestamp value - * - * @return none - */ -static void final_msg_set_ts(uint8 *ts_field, uint64 ts) -{ - int i; - for (i = 0; i < FINAL_MSG_TS_LEN; i++) - { - ts_field[i] = (uint8) ts; - ts >>= 8; - } -} - -/***************************************************************************************************************************************************** - * NOTES: - * - * 1. The sum of the values is the TX to RX antenna delay, experimentally determined by a calibration process. Here we use a hard coded typical value - * but, in a real application, each device should have its own antenna delay properly calibrated to get the best possible precision when performing - * range measurements. - * 2. The messages here are similar to those used in the DecaRanging ARM application (shipped with EVK1000 kit). They comply with the IEEE - * 802.15.4 standard MAC data frame encoding and they are following the ISO/IEC:24730-62:2013 standard. The messages used are: - * - a poll message sent by the initiator to trigger the ranging exchange. - * - a response message sent by the responder allowing the initiator to go on with the process - * - a final message sent by the initiator to complete the exchange and provide all information needed by the responder to compute the - * time-of-flight (distance) estimate. - * The first 10 bytes of those frame are common and are composed of the following fields: - * - byte 0/1: frame control (0x8841 to indicate a data frame using 16-bit addressing). - * - byte 2: sequence number, incremented for each new frame. - * - byte 3/4: PAN TAG_ID (0xDECA). - * - byte 5/6: destination address, see NOTE 3 below. - * - byte 7/8: source address, see NOTE 3 below. - * - byte 9: function code (specific values to indicate which message it is in the ranging process). - * The remaining bytes are specific to each message as follows: - * Poll message: - * - no more data - * Response message: - * - byte 10: activity code (0x02 to tell the initiator to go on with the ranging exchange). - * - byte 11/12: activity parameter, not used here for activity code 0x02. - * Final message: - * - byte 10 -> 13: poll message transmission timestamp. - * - byte 14 -> 17: response message reception timestamp. - * - byte 18 -> 21: final message transmission timestamp. - * All messages end with a 2-byte checksum automatically set by DW1000. - * 3. Source and destination addresses are hard coded constants in this example to keep it simple but for a real product every device should have a - * unique TAG_ID. Here, 16-bit addressing is used to keep the messages as short as possible but, in an actual application, this should be done only - * after an exchange of specific messages used to define those short addresses for each device participating to the ranging exchange. - * 4. Delays between frames have been chosen here to ensure proper synchronisation of transmission and reception of the frames between the initiator - * and the responder and to ensure a correct accuracy of the computed distance. The user is referred to DecaRanging ARM Source Code Guide for more - * details about the timings involved in the ranging process. - * 5. This timeout is for complete reception of a frame, i.e. timeout duration must take into account the length of the expected frame. Here the value - * is arbitrary but chosen large enough to make sure that there is enough time to receive the complete response frame sent by the responder at the - * 110k data rate used (around 3 ms). - * 6. In a real application, for optimum performance within regulatory limits, it may be necessary to set TX pulse bandwidth and TX power, (using - * the dwt_configuretxrf API call) to per device calibrated values saved in the target system or the DW1000 OTP memory. - * 7. dwt_writetxdata() takes the full size of the message as a parameter but only copies (size - 2) bytes as the check-sum at the end of the frame is - * automatically appended by the DW1000. This means that our variable could be two bytes shorter without losing any data (but the sizeof would not - * work anymore then as we would still have to indicate the full length of the frame to dwt_writetxdata()). It is also to be noted that, when using - * delayed send, the time set for transmission must be far enough in the future so that the DW1000 IC has the time to process and start the - * transmission of the frame at the wanted time. If the transmission command is issued too late compared to when the frame is supposed to be sent, - * this is indicated by an error code returned by dwt_starttx() API call. Here it is not tested, as the values of the delays between frames have - * been carefully defined to avoid this situation. - * 8. We use polled mode of operation here to keep the example as simple as possible but all status events can be used to generate interrupts. Please - * refer to DW1000 User Manual for more details on "interrupts". It is also to be noted that STATUS register is 5 bytes long but, as the event we - * use are all in the first bytes of the register, we can use the simple dwt_read32bitreg() API call to access it instead of reading the whole 5 - * bytes. - * 9. As we want to send final TX timestamp in the final message, we have to compute it in advance instead of relying on the reading of DW1000 - * register. Timestamps and delayed transmission time are both expressed in device time units so we just have to add the desired response delay to - * response RX timestamp to get final transmission time. The delayed transmission time resolution is 512 device time units which means that the - * lower 9 bits of the obtained value must be zeroed. This also allows to encode the 40-bit value in a 32-bit words by shifting the all-zero lower - * 8 bits. - * 10. In this operation, the high order byte of each 40-bit timestamps is discarded. This is acceptable as those time-stamps are not separated by - * more than 2**32 device time units (which is around 67 ms) which means that the calculation of the round-trip delays (needed in the - * time-of-flight computation) can be handled by a 32-bit subtraction. - * 11. The user is referred to DecaRanging ARM application (distributed with EVK1000 product) for additional practical example of usage, and to the - * DW1000 API Guide for more details on the DW1000 driver functions. - ****************************************************************************************************************************************************/ -- Gitblit v1.9.3