mirror of https://github.com/wolfSSL/wolfBoot.git
hal_flash_write() and hal_flash_erase() aligned the invalidation start address down to a 32-byte cache line but rounded the length up from "len" alone, omitting the (address - aligned_address) offset. Whenever (address % 32) + (len % 32) > 32, the invalidated range fell short of address + len, leaving the last cache line stale after a write/erase. Extract the range computation into hal_flash_cache_align_range() (hal/imx_rt.h, dependency-free so it's unit-testable without the NXP SDK) and include the down-alignment offset before rounding the length up, so the invalidated range always covers [address, address+len). |
||
|---|---|---|
| .. | ||
| bin-assemble | ||
| check_config | ||
| delta | ||
| efi | ||
| elf-parser | ||
| fdt-parser | ||
| keytools | ||
| lms | ||
| renode | ||
| scripts | ||
| squashelf | ||
| test-expect-version | ||
| test-update-server | ||
| tpm | ||
| uart-flash-server | ||
| unit-tests | ||
| xmss | ||
| config.mk | ||
| test-delta.mk | ||
| test-enc.mk | ||
| test-renode.mk | ||
| test.mk | ||
| wolfboot-rpi-devicetree.diff | ||