Infineon has launched a design challenge that invites challengers to push the limits of the newly released PSoC 62 dual-core microcontroller with the ModusToolbox 3.0 software development platform. The challenge aims to encourage participants to create projects that take advantage of the dual-core architecture of the PSoC 62 microcontroller, with a focus on low-power modes, secure core partitioning, and driving multiple operating systems on a single microcontroller. I was one of thirty applicants chosen to receive the PSoC 62S4 Pioneer Platform, and use the ModusToolbox 3.0 development environment and demonstrate the use of both the Cortex-M0+ and Cortex-M4 cores in a project. The sponsored challengers must post their progress and final project with at least 5 blog posts, showing inter-core communications and code samples. This blog is a landing page for the 5 blog series ,using the PSoC-62S4 Pioneer kit along with ModusToolbox version 3.0 with new improved dual-core programming support.
The 5 blogs are designed to follow a design specification to implement a dual-core solution. The blogs are: Introduction, Design, ModusToolbox- Migrating old version to 3.0,, Testing, and Implementation & Conclusion.
ModusToolbox 3.0
ModusToolbox 3.0 is a software development environment that is specifically designed to help developers create applications for the PSoC 62S4 microcontroller. It offers a range of tools and features to make it easy to develop, test, and deploy applications, including an integrated development environment (IDE), debugging tools, and a range of libraries and software components.
ModusToolbox Software is a collection of development tools, libraries, and embedded runtime assets that provide a flexible and comprehensive development experience. It includes run-time software with middleware, device drivers, and code examples, available through GitHub repositories. The development tools support Windows, Linux, and macOS and allow the creation of new embedded applications, managing software components, configuring device peripherals, and embedded development tools for compiling, programming, and debugging. The development tools interface directly with the available run-time software repositories, providing easy access to the latest development resources. Additional resources include community forums, knowledge-based articles, technical blog articles, comprehensive documentation, detailed training, and tutorial videos.
PSoC62S4 kit description
The PSoC 62S4 Pioneer Kit, which is a low-cost hardware platform designed for designing and hardware debugging applications using the PSoC 62 MCU. The kit features a 150-MHz Arm Cortex-M4 and 100-MHz Arm Cortex-M0+ cores, 256KB of Flash, 128KB of SRAM, programmable analog blocks including two 12-bit SAR ADCs, programmable digital blocks, Full-Speed USB, a serial memory interface, a CAN-FD interface, and industry-leading capacitive-sensing with CapSense. It also includes 512Mbits quad SPI nonvolatile flash, rich analog features such as dual SAR ADCs, DAC, Opamps, and comparators, and capacitive sensing interfaces including two buttons and a 5-segment slider.
My Prior Experience
I have had some prior experience with an an Infineon product, the PSoC62S2 Wi-Fi BT Pioneer kit, for an element14 design challenge. For this challenge, I did learn a great deal about PSoC and ModusToolbox firmware development on the M4 core, and hope to use this knowledge for this challenge. For those who are interested, my first blog entry:Blog#1 - BPM Display - Introduction contains an introduction and will contain a list of links to the other blogs in the series. My idea for this challenge was to connect my Android based BPM breadboarded project to the PSoC62S2 kit via a UART connection. Then, using FreeRTOS Scheduling, Messaging, Triggers and Semaphores, sending the BPM values thru this pipeline. Then publishing the BPM values using the modified MQTT client example to AWS MQTT broker. Everything did not work for me on this challenge as I had hoped, which was a little disappointing. but I had a huge learning curve to get to implement my idea. I was able to acquire knowledge on the PSoC kit and ModusToolbox firmware development as well as FreeRTOS, UART, and MQTT/AWS implementation.
My IDEA
I will use both cores to implement my idea. One core will contain, a Barebones firmware Application and the other core will contain a freeRTOS based firmware application. The 2 cores will use IPC (Inter Process Communication) to communicate with each other. The freeRTOS firmware will act as a controller of the barebones firmware. The barebones firmware will get values from a sensor/peripheral included on the kit, and pass the telemetry data to the freeRTOS firmware on the other core. Then the data will be published to a Cloud service.
BLOGS Described
BLOG#1-Introduction
This blog is a landing page for the 5 blog series ,using the PSoC-62S4 Pioneer kit along with ModusToolbox version 3.0
BLOG#2-Design
Describes my idea and describes the Functional and Technical designs
Blog#3- Migrating an example MTB 2.x to version 3.x
This blog post describes my notes on my migration of the the GitHub - Infineon/mtb-example-psoc6-dual-cpu-ipc-pipes on the Infineon repo. This example demonstrates how to use the inter-processor communication (IPC) driver to implement a message pipe in PSoC 6 MCU. The pipe is used to send messages between CPUs.
BLOG#4-Testing,
Describes the Testing that I did to debug and unit test subsystems used in the implementation
BLOG#5-Implementation and Challenge Conclusion.
This blog presents the operation of my idea running on the PSoC62S4 kit. Describes how I implemented my idea on the PSoC62S4 kit
BLOG#1-Introduction |
Blog#2--Design |
Blog#3- Migrating an example MTB 2.x to version 3.x |
BLOG#4-Testing |
BLOG#5-Implementation and Challenge Conclusion |
Resources
Infineon Technologies has hosted a free webinar with Clark Jarvis, a software product marketing manager. Clark discusses the new development flows related to both the Cortex-M0+ and Cortex-M4 cores and new features of ModusToolbox 3.0. The webinar will provide helpful tips and tricks for leveraging ModusToolboxTm 3.0 with enhanced support for multi-core project workflows. The webinar was presented on November 10th 2022, and interested individuals can watch the recorded webinar supplied at this link. This isa must see
Top Comments