Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

Keil PSoC6 Dual-CPU Example Project

Keil PSoC6 Dual-CPU Example Project

5 questions asked 5 sign-ins First question asked

This KBA provides information on how to support PSoC6 Dual-CPU project in Keil IDE environment.

The software environment is ModusToolbox3.0 and Keil uVision5. The example code is based on PSoC™ 6 MCU: Dual-CPU empty application template. The hardware EVB is PSoC6 2M CY8CPROTO-062-4343W.

First, create new PSoC™ 6 MCU: Dual-CPU empty application template with ModusToolbox3.0.  Choose PSoC6 libraries which we need and compile it.  Use the command make uvision5 TOOLCHAIN=ARM in ModusShell to export ModusToolbox code to Keil uVision5 template project.  This will create two Keil projects proj_cm0p and proj_cm4.


Figure 1 PSoC6 Dual-CPU Example Project

Open Keil uVision5 IDE and create Multi-Project Workspace like Figure 2.


Figure 2  Keil uVision5 Multi-Project Workspace

Import proj_cm0p and proj_cm4 projects in Multi-Project Workspace. The project name and code folder can be renamed.  Use Batch Build in Multi-Project Workspace to automatically build PSoC6 CM0P and CM4 projects in sequence. leoyan_2-1690439842563.png

Figure 3   PSoC6 Multi-Project Workspace

Config CM0P and CM4 Keil uVision projects by mtb_user_guide 7.3.4 section



Figure 4  Config PSoC6 Keil uVision5 Project


The Keil uVision5 project would be compiled and output axf format. Need to use post-build command fromelf to convert axf to elf format, and use cymcuelftool to merge CM0P and CM4 to the final PSoC6 application elf and hex format.


Figure 5  Keil Post-build 

Use PSoC Programmer to program final app hex into PSoC6.