summaryrefslogtreecommitdiff
path: root/dev-embedded/stm32flash/files/stm32flash-0.6-fix-i2c-erase-17a24f8.patch
blob: e0b519c48413cc67a0211fc1297e2ad5c286274a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
From 17a24f873122b96481adefaadc128bd1abba594f Mon Sep 17 00:00:00 2001
From: Tormod Volden <debian.tormod@gmail.com>
Date: Sat, 21 Aug 2021 13:06:34 +0200
Subject: [PATCH 02/15] stm32: Consistent and unique erase error messages

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
---
 stm32.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/stm32.c b/stm32.c
index 82fa26a..e071905 100644
--- a/stm32.c
+++ b/stm32.c
@@ -797,7 +797,7 @@ static stm32_err_t stm32_mass_erase(const stm32_t *stm)
 		return STM32_ERR_OK;
 	}
 
-	/* extended erase */
+	/* extended erase (0x44 or 0x45) */
 	buf[0] = 0xFF;	/* 0xFFFF the magic number for mass erase */
 	buf[1] = 0xFF;
 	buf[2] = 0x00;  /* checksum */
@@ -870,11 +870,12 @@ static stm32_err_t stm32_pages_erase(const stm32_t *stm, uint32_t spage, uint32_
 		p_err = port->write(port, buf, i);
 		free(buf);
 		if (p_err != PORT_ERR_OK) {
-			fprintf(stderr, "Erase failed.\n");
+			fprintf(stderr, "Erase failed sending list of pages.\n");
 			return STM32_ERR_UNKNOWN;
 		}
 		s_err = stm32_get_ack_timeout(stm, pages * STM32_PAGEERASE_TIMEOUT);
 		if (s_err != STM32_ERR_OK) {
+			fprintf(stderr, "Erase failed.\n");
 			if (port->flags & PORT_STRETCH_W)
 				stm32_warn_stretching("erase");
 			return STM32_ERR_UNKNOWN;
@@ -882,7 +883,7 @@ static stm32_err_t stm32_pages_erase(const stm32_t *stm, uint32_t spage, uint32_
 		return STM32_ERR_OK;
 	}
 
-	/* extended erase */
+	/* extended erase (0x44 or 0x45) */
 	buf = malloc(2 + 2 * pages + 1);
 	if (!buf)
 		return STM32_ERR_UNKNOWN;
@@ -925,13 +926,13 @@ static stm32_err_t stm32_pages_erase(const stm32_t *stm, uint32_t spage, uint32_
 	p_err = port->write(port, buf, i);
 	free(buf);
 	if (p_err != PORT_ERR_OK) {
-		fprintf(stderr, "Page-by-page erase error.\n");
+		fprintf(stderr, "Extended erase failed sending list of pages.\n");
 		return STM32_ERR_UNKNOWN;
 	}
 
 	s_err = stm32_get_ack_timeout(stm, pages * STM32_PAGEERASE_TIMEOUT);
 	if (s_err != STM32_ERR_OK) {
-		fprintf(stderr, "Page-by-page erase failed. Check the maximum pages your device supports.\n");
+		fprintf(stderr, "Extended erase failed. Check the maximum pages your device supports.\n");
 		if ((port->flags & PORT_STRETCH_W)
 		    && stm->cmd->er != STM32_CMD_EE_NS)
 			stm32_warn_stretching("erase");
-- 
2.33.0.309.g3052b89438-goog