Hi
Do NOT use SPI_SW_UPLOAD in this case – this is only required when ONLY using the FLASH exclusively for SW upload space and the uFileSystem is exclusively in internal FLASH.
The define SPI_FLASH_AT45XXXXD_TYPE is only required when working with the D-types in 256/512/1024 bit page size mode. It is in fact only required by the simulator.
Generally the standard #define SPI_FLASH_PAGE_LENGTH 528 (for example) can be used (rather than #define SPI_FLASH_PAGE_LENGTH 512). To set to 256/512/1024 byte page mode requires special instructions to be sent to the chip and this can also not be reverted. There is no real advantage of using 256/512/1024 mode, and I don’t actually know of projects which do! In some situations calculating the access address of 512 bytes pages is a bit easier but the 528 bit mode does increase the available memory by 3%!
The B and D types are otherwise fully compatible when left in the standard page size mode (which the B types can only do). The D types have in fact slower delete times (although one would expect the inverse...)
Regards
Mark