Programming considerations are required for systems that use memory-mapped flash. Questions about external flash are one of the most frequent types of technical support inquiries we receive.
This article will give an overview of the PEmicro PROG software's handling of an external flash. You can also search online to buy flash programmers for 8-32 bit custom mcus & spi flash memory.
Image Source: Google
How PROG works:
PEmicro's PROG software puts the processor in background ("debug") mode. This allows it full access to all the processor's resources. Flash programming code is loaded into the processor's RAM. This algorithm includes all the necessary routines to erase and program external flash.
PROG always places the flash externally so it starts at address 0. PROG will have to adjust your memory map with the correct base address.
Access to the flash externally:
PROG software accesses the flash using the processor. The processor must be able to read/write to the flash from its perspective. This is usually handled by the processor's interface to the external bus. PEmicro's flash algorithms assume that the user already has this configuration.
Most processors will automatically select CS0 for the global chip selection. This chip select is used by the processor for all external memory accesses until it can be reconfigured by users. The processor also checks for certain signals during bootup in order to determine the width data bus on CS0.