aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Selkirk <paul@psgd.org>2016-12-20 19:06:29 -0500
committerPaul Selkirk <paul@psgd.org>2016-12-20 19:06:29 -0500
commitfe94d97f705846ef809d4109b310c96d0b3bb1ac (patch)
tree6ad93bf55b1cf12db14e35583967dd1b76334c8c
parentfa731c8e3730596c618367014ce6d30d6e4c265a (diff)
Make stm_flash_sector_num a little more efficient.
-rw-r--r--stm-flash.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/stm-flash.c b/stm-flash.c
index 991379b..fc79ea0 100644
--- a/stm-flash.c
+++ b/stm-flash.c
@@ -72,14 +72,15 @@ uint32_t flash_sector_offsets[FLASH_NUM_SECTORS + 1] = {
int stm_flash_sector_num(const uint32_t offset)
{
- int i = FLASH_NUM_SECTORS;
+ int i;
- while (i-- >= 0) {
- if (offset >= flash_sector_offsets[i] &&
- offset < flash_sector_offsets[i + 1]) {
+ if (offset < flash_sector_offsets[0])
+ return -1;
+
+ for (i = 0; i < FLASH_NUM_SECTORS; ++i)
+ if (offset < flash_sector_offsets[i + 1])
return i;
- }
- }
+
return -1;
}