Skip to content

Commit 187e8bc

Browse files
committed
save
1 parent 5571778 commit 187e8bc

File tree

3 files changed

+70
-10
lines changed

3 files changed

+70
-10
lines changed

Bootloader/Src/binary_update.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,11 @@ BinaryUpdate_handleDetectedBinary(signatureType_E detected_binary) {
6767
break;
6868

6969
case signatureType_UNKNOWN:
70+
default:
7071
//we support unsigned binary but handle it as firmware for flash
7172
success = false;
7273
s_address = FLASH_FIRMWARE_ADDRESS;
7374
break;
74-
75-
default:
76-
break;
7775
}
7876

7977
return success;
@@ -103,7 +101,7 @@ BinaryUpdate_getJumpAddress(void) {
103101

104102
void
105103
BinaryUpdate_resetJumpAddress(void) {
106-
boot_info.jump_address = signatureType_FIRMWARE_FLASH;;
104+
boot_info.jump_address = FLASH_FIRMWARE_ADDRESS;;
107105
}
108106

109107
bool

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ stm32h735g_dk:
163163
stm32h735g_dk_ram:
164164
${MAKE} stm32h7xx_ram BOARD=STM32H735G_DK BOARD_FILE_NAME=$@
165165

166-
test_cmock test_all test_clean:
166+
test_cmock test_all test_clean test_binary_update test_board_info:
167167
${MAKE} -C Tests $@
168168

169169
#

Tests/test_binary_update.c

Lines changed: 67 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
#include "binary_update.h"
2+
#include "flash_adapter.h"
23

34
#include "unity.h"
45
#include "unity_fixture.h"
56

7+
extern volatile bootInfo_S boot_info;
8+
69
TEST_GROUP(BinaryUpdate);
710

811
TEST_SETUP(BinaryUpdate) {
@@ -13,12 +16,71 @@ TEST_TEAR_DOWN(BinaryUpdate) {
1316

1417
TEST_GROUP_RUNNER(BinaryUpdate) {
1518
RUN_TEST_CASE(BinaryUpdate, BinaryUpdate_handleDetectedBinary);
19+
RUN_TEST_CASE(BinaryUpdate, BinaryUpdate_handleBootInfo);
20+
RUN_TEST_CASE(BinaryUpdate, BinaryUpdate_shortFunctions);
1621
}
1722

1823
TEST(BinaryUpdate, BinaryUpdate_handleDetectedBinary) {
19-
{
20-
signatureType_E detected_binary = signatureType_FIRMWARE_FLASH;
21-
bool success = BinaryUpdate_handleDetectedBinary(detected_binary);
22-
TEST_ASSERT_TRUE(success);
23-
}
24+
25+
signatureType_E detected_binary;
26+
bool success = false;
27+
28+
detected_binary = signatureType_FIRMWARE_FLASH;
29+
success = BinaryUpdate_handleDetectedBinary(detected_binary);
30+
TEST_ASSERT_TRUE(success);
31+
32+
detected_binary = signatureType_BOOTLOADER_FLASH;
33+
success = BinaryUpdate_handleDetectedBinary(detected_binary);
34+
TEST_ASSERT_TRUE(success);
35+
36+
detected_binary = signatureType_FIRMWARE_RAM;
37+
success = BinaryUpdate_handleDetectedBinary(detected_binary);
38+
TEST_ASSERT_TRUE(success);
39+
40+
detected_binary = signatureType_BOOTLOADER_RAM;
41+
success = BinaryUpdate_handleDetectedBinary(detected_binary);
42+
TEST_ASSERT_TRUE(success);
43+
44+
detected_binary = signatureType_UNKNOWN;
45+
success = BinaryUpdate_handleDetectedBinary(detected_binary);
46+
TEST_ASSERT_FALSE(success);
47+
48+
detected_binary = signatureType_UNKNOWN + 1;
49+
success = BinaryUpdate_handleDetectedBinary(detected_binary);
50+
TEST_ASSERT_FALSE(success);
51+
}
52+
53+
TEST(BinaryUpdate, BinaryUpdate_handleBootInfo) {
54+
55+
boot_info.jump_address = FLASH_FIRMWARE_ADDRESS;
56+
boot_info.skip_bl_loop = true;
57+
BinaryUpdate_handleBootInfo();
58+
TEST_ASSERT_TRUE(boot_info.skip_bl_loop);
59+
60+
boot_info.jump_address = FLASH_BOOTLOADER_ADDRESS;
61+
BinaryUpdate_handleBootInfo();
62+
TEST_ASSERT_TRUE(boot_info.skip_bl_loop);
63+
64+
boot_info.jump_address = RAM_FIRMWARE_ADDRESS;
65+
BinaryUpdate_handleBootInfo();
66+
TEST_ASSERT_TRUE(boot_info.skip_bl_loop);
67+
68+
boot_info.jump_address = 0x08888888UL; //Unknown
69+
BinaryUpdate_handleBootInfo();
70+
TEST_ASSERT_FALSE(boot_info.skip_bl_loop);
71+
}
72+
73+
TEST(BinaryUpdate, BinaryUpdate_shortFunctions) {
74+
75+
boot_info.jump_address = FLASH_FIRMWARE_ADDRESS;
76+
uint32_t jump_address = BinaryUpdate_getJumpAddress();
77+
BinaryUpdate_handleBootInfo();
78+
TEST_ASSERT_EQUAL_UINT32(FLASH_FIRMWARE_ADDRESS, jump_address);
79+
80+
BinaryUpdate_resetJumpAddress();
81+
82+
BinaryUpdate_checkSkipLoopFlag();
83+
84+
BinaryUpdate_disableLoopFlag();
85+
2486
}

0 commit comments

Comments
 (0)