Open ildar opened 3 years ago
I hope I did everything right. So
hw/bsp/nrf52/syscfg.yml
:
SPIFLASH_XT25F32B: 1 # PineTime standard chip
SPIFLASH_MANUFACTURER: 0x20
@tt1pjm, could you please read the SPI flash chip model you have? I guess it should be Micron chip.
Hey @ildar, When I stepped through the mcuboot code to get the SPIFLASH_MANUFACTURER I did notice that a lookup was performed against the SPIFlash to be able to compare with the value provided. I think there was an assertion failure if no match and no further progress on booting/boot looping. It seems to be a redundant check as you suggest. If we're able to determine the correct jedec manufacturer we should be able to use it and continue to boot but would require changes to mcuboot. On my SPIFlash I can see the text "XMC QH32BWIG" which I believe corresponds to the XM25QH32B model.
I flashed your bootloader above using OpenOCD. On restart all worked as expected and booted last loaded firmware. I've also tested a couple of OTA installs of firmware which also work as expected.
very nice! thanks a lot for testing. I plan to make OTA packages, would you be able to test?
Happy to help. I'll be taking a closer look at the newer bootloader/reloader compatibility with the P8 so keep posting your progress.
https://github.com/apache/mynewt-core/pull/2552 is now upstreamed.
@tt1pjm , you could add your P8's flash chip to mynewt-core, as I did for PineTime: https://github.com/ildar/mynewt-core/commit/6555463a5bf591494a0bdb3ab50e9ba742ccbf98
Flash chip for P8 now merged into mynewt-core: https://github.com/apache/mynewt-core/pull/2582
Multiple flash chips are allowed via #10 , see https://github.com/InfiniTimeOrg/pinetime-mcuboot-bootloader/pull/10/files#diff-1bcea6a127a33f80b40cfb7ecb5f8de407aaaaca084179d9e3d32904e9c40bdeR64 . P25Q32H support was upstreamed some time ago: https://github.com/apache/mynewt-core/pull/2798 .
While Colme P8 is one platform, it happens to have different SPI flash components. The fixed
SPIFLASH_MANUFACTURER
looks excessive. Could that be flexible or ignored?