Skip to content

Commit 9fd0edb

Browse files
Sector 6 is now protected
1 parent c8b3fe1 commit 9fd0edb

21 files changed

+8852
-8843
lines changed

.cproject

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1332667918" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
120120
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.370431092" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
121121
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.593948302" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.5 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32H723ZGTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32H7xx/Include | ../Drivers/STM32H7xx_HAL_Driver/Inc || || || USE_HAL_DRIVER | STM32H723xx || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32H723ZGTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || " valueType="string"/>
122+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary.876002222" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary" value="true" valueType="boolean"/>
122123
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1355170193" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
123124
<builder buildPath="${workspace_loc:/HUPV-Bootloader}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1343647972" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
124125
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.2061885926" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">

Core/App/Bootloader.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ void const __b_read_memory(fdcan_packet_t* packet){
9191
sector = packet->data[0];
9292
address = flash_get_sector_starting_address(sector);
9393

94-
if (address == FLASH_SECTOR_ERROR || address == FLASH_PROTECTED_SECTOR) {
94+
if (address == FLASH_SECTOR_ERROR || sector >= FLASH_PROTECTED_SECTOR2) {
9595
__b_send_nack(packet);
9696
return;
9797
}
@@ -138,7 +138,7 @@ void const __b_write_memory(fdcan_packet_t* packet){
138138
sector = packet->data[0];
139139
address = flash_get_sector_starting_address(sector);
140140

141-
if (address == FLASH_SECTOR_ERROR || address == FLASH_PROTECTED_SECTOR) {
141+
if (address == FLASH_SECTOR_ERROR || sector >= FLASH_PROTECTED_SECTOR1) {
142142
__b_send_nack(packet);
143143
return;
144144
}
@@ -189,7 +189,7 @@ void const __b_erase_memory(fdcan_packet_t* packet){
189189
sector1 = packet->data[0];
190190
sector2 = packet->data[1];
191191

192-
if (sector1 > FLASH_MAX_SECTOR || sector2 > FLASH_MAX_SECTOR) {
192+
if (sector1 > sector2 || sector1 < FLASH_SECTOR_0 || sector2 > FLASH_MAX_SECTOR) {
193193
__b_send_nack(packet);
194194
return;
195195
}

Core/App/Bootloader.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include "Flash.h"
1313
#include "FDCAN.h"
1414

15-
#define BOOTLOADER_VERSION (0x04)
15+
#define BOOTLOADER_VERSION (0x05)
1616

1717
#define BOOTLOADER_BLOCK_SIZE ((uint8_t)8U)
1818

Core/App/Flash.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ flash_error const flash_write(uint32_t dest_addr, uint32_t* data, uint32_t numbe
6767
}
6868

6969
flash_error const flash_erase(const sector_t start_sector, const sector_t end_sector){
70-
if (start_sector == FLASH_PROTECTED_SECTOR || end_sector == FLASH_PROTECTED_SECTOR) {
70+
if (start_sector < FLASH_SECTOR_0 || end_sector >= FLASH_PROTECTED_SECTOR1) {
7171
return FLASH_PROTECTED_MEM;
7272
}
7373

Core/App/Flash.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@
5252
#define FLASH_START_ADDRESS FLASH_SECTOR0_START_ADDRESS
5353
#define FLASH_END_ADDRESS FLASH_SECTOR7_END_ADDRESS
5454

55-
#define FLASH_CODE_END_ADDRESS FLASH_SECTOR6_END_ADDRESS
55+
#define FLASH_CODE_END_ADDRESS FLASH_SECTOR5_END_ADDRESS
5656

57-
#define FLASH_MAX_SECTOR (FLASH_SECTOR_7 - 1)
58-
59-
#define FLASH_PROTECTED_SECTOR FLASH_SECTOR_7
57+
#define FLASH_PROTECTED_SECTOR1 FLASH_SECTOR_6
58+
#define FLASH_PROTECTED_SECTOR2 FLASH_SECTOR_7
6059

60+
#define FLASH_MAX_SECTOR (FLASH_PROTECTED_SECTOR1 - 1)
6161

6262
/****************************************************************************************
6363
* Type definitions

Debug/Core/App/Bootloader.o

64 Bytes
Binary file not shown.

Debug/Core/App/Flash.o

48 Bytes
Binary file not shown.

Debug/Core/Src/main.o

60 Bytes
Binary file not shown.

Debug/HUPV-Bootloader.bin

-4 Bytes
Binary file not shown.

Debug/HUPV-Bootloader.elf

56 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)