структуризирован бутлоадер. работает

надо по протоколу подумать еще, доработать его и описать
This commit is contained in:
2025-09-15 14:41:46 +03:00
parent fbd36705f1
commit 0e834dfe3d
20 changed files with 1018 additions and 778 deletions

View File

@@ -148,24 +148,7 @@
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>49</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>42</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\Core\Bootloader\bootloader.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\uksvep_2_2_v1\../Core/Bootloader/bootloader.c\49</Expression>
</Bp>
</Breakpoint>
<Breakpoint/>
<WatchWindow1>
<Ww>
<count>0</count>
@@ -207,6 +190,11 @@
<WinNumber>1</WinNumber>
<ItemText>CMD_GOTOBOOT</ItemText>
</Ww>
<Ww>
<count>8</count>
<WinNumber>1</WinNumber>
<ItemText>hcan</ItemText>
</Ww>
</WatchWindow1>
<MemoryWindow1>
<Mm>
@@ -427,7 +415,7 @@
<Type>0</Type>
<LineNumber>1300</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134222002</Address>
<Address>134222082</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
@@ -438,22 +426,6 @@
<ExecCommand></ExecCommand>
<Expression>\\bootloader\../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c\1300</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>850</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134221508</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\bootloader\../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c\850</Expression>
</Bp>
</Breakpoint>
<WatchWindow1>
<Ww>
@@ -496,12 +468,22 @@
<WinNumber>1</WinNumber>
<ItemText>TXDataBoot</ItemText>
</Ww>
<Ww>
<count>8</count>
<WinNumber>1</WinNumber>
<ItemText>\\bootloader\../Core/Bootloader/boot_main.c\boot.error.bit.unknown_cmd</ItemText>
</Ww>
<Ww>
<count>9</count>
<WinNumber>1</WinNumber>
<ItemText>\\bootloader\../Core/Bootloader/boot_main.c\boot.error.bit.write_err</ItemText>
</Ww>
</WatchWindow1>
<MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber>
<SubType>0</SubType>
<ItemText>0x08011800</ItemText>
<ItemText>0x0800c000</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow1>
@@ -556,30 +538,10 @@
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
<SystemViewers>
<Entry>
<Name>System Viewer\BKP</Name>
<WinId>35903</WinId>
</Entry>
<Entry>
<Name>System Viewer\CAN</Name>
<WinId>35904</WinId>
</Entry>
<Entry>
<Name>System Viewer\FLASH</Name>
<WinId>35900</WinId>
</Entry>
<Entry>
<Name>System Viewer\GPIOB</Name>
<WinId>35905</WinId>
</Entry>
<Entry>
<Name>System Viewer\PWR</Name>
<WinId>35901</WinId>
</Entry>
<Entry>
<Name>System Viewer\RCC</Name>
<WinId>35902</WinId>
</Entry>
</SystemViewers>
<DebugDescription>
<Enable>1</Enable>
@@ -1008,7 +970,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Bootloader\boot_project_setup.h</PathWithFileName>
<PathWithFileName>..\Core\Bootloader\Inc\boot_project_setup.h</PathWithFileName>
<FilenameWithoutPath>boot_project_setup.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@@ -1020,8 +982,8 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Bootloader\boot_main.c</PathWithFileName>
<FilenameWithoutPath>boot_main.c</FilenameWithoutPath>
<PathWithFileName>..\Core\Bootloader\Src\bootloader.c</PathWithFileName>
<FilenameWithoutPath>bootloader.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
@@ -1032,20 +994,20 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Bootloader\bootloader.c</PathWithFileName>
<FilenameWithoutPath>bootloader.c</FilenameWithoutPath>
<PathWithFileName>..\Core\Bootloader\Src\boot_main.c</PathWithFileName>
<FilenameWithoutPath>boot_main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>35</FileNumber>
<FileType>5</FileType>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Bootloader\bootloader.h</PathWithFileName>
<FilenameWithoutPath>bootloader.h</FilenameWithoutPath>
<PathWithFileName>..\Core\Bootloader\Src\boot_can.c</PathWithFileName>
<FilenameWithoutPath>boot_can.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
@@ -1056,20 +1018,20 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Bootloader\boot_can.c</PathWithFileName>
<FilenameWithoutPath>boot_can.c</FilenameWithoutPath>
<PathWithFileName>..\Core\Bootloader\Src\boot_flash.c</PathWithFileName>
<FilenameWithoutPath>boot_flash.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>37</FileNumber>
<FileType>5</FileType>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Bootloader\boot_can.h</PathWithFileName>
<FilenameWithoutPath>boot_can.h</FilenameWithoutPath>
<PathWithFileName>..\Core\Bootloader\Src\boot_gpio.c</PathWithFileName>
<FilenameWithoutPath>boot_gpio.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
@@ -1080,47 +1042,23 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Bootloader\boot_flash.c</PathWithFileName>
<FilenameWithoutPath>boot_flash.c</FilenameWithoutPath>
<PathWithFileName>..\Core\Bootloader\Src\boot_jump.c</PathWithFileName>
<FilenameWithoutPath>boot_jump.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>39</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Bootloader\boot_flash.h</PathWithFileName>
<FilenameWithoutPath>boot_flash.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>40</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Bootloader\boot_uart.c</PathWithFileName>
<PathWithFileName>..\Core\Bootloader\Src\boot_uart.c</PathWithFileName>
<FilenameWithoutPath>boot_uart.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>41</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Bootloader\boot_uart.h</PathWithFileName>
<FilenameWithoutPath>boot_uart.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>

View File

@@ -341,7 +341,7 @@
<MiscControls></MiscControls>
<Define>USE_HAL_DRIVER,STM32F103xE</Define>
<Undefine></Undefine>
<IncludePath>../Core/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;..\Core\Bootloader</IncludePath>
<IncludePath>../Core/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;..\Core\Bootloader\Inc</IncludePath>
</VariousControls>
</Cads>
<Aads>
@@ -665,12 +665,17 @@
<File>
<FileName>boot_project_setup.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Bootloader\boot_project_setup.h</FilePath>
<FilePath>..\Core\Bootloader\Inc\boot_project_setup.h</FilePath>
</File>
<File>
<FileName>bootloader.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\Src\bootloader.c</FilePath>
</File>
<File>
<FileName>boot_main.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\boot_main.c</FilePath>
<FilePath>..\Core\Bootloader\Src\boot_main.c</FilePath>
<FileOption>
<CommonProperty>
<UseCPPCompiler>2</UseCPPCompiler>
@@ -723,45 +728,81 @@
</FileArmAds>
</FileOption>
</File>
<File>
<FileName>bootloader.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\bootloader.c</FilePath>
</File>
<File>
<FileName>bootloader.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Bootloader\bootloader.h</FilePath>
</File>
<File>
<FileName>boot_can.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\boot_can.c</FilePath>
</File>
<File>
<FileName>boot_can.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Bootloader\boot_can.h</FilePath>
<FilePath>..\Core\Bootloader\Src\boot_can.c</FilePath>
</File>
<File>
<FileName>boot_flash.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\boot_flash.c</FilePath>
<FilePath>..\Core\Bootloader\Src\boot_flash.c</FilePath>
</File>
<File>
<FileName>boot_flash.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Bootloader\boot_flash.h</FilePath>
<FileName>boot_gpio.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\Src\boot_gpio.c</FilePath>
</File>
<File>
<FileName>boot_jump.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\Src\boot_jump.c</FilePath>
<FileOption>
<CommonProperty>
<UseCPPCompiler>2</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>1</IncludeInBuild>
<AlwaysBuild>2</AlwaysBuild>
<GenerateAssemblyFile>2</GenerateAssemblyFile>
<AssembleAssemblyFile>2</AssembleAssemblyFile>
<PublicsOnly>2</PublicsOnly>
<StopOnExitCode>11</StopOnExitCode>
<CustomArgument></CustomArgument>
<IncludeLibraryModules></IncludeLibraryModules>
<ComprImg>1</ComprImg>
</CommonProperty>
<FileArmAds>
<Cads>
<interw>2</interw>
<Optim>0</Optim>
<oTime>2</oTime>
<SplitLS>2</SplitLS>
<OneElfS>2</OneElfS>
<Strict>2</Strict>
<EnumInt>2</EnumInt>
<PlainCh>2</PlainCh>
<Ropi>2</Ropi>
<Rwpi>2</Rwpi>
<wLevel>0</wLevel>
<uThumb>2</uThumb>
<uSurpInc>2</uSurpInc>
<uC99>2</uC99>
<uGnu>2</uGnu>
<useXO>2</useXO>
<v6Lang>0</v6Lang>
<v6LangP>0</v6LangP>
<vShortEn>2</vShortEn>
<vShortWch>2</vShortWch>
<v6Lto>2</v6Lto>
<v6WtE>2</v6WtE>
<v6Rtti>2</v6Rtti>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Cads>
</FileArmAds>
</FileOption>
</File>
<File>
<FileName>boot_uart.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\boot_uart.c</FilePath>
</File>
<File>
<FileName>boot_uart.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Bootloader\boot_uart.h</FilePath>
<FilePath>..\Core\Bootloader\Src\boot_uart.c</FilePath>
</File>
</Files>
</Group>
@@ -1105,7 +1146,7 @@
<MiscControls></MiscControls>
<Define>USE_HAL_DRIVER,STM32F103xE</Define>
<Undefine></Undefine>
<IncludePath>..\Core\Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;..\Core\Bootloader</IncludePath>
<IncludePath>..\Core\Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;..\Core\Bootloader\Inc</IncludePath>
</VariousControls>
</Cads>
<Aads>
@@ -1447,52 +1488,42 @@
<File>
<FileName>boot_project_setup.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Bootloader\boot_project_setup.h</FilePath>
</File>
<File>
<FileName>boot_main.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\boot_main.c</FilePath>
<FilePath>..\Core\Bootloader\Inc\boot_project_setup.h</FilePath>
</File>
<File>
<FileName>bootloader.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\bootloader.c</FilePath>
<FilePath>..\Core\Bootloader\Src\bootloader.c</FilePath>
</File>
<File>
<FileName>bootloader.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Bootloader\bootloader.h</FilePath>
<FileName>boot_main.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\Src\boot_main.c</FilePath>
</File>
<File>
<FileName>boot_can.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\boot_can.c</FilePath>
</File>
<File>
<FileName>boot_can.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Bootloader\boot_can.h</FilePath>
<FilePath>..\Core\Bootloader\Src\boot_can.c</FilePath>
</File>
<File>
<FileName>boot_flash.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\boot_flash.c</FilePath>
<FilePath>..\Core\Bootloader\Src\boot_flash.c</FilePath>
</File>
<File>
<FileName>boot_flash.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Bootloader\boot_flash.h</FilePath>
<FileName>boot_gpio.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\Src\boot_gpio.c</FilePath>
</File>
<File>
<FileName>boot_jump.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\Src\boot_jump.c</FilePath>
</File>
<File>
<FileName>boot_uart.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Bootloader\boot_uart.c</FilePath>
</File>
<File>
<FileName>boot_uart.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Bootloader\boot_uart.h</FilePath>
<FilePath>..\Core\Bootloader\Src\boot_uart.c</FilePath>
</File>
</Files>
</Group>