????????目前的AM32的APP固件包含了keil工程,但是uboot還沒看到,對于習慣使用keil的新用戶,調試起來會有些不習慣,本文將簡單描述怎么新建一個keil的uboot工程,以AT32F421為例。
一、新建目錄
新建一個目錄Keil_Projects
二、新建工程
三、添加文件
這個啟動文件要用AM32\Mcu\f421\Startup\mdk里面的文件,這個才是給keil編譯使用的
否則會如下報錯
.\Objects\AT32F421_Uboot_PA2.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
添加完后是這個樣子的
四、修改編譯參數
1、Device
2、Target
3、Output
4、Listing
5、User
6、C/C++
7、ASM
8、Linker
五、修改代碼
static inline void jump_to_application(void)
{__disable_irq();bl_timer_disable();const uint32_t app_address = MCU_FLASH_START + FIRMWARE_RELATIVE_START;const uint32_t *app_data = (const uint32_t *)app_address;const uint32_t stack_top = app_data[0];const uint32_t JumpAddress = app_data[1];// setup sp, msp and jump
#ifdef KEIL__asm volatile(
#elseasm volatile(
#endif"mov sp, %0 \n""msr msp, %0 \n""bx %1 \n": : "r"(stack_top), "r"(JumpAddress) :);
}
五、準備完成,可以編譯了
六、工程文件
不想搞附件了,直接粘上工程文件文本,需要的話拷貝保存
1、AT32F421_Uboot.uvprojx
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd"><SchemaVersion>2.1</SchemaVersion><Header>### uVision Project, (C) Keil Software</Header><Targets><Target><TargetName>AT32_F421_PA2</TargetName><ToolsetNumber>0x4</ToolsetNumber><ToolsetName>ARM-ADS</ToolsetName><pCCUsed>6190000::V6.19::ARMCLANG</pCCUsed><uAC6>1</uAC6><TargetOption><TargetCommonOption><Device>-AT32F421K8U7</Device><Vendor>ArteryTek</Vendor><PackID>ArteryTek.AT32F421_DFP.2.1.8</PackID><Cpu>IRAM(0x20000000,0x4000) IROM(0x08000000,0x10000) CPUTYPE("Cortex-M4") CLOCK(12000000) ELITTLE</Cpu><FlashUtilSpec></FlashUtilSpec><StartupFile></StartupFile><FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0AT32F421_64 -FS08000000 -FL010000 -FP0($$Device:-AT32F421K8U7$Flash\AT32F421_64.FLM))</FlashDriverDll><DeviceId>0</DeviceId><RegisterFile>$$Device:-AT32F421K8U7$Device\Include\at32f421.h</RegisterFile><MemoryEnv></MemoryEnv><Cmp></Cmp><Asm></Asm><Linker></Linker><OHString></OHString><InfinionOptionDll></InfinionOptionDll><SLE66CMisc></SLE66CMisc><SLE66AMisc></SLE66AMisc><SLE66LinkerMisc></SLE66LinkerMisc><SFDFile>$$Device:-AT32F421K8U7$SVD\AT32F421xx_v2.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>.\Objects\</OutputDirectory><OutputName>AT32F421_Uboot_PA2</OutputName><CreateExecutable>1</CreateExecutable><CreateLib>0</CreateLib><CreateHexFile>1</CreateHexFile><DebugInformation>1</DebugInformation><BrowseInformation>1</BrowseInformation><ListingPath>.\Listings\</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>-pCM4</SimDlgDllArguments><TargetDllName>SARMCM3.DLL</TargetDllName><TargetDllArguments> -MPU</TargetDllArguments><TargetDlgDll>TCM.DLL</TargetDlgDll><TargetDlgDllArguments>-pCM4</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>1</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-M4"</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><RvdsMve>0</RvdsMve><RvdsCdeCp>0</RvdsCdeCp><nBranchProt>0</nBranchProt><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>0x10000</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>0x1000</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>7</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>3</wLevel><uThumb>0</uThumb><uSurpInc>0</uSurpInc><uC99>1</uC99><uGnu>1</uGnu><useXO>0</useXO><v6Lang>3</v6Lang><v6LangP>5</v6LangP><vShortEn>1</vShortEn><vShortWch>1</vShortWch><v6Lto>0</v6Lto><v6WtE>0</v6WtE><v6Rtti>0</v6Rtti><VariousControls><MiscControls></MiscControls><Define>AT32F421K8U7,USE_STDPERIPH_DRIVER, USE_PA2,KEIL</Define><Undefine></Undefine><IncludePath>..\Inc;..\mcu\f421\Inc;..\Mcu\f421\Drivers\drivers\inc;..\Mcu\f421\Drivers\CMSIS\cm4\device_support;..\Mcu\f421\Drivers\CMSIS\cm4\core_support</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><ClangAsOpt>1</ClangAsOpt><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>Src</GroupName><Files><File><FileName>main.c</FileName><FileType>1</FileType><FilePath>..\bootloader\main.c</FilePath></File></Files></Group><Group><GroupName>Drivers</GroupName><Files><File><FileName>at32f421_adc.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_adc.c</FilePath></File><File><FileName>at32f421_cmp.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_cmp.c</FilePath></File><File><FileName>at32f421_crc.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_crc.c</FilePath></File><File><FileName>at32f421_crm.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_crm.c</FilePath></File><File><FileName>at32f421_debug.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_debug.c</FilePath></File><File><FileName>at32f421_dma.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_dma.c</FilePath></File><File><FileName>at32f421_ertc.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_ertc.c</FilePath></File><File><FileName>at32f421_exint.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_exint.c</FilePath></File><File><FileName>at32f421_flash.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_flash.c</FilePath></File><File><FileName>at32f421_gpio.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_gpio.c</FilePath></File><File><FileName>at32f421_i2c.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_i2c.c</FilePath></File><File><FileName>at32f421_misc.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_misc.c</FilePath></File><File><FileName>at32f421_pwc.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_pwc.c</FilePath></File><File><FileName>at32f421_scfg.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_scfg.c</FilePath></File><File><FileName>at32f421_spi.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_spi.c</FilePath></File><File><FileName>at32f421_tmr.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_tmr.c</FilePath></File><File><FileName>at32f421_usart.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_usart.c</FilePath></File><File><FileName>at32f421_wdt.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_wdt.c</FilePath></File><File><FileName>at32f421_wwdt.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Drivers\drivers\src\at32f421_wwdt.c</FilePath></File></Files></Group><Group><GroupName>F421</GroupName><Files><File><FileName>eeprom.c</FileName><FileType>1</FileType><FilePath>..\Mcu\f421\Src\eeprom.c</FilePath></File></Files></Group><Group><GroupName>Startup</GroupName><Files><File><FileName>startup_at32f421.s</FileName><FileType>2</FileType><FilePath>..\Mcu\f421\Startup\mdk\startup_at32f421.s</FilePath></File></Files></Group><Group><GroupName>CMSIS</GroupName></Group></Groups></Target></Targets><RTE><apis/><components/><files/></RTE><LayerInfo><Layers><Layer><LayName>AT32F421_Uboot</LayName><LayPrjMark>1</LayPrjMark></Layer></Layers></LayerInfo></Project>
2、AT32F421_Uboot.uvoptx
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd"><SchemaVersion>1.0</SchemaVersion><Header>### uVision Project, (C) Keil Software</Header><Extensions><cExt>*.c</cExt><aExt>*.s*; *.src; *.a*</aExt><oExt>*.obj; *.o</oExt><lExt>*.lib</lExt><tExt>*.txt; *.h; *.inc; *.md</tExt><pExt>*.plm</pExt><CppX>*.cpp; *.cc; *.cxx</CppX><nMigrate>0</nMigrate></Extensions><DaveTm><dwLowDateTime>0</dwLowDateTime><dwHighDateTime>0</dwHighDateTime></DaveTm><Target><TargetName>AT32_F421_PA2</TargetName><ToolsetNumber>0x4</ToolsetNumber><ToolsetName>ARM-ADS</ToolsetName><TargetOption><CLKADS>12000000</CLKADS><OPTTT><gFlags>1</gFlags><BeepAtEnd>1</BeepAtEnd><RunSim>0</RunSim><RunTarget>1</RunTarget><RunAbUc>0</RunAbUc></OPTTT><OPTHX><HexSelection>1</HexSelection><FlashByte>65535</FlashByte><HexRangeLowAddress>0</HexRangeLowAddress><HexRangeHighAddress>0</HexRangeHighAddress><HexOffset>0</HexOffset></OPTHX><OPTLEX><PageWidth>79</PageWidth><PageLength>66</PageLength><TabStop>8</TabStop><ListingPath>.\Listings\</ListingPath></OPTLEX><ListingPage><CreateCListing>1</CreateCListing><CreateAListing>1</CreateAListing><CreateLListing>1</CreateLListing><CreateIListing>0</CreateIListing><AsmCond>1</AsmCond><AsmSymb>1</AsmSymb><AsmXref>0</AsmXref><CCond>1</CCond><CCode>0</CCode><CListInc>0</CListInc><CSymb>0</CSymb><LinkerCodeListing>0</LinkerCodeListing></ListingPage><OPTXL><LMap>1</LMap><LComments>1</LComments><LGenerateSymbols>1</LGenerateSymbols><LLibSym>1</LLibSym><LLines>1</LLines><LLocSym>1</LLocSym><LPubSym>1</LPubSym><LXref>0</LXref><LExpSel>0</LExpSel></OPTXL><OPTFL><tvExp>1</tvExp><tvExpOptDlg>0</tvExpOptDlg><IsCurrentTarget>1</IsCurrentTarget></OPTFL><CpuCode>255</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>1</tRtrace><sRSysVw>1</sRSysVw><tRSysVw>1</tRSysVw><sRunDeb>0</sRunDeb><sLrtime>0</sLrtime><bEvRecOn>1</bEvRecOn><bSchkAxf>0</bSchkAxf><bTchkAxf>0</bTchkAxf><nTsel>0</nTsel><sDll></sDll><sDllPa></sDllPa><sDlgDll></sDlgDll><sDlgPa></sDlgPa><sIfile></sIfile><tDll></tDll><tDllPa></tDllPa><tDlgDll></tDlgDll><tDlgPa></tDlgPa><tIfile></tIfile><pMon>BIN\UL2CM3.DLL</pMon></DebugOpt><TargetDriverDllRegistry><SetRegEntry><Number>0</Number><Key>UL2CM3</Key><Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0AT32F421_64 -FS08000000 -FL010000 -FP0($$Device:-AT32F421K8U7$Flash\AT32F421_64.FLM))</Name></SetRegEntry></TargetDriverDllRegistry><Breakpoint/><Tracepoint><THDelay>0</THDelay></Tracepoint><DebugFlag><trace>0</trace><periodic>1</periodic><aLwin>0</aLwin><aCover>0</aCover><aSer1>0</aSer1><aSer2>0</aSer2><aPa>0</aPa><viewmode>0</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><Group><GroupName>Src</GroupName><tvExp>1</tvExp><tvExpOptDlg>0</tvExpOptDlg><cbSel>0</cbSel><RteFlg>0</RteFlg><File><GroupNumber>1</GroupNumber><FileNumber>1</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\bootloader\main.c</PathWithFileName><FilenameWithoutPath>main.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File></Group><Group><GroupName>Drivers</GroupName><tvExp>1</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>..\Mcu\f421\Drivers\drivers\src\at32f421_adc.c</PathWithFileName><FilenameWithoutPath>at32f421_adc.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>3</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_cmp.c</PathWithFileName><FilenameWithoutPath>at32f421_cmp.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>..\Mcu\f421\Drivers\drivers\src\at32f421_crc.c</PathWithFileName><FilenameWithoutPath>at32f421_crc.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>5</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_crm.c</PathWithFileName><FilenameWithoutPath>at32f421_crm.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>6</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_debug.c</PathWithFileName><FilenameWithoutPath>at32f421_debug.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>7</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_dma.c</PathWithFileName><FilenameWithoutPath>at32f421_dma.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>8</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_ertc.c</PathWithFileName><FilenameWithoutPath>at32f421_ertc.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>9</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_exint.c</PathWithFileName><FilenameWithoutPath>at32f421_exint.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>10</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_flash.c</PathWithFileName><FilenameWithoutPath>at32f421_flash.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>11</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_gpio.c</PathWithFileName><FilenameWithoutPath>at32f421_gpio.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>12</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_i2c.c</PathWithFileName><FilenameWithoutPath>at32f421_i2c.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>13</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_misc.c</PathWithFileName><FilenameWithoutPath>at32f421_misc.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>14</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_pwc.c</PathWithFileName><FilenameWithoutPath>at32f421_pwc.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>15</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_scfg.c</PathWithFileName><FilenameWithoutPath>at32f421_scfg.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>16</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_spi.c</PathWithFileName><FilenameWithoutPath>at32f421_spi.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>17</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_tmr.c</PathWithFileName><FilenameWithoutPath>at32f421_tmr.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>18</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_usart.c</PathWithFileName><FilenameWithoutPath>at32f421_usart.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>19</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_wdt.c</PathWithFileName><FilenameWithoutPath>at32f421_wdt.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File><File><GroupNumber>2</GroupNumber><FileNumber>20</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Drivers\drivers\src\at32f421_wwdt.c</PathWithFileName><FilenameWithoutPath>at32f421_wwdt.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File></Group><Group><GroupName>F421</GroupName><tvExp>1</tvExp><tvExpOptDlg>0</tvExpOptDlg><cbSel>0</cbSel><RteFlg>0</RteFlg><File><GroupNumber>3</GroupNumber><FileNumber>21</FileNumber><FileType>1</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Src\eeprom.c</PathWithFileName><FilenameWithoutPath>eeprom.c</FilenameWithoutPath><RteFlg>0</RteFlg><bShared>0</bShared></File></Group><Group><GroupName>Startup</GroupName><tvExp>1</tvExp><tvExpOptDlg>0</tvExpOptDlg><cbSel>0</cbSel><RteFlg>0</RteFlg><File><GroupNumber>4</GroupNumber><FileNumber>22</FileNumber><FileType>2</FileType><tvExp>0</tvExp><tvExpOptDlg>0</tvExpOptDlg><bDave2>0</bDave2><PathWithFileName>..\Mcu\f421\Startup\mdk\startup_at32f421.s</PathWithFileName><FilenameWithoutPath>startup_at32f421.s</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></Group></ProjectOpt>