RoadTest: Enroll to Review ModusToolbox™ Software with the Infineon PSoC™ 62S2 Evaluation Kit
Author: ajayvishaal
Creation date:
Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: ESP32 Dev kits with BLE, Wifi support, Other Infineon Dev kits, STM32 dev kits
What were the biggest problems encountered?: Faced issues with getting started on Linux OS. In windows, It was easier and straight forward.
Detailed Review:
Introduction:
ModusToolbox is a software development environment developed by Cypress Semiconductor (now a part of Infineon Technologies) for designing and developing applications for various embedded systems, including their PSoC (Programmable System-on-Chip) devices. The Infineon PSoC 62S2 Evaluation Kit is a hardware platform based on the PSoC 62S2 device, which is a member of the PSoC 6 family of microcontrollers.
The PSoC family of microcontrollers is known for its flexibility and programmability. It combines analog and digital components with programmable logic, allowing developers to create custom digital and analog circuits to meet their application requirements. ModusToolbox provides a comprehensive set of tools and libraries for programming these devices.
Here are some key features and components of this combination:
ModusToolbox Software Development Environment: ModusToolbox provides an integrated development environment (IDE) that includes various tools for designing, coding, debugging, and testing applications for PSoC devices. It offers graphical design tools, code generation, and debugging capabilities to streamline the development process.
PSoC 62S2 Evaluation Kit: The Infineon PSoC 62S2 Evaluation Kit is a hardware platform that includes a PSoC 62S2 microcontroller. This microcontroller is built on an ARM Cortex-M4 core and includes various analog and digital peripherals, making it suitable for a wide range of applications. The evaluation kit provides various interfaces, sensors, and connectors for prototyping and testing purposes.
Software Libraries and Middleware: ModusToolbox offers a collection of software libraries and middleware components that can be used to accelerate the development of applications. These libraries provide pre-built functions and drivers for tasks like communication (UART, SPI, I2C), touch sensing, wireless connectivity (Bluetooth, Wi-Fi), and more.
Code Examples: The development environment usually comes with a variety of code examples and templates that can help developers quickly get started with programming the PSoC 62S2 device. These examples demonstrate various features and capabilities of the device, serving as a starting point for custom application development.
RTOS Support: If your application requires real-time operating system (RTOS) capabilities, ModusToolbox supports RTOS integration, allowing you to develop applications with multi-threading and task scheduling.
When working with the ModusToolbox Software and the Infineon PSoC 62S2 Evaluation Kit, you can expect a comprehensive set of tools and resources to aid in the development of embedded systems applications. These tools and the hardware platform enable you to leverage the flexibility and capabilities of the PSoC 62S2 microcontroller effectively.
Unboxing:
I wanna thank Element14 and Infineon for giving the opportunity to test and review the development board. I received the product in a neat packaging. The kit contained all the required things to get started with. The things includes:
{gallery}Unboxing |
---|
Installing ModusToolBox Software:
As soon I unpacked the kit, I started to search for the ModusToolBox Software and it's documentation. Initially, It was a bit difficult for me to get started with the documentation flow and the installation. But then I managed to grasp the flow and proceeded ahead with installation. ModeusToolBox software can be downladed here. The software is available for Windows, Linux and MacOS. The installation guide can be downloaded here.
Windows:
Direct installation of the ToolBox on the windows OS can be done simply by double-clicking the executable.
Linux:
In Linux, once zip file of the ToolBox is downloaded, the folder has to be extracted and placed into the Home directory.
After this step, according to the installation guide some bash scripts has to be executed before running the application.
• OpenOCD: /home/<user>/ModusToolbox/tools_3.1/openocd/udev_rules/install_rules.sh
• AIROC Bluetooth® Boards: /home//ModusToolbox/tools_3.1/driver_media/install_rules.sh
• Firmware Loader: /home/<user>/ModusToolbox/tools_3.1/fw-loader/udev_rules/install_rules.sh
• Post-Install Script: /home/<user>/ModusToolbox/tools_3.1/modus-shell/postinstall
• IDC Registration Script: /home/<user>/ModusToolbox/tools_3.1/idc_registration-3.1.0.bash
But when I tried to execute the first command, My system screen became blank and I've to force restart it to bring it back to normal state. I tried it on Ubuntu 20.04. I checked the bash script, but still Im unable to debud the issue. But I got really scared because of these post installation scripts.
Launching the Application (Linux):
So, I just skipped the above steps and proceeded ahead with launching the application(I had all the prerequisite programs installed in my system). The compiled binary of the application can be found inside the following path:" /home/<user>/ModusToolbox/ide_3.1/eclipse/modustoolbox-eclipse "
I launched the application by double clicking the executable. It launched normally similar to how it launches on windows, no issues encountered. Then I proceeded ahead with creating a new ModusToolBox application using the BSP(Board Support Package). Now, the issues were encountered. I suspect it's because of skipping the post installation steps. There were only 3 major issues. make, bash and git dependencies were not found in the Tools directory. But it's already installed in my system. But to fix it, I've created the "bin" directory inside "tools_3.1/modus-shell/" and copied the binaries of make, git and bash from the root filesytem of the OS. This resolved the dependency error. Then I was able to load the boards list and it's examples in the BSP window and able to select and download the required examples to test.
#1 - Example:
The board comes with a default LED blink code, with serial pause/resume control.
Example 1 |
---|
#2 - Example:
The next example I tried is CAPSENSE touch button and slider RTOS.
#3 - Example:
The next example I tried is CAPSENSE touch button and slider RTOS with BLE and AIROC Bluetooth Connect App. This was something interesting as for this demo, I got chance to try AIROC Bluetooth Connect App by Infineon. The app is designed to connect to the Bluetooth device and get the data real-time.
Answering the Sponser's questions:
Test the getting started experience of ModusToolbox:
Yes, the resources are mentined in the product page as required.
I feel like the documentation is not suitable for a very begginer person.
User Guides and Github Documentations
All the examples are really good and helpful for developers to get started with their own design.
Explore the flexibility of ModusToolbox:
I've read the documentaions for integrating the MTB library with VsCode and other softwares. But I got comfortable with the default Eclipse IDE based MTB software.
I tried the RTOS examples which uses the FreeRTOS
Default one with Eclipse IDE
Working with the PSoC 62S2 Evaluation Kit and ModusToolbox:
The BSP was very helpful to select the proper chipset and configurations according to the dev kit and try examples accordingly.
The software by default has a Quick Panel tab which is very helpful to program and debug the board easily.
Conclusion:
There are lot of examples which helps the developers to get an in-depth idea of how to access the pheripherals in the dev kit. I've tried some of the examples. The board is easy to use for the developer who have experience with MCU dev kits. But it'll be bit difficult for beginners. But the documentation is good and will be very helpful for the beginners to get started with. I'm yet to explore the multi threading capabilities of the board, also I'll be trying this with some real-time application soon and update here.