Programming PSoC 3 / PSoC 5 Using External Microcontroller | Cypress Semiconductor
Programming PSoC 3 / PSoC 5 Using External Microcontroller
PSoC 3 / PSoC 5 device programming refers to the programming of the nonvolatile memory in PSoC 3 / PSoC 5 using an external host programmer. The host can be the MiniProg3 Programmer supplied by Cypress; a third-party programmer; or a custom-made programmer, such as an on-board microcontroller.
MiniProg3 is used during the prototype stage of application development to program and debug PSoC 3 or PSoC 5 target devices on a development board. Third-party programmers are used for production programming of PSoC 3 or PSoC 5 in large numbers. Those programmers are used after the design is completed and the application goes for mass production. In addition, custom-developed host programmers, such as external microcontrollers, can perform in-system programming of PSoC 3 or PSoC 5 devices.
The application note AN73054 - PSoC® 3 / PSoC 5 Programming Using an External Microcontroller (HSSP) will enable in the rapid development of in-system programmers by providing a portable, modular C code that can be easily ported to any host programmer development platform with minimal changes. The following are the broad changes required while porting the code to a specific host programmer.
- SWD physical layer routines to access (read, write) the programming pins. These routines will have to be modified based on the method of accessing an I/O pin state in the host programmer
- The method of getting the data to be programmed to the target PSoC 3/5. Some host programmers might use the on-chip memory to store the data to be programmed; other host programmers might use a communication interface like USB, SPI to get the programming data
Refer to the application note AN73054 - PSoC® 3 / PSoC 5 Programming Using an External Microcontroller (HSSP) for complete details on creating an in-system programming solution for PSoC 3/5. The example project provided with the application note uses a PSoC 5 as a host programmer to program the target PSoC 3/5 device.