This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Design considerations for implementing flash program download

Hello,

I'm workign in a SoC integration of a Cortex-M0 core. I've done my research but I can't seem to find an answer to an, in theory, easy question. Appreciate if someone can point me on the right direction.

We have prototyped the Cortex M0 system MCU into an FPGA using the system design kit. The ROM is modelled in the FPGA as a RAM block, and it can be reprogrammed when in debug mode via the SWD debugger. The program memory can also be "hard" programmed via synthesys.

However, and here is the question, I fail to understand how the "flash download" works. Maybe I am misunderstanding something system-level, but I would think that the SWD debugger should be able to, out of debug mode, to just program the flash, and let the processor start runnign the program. This is what I understand as flash download. In final silicon this would require of some sort of flash algorithm to write to flash, but I would expect this not necessary on FPGA as it is just modelled as a number of registers.

I've had a look at a lot of documents (ARM Debug Interface v5 Architecture Specification (ARM IHI 0031), ARM CoreSight  Architecture Specification (ARM IHI 0029)), but they never mention anything related to flash download

What I am missing here?

Thanks

Parents
  • I am also working on a SoC project, and everything seemed fine until I ran into the problem of flash memories, we are using 0.35u process from TSMC, we have the memory compiler and the IO pads, but the memory compiler only generates SRAM memories, so I was wondering if I could use an SRAM instead of the flash memory and just use the debugger to program it in order to get things work, since there is no problem for us to upload the code with every power on of the device that is because flash memories require different modules on the chip like "DC-TO-DC" converters and power management control features that will add complexities to the design.

Reply
  • I am also working on a SoC project, and everything seemed fine until I ran into the problem of flash memories, we are using 0.35u process from TSMC, we have the memory compiler and the IO pads, but the memory compiler only generates SRAM memories, so I was wondering if I could use an SRAM instead of the flash memory and just use the debugger to program it in order to get things work, since there is no problem for us to upload the code with every power on of the device that is because flash memories require different modules on the chip like "DC-TO-DC" converters and power management control features that will add complexities to the design.

Children