diff options
author | Paul Selkirk <paul@psgd.org> | 2016-12-20 19:06:29 -0500 |
---|---|---|
committer | Paul Selkirk <paul@psgd.org> | 2016-12-20 19:06:29 -0500 |
commit | fe94d97f705846ef809d4109b310c96d0b3bb1ac (patch) | |
tree | 6ad93bf55b1cf12db14e35583967dd1b76334c8c | |
parent | fa731c8e3730596c618367014ce6d30d6e4c265a (diff) |
Make stm_flash_sector_num a little more efficient.
-rw-r--r-- | stm-flash.c | 13 |
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; } |