Starter Guide for STM32Cube™ and Eclipse ThreadX®




Print Price: $34.95

By Sean D. Liming and John R. Malin

Use the STM32Cube tools to get ThreadX up and running on STM32 MCUs and connect to the Cloud.

The big push on cloud computing and AI has shifted a focus to big server farms, high-end silicon processors, and a different set of programming processes. The real key to the success of these technologies is all the little processors and MCU platforms that manage the much-needed data flow. With two basic driving questions, Starter Guide for STM32Cube™ and Eclipse ThreadX® dives into the STM32Cube tools from STMicroelectronics and demonstrates how ThreadX, along with the Azure IoT C SDK, can connect and send data to the cloud. There are 17 chapters with 16 hands-on projects. Topics include:

  • STM32Cube tools and STM32 development boards overview
  • Coverage of the major ThreadX components: ThreadX kernel, FileX, and NetX Duo
  • Azure IoT C SDK integration into a STM32Cube project
  • Dual-Core Development
  • Introduction to Graphical User Interface Development Options
Note: The book requires a number of software and hardware devices to complete the different projects. Most of the software is free, but the hardware platforms have to be purchased. Chapters 2 and 3 cover all software and hardware items needed to complete the projects.

 

Book Details

Printed Edition: 338 Pages
Publisher: Annabooks (August 2024)
Language: English
ISBN-13: 979-8-9854172-3-4


 

 Book Download

The book files are broken up into 3 Project zip files and 1 Exercise Zip file:

SG-STM32-ThreadX-Set1.zip

SG-STM32-ThreadX-Set2.zip

SG-STM32-ThreadX-Set3.zip

Exercises.zip
 

 

 

Table of Contents:

1    SILICON TO CLOUD    
1.1    STM32 AND STM32CUBE TOOLS    
1.2    THREADX BECOMES AZURE RTOS AND THEN BECOMES ECLIPSE THREADX®    
1.3    WHAT THIS BOOK COVERS: DRIVING QUESTIONS    
1.4    SOURCE CODE LICENSE    
1.5    CAUTION ON TOOLS AND CODE CHANGES    
1.6    PROJECTS DOWNLOAD    
1.7    SUMMARY: DIVING RIGHT IN AND FEEDBACK    
2    DEVELOPMENT KITS    
2.1    NUCLEO SERIES AND EXPANSION MODULES.    
2.2    DISCOVERY SERIES    
2.3    EVALUATION BOARDS    
2.4    ST-LINK IN-CIRCUIT DEBUGGER/PROGRAMMER    
2.5    DEVELOPMENT BOARDS USED IN THE BOOK    
2.6    SUMMARY: THE RIGHT DEVELOPMENT BOARD FOR YOUR PROJECT    
3    TOOL INSTALLATION
3.1    STM32CUBEMX    
3.2    STM32CUBEIDE
3.3    STM32CUBE PACKAGE REPOSITORY CHECK    
3.4    DOWNLOAD DRIVER AND SAMPLE PROJECTS FOR TARGET BOARDS    
3.5    STM32CUBEPROG    
3.6    STM32CUBEMONITOR AND MCU FINDER (OPTIONAL)
3.7    SERIAL TERMINAL PROGRAM: ABCOMTERM    
3.8    TRACEX    
3.9    TOUCHGFX DESIGNER (OPTIONAL)    
3.10    GUIX STUDIO (OPTIONAL)    
3.11    GIT    
3.12    DOWNLOAD GETTING STARTED EXAMPLES (GSE)    
3.13    DOWNLOAD STM32CUBEIDE EXAMPLE    
3.14    DOWNLOAD THREADX COMPONENTS    
3.15    OTHER TOOLS TO CONSIDER    
3.16    SUMMARY: LOW COST TO GET STARTED    
4    STM32 CORTEX PRIMER    
4.1    DIFFERENT MCUS DIFFERENT ARCHITECTURES    
4.2    MEMORY MAP    
4.3    START-UP    
4.4    CLOCKS AND TIMERS    
4.5    DEVELOPMENT KIT DOCUMENTATION    
4.6    SUMMARY: IT IS ALL IN THE DETAILS    
5    PROJECT 1: BLINKING LED APPLICATION NO RTOS    
5.1    PART 1: INITIATE A BLINKING LED PROJECT 1 WITH STM32CUBEMX    
5.2    PART 1: PROJECT SET UP IN STM32CUBE IDE    
5.3    PART 1: MODIFY THE MAIN.C TO BLINK THE LED WITH THE HAL FUNCTIONS    
5.4    PART 1: DEBUG THE APPLICATION ON THE BOARD    
5.5    PART 2: INITIATE THE BLINKING LED PROJECT 2 WITH STM32CUBEMX    
5.6    PART 2: PROJECT SETUP IN STM32CUBEIDE    
5.7    PART 2: MODIFY MAIN.C TO BLINK AN LED USING HAL FUNCTIONS    
5.8    PART 2: DEBUG THE APPLICATIONS ON THE BOARD    
5.9    SUMMARY: FIRST LOOK AT THE TOOLS    
6    PROJECT 2: THREADX BLINKING LED APPLICATION    
6.1    INITIATE THE PROJECT WITH STM32CUBEMX    
6.2    THREADX FILE ADDITIONS    
6.3    EDIT THE CODE    
6.4    DEBUG THE APPLICATIONS ON THE BOARD    
6.5    ADD A SECOND THREAD    
6.6    SUMMARY: FIRST THREADX APPLICATION    
7    PROJECT 3: THREADS AND TRACEX    
7.1    ADD THE TRACEX SOFTWARE PACKAGE    
7.2    EDIT THE CODE TO ADD THE TRACE BUFFER    
7.3    DEBUG THE APPLICATION AND CAPTURE THE TRACE BUFFER    
7.4    VIEW BUFFER DATA IN TRACEX    
7.5    SUMMARY: A VIEW INTO APPLICATION RUNNING    
8    PROJECT 4: BAROMETER -NO RTOS    
8.1    INITIATE THE PROJECT WITH STM32CUBEMX    
8.2    MEMS DRIVERS VERSUS EMBEDDED FIRMWARE PACKAGE DRIVERS    
8.2.1    Add the MEMS1 Drivers    
8.2.2    Compare Source Code    
8.2.3    Remove the MEMS1 Drivers    
8.2.4    Add the Embedded Firmware Drivers    
8.3    EDIT THE CODE
8.4    DEBUG THE APPLICATIONS ON THE BOARD    
8.5    SUMMARY: CUSTOMIZING THE PROJECT
9    PROJECT 5: NETX DUO   
9.1    RUN THE EXAMPLE PROJECT   
9.1.1    Import the Workspace Project   
9.1.2    Build and Debug the Ping Project   
9.2    EXAMPLE AND SOFTWARE PACKAGE RESEARCH   
9.3    NETX DUO COMPONENT ADD-ONS   
9.4    INITIATE THE PROJECT WITH STM32CUBEMX   
9.5    ADD NETX DUO FROM STM32CUBEIDE EXAMPLES   
9.6    ADD THE WI-FI DRIVER   
9.7    SET THE INCLUDE PATHS   
9.8    EDIT THE CODE   
9.8.1    Create a Wi Fi Setup File   
9.8.2    Initialize NetX Duo   
9.8.3    Add Call to initialize Wi-Fi   
9.8.4    Define printf() and scanf() calls to go out and in the debug port   
9.8.5    Add Random Number Generator Code   
9.9    BUILD AND DEBUG        
9.10    SUMMARY: ONE STEP CLOSER TO THE CLOUD
10    PROJECT 6: AZURE IOT CENTRAL CONNECTION   
10.1    REVIEW: THE TWO-SAMPLE AZURE RTOS PROJECTS.   
10.2    INITIATE THE PROJECT WITH STM32CUBEMX   
10.3    ADD SENSOR AND WIFI DRIVER SOURCE CODE   
10.4    ADD MISSING NETX DUO ADDONS AND SEPARATE THE SAMPLE   
10.5    EDIT THE CODE FOR MAIN.C   
10.6    ADD DEFINES TO NX_PORT.H   
10.7    ADD THE AZURE IOT SAMPLE SOURCE CODE FROM THE NETX DUO COMPONENT DOWNLOAD   
10.8    CREATE AZURE IOT CENTRAL APPLICATION   
10.9    BUILD AND DEBUG   
10.10    SUMMARY: QUESTION ANSWERED  




 
 
11    PROJECT 7: FILEX   
11.1    USING RAM, CREATE PROJECT PART 1 WITH STM32CUBEMX   
11.2    FILEX ADDITIONS TO THE PROJECT   
11.3    WRITING THE APPLICATION.   
11.4    DEBUG THE APPLICATIONS ON THE BOARD   
11.5    USING NOR FLASH, CREATE PROJECT PART 2 WITH STM32CUBEMX   
11.5.1    Why not use the STM32L4S5 Discovery Kit?   
11.5.2    Moving forward with STM32U5 Discovery Kit   
11.6    FILEX AND LEVELX ADDITIONS TO THE PROJECT   
11.7    WRITING THE APPLICATION.   
11.8    DEBUG THE APPLICATIONS ON THE BOARD   
11.9    SUMMARY: STORAGE – DETAILS IN THE SETUP
12    PROJECT 8: NUCLEO-H723 NETX DUO   
12.1    CREATE A PROJECT WITH STM32CUBEMX   
12.2    WRITING THE APPLICATION.   
12.3    MODIFYING THE LINKER SCRIPT   
12.4    DEBUG THE APPLICATIONS ON THE BOARD   
12.5    SUMMARY: ALL THE SMALL THINGS   
13    PROJECT 9: DUAL-CORE   
13.1    CREATE DUAL-CORE WITH STM32CUBEMX   
13.2    MODIFY THE MAIN.C FILES   
13.3    SETTING UP THE DEBUG CONFIGURATION FOR BOTH PROJECTS   
13.4    RUNNING THE DEBUGGER   
13.5    ADD AZURE RTOS TO BOTH CORES   
13.5.1    Project Changes   
13.5.2    Modify the Source Code   
13.5.3    Debug the Code   
13.6    SHARED MEMORY EXAMPLE   
13.7    SUMMARY: TWO CORES BETTER THAN ONE   
14    PROJECT 10: THREADX AND OPENAMP   
14.1    CREATE THE OPENAMP PROJECT WITH STM32CUBEMX   
14.2    MODIFY THE SOURCE CODE   
14.2.1    Apply a Patch   
14.2.2    CM4 Subproject   
14.2.3    CM7 Subproject   
14.3    DEBUG THE CODE   
14.3.1    Debug Set Up   
14.3.2    Running the Debugger   
14.4    SEND DATA FROM SLAVE TO MASTER   
14.5    SUMMARY: DUAL-CORES WORKING TOGETHER
15    GRAPHICAL USER INTERFACE INTRODUCTION
15.1    WHERE IS GUIX IN STM32CUBE AND WHAT IS TOUCHGFX
15.1.1    GUIX and TouchGFX Similarities   
15.1.2    GUIX   
15.1.3    TouchGFX   
15.2    PROJECT 11 CREATE PROJECT IN TOUCHGFX DESIGNER   
15.2.1    Create the IDE in TouchGFX Desinger   
15.2.2    Edit the Code
15.2.3    Run the Code with the Debugger
15.3    PROJECT 12 CREATE A GUIX APPLICATION
15.3.1    Final GUIX Setup Steps   
15.3.2    Create a GUI using GUIX Studio
15.3.3    Building the Libraries   
15.3.4    Creating a Win32 Application
15.4    GUIX INTEGRATION INTO STM32CUBEIDE PROJECT   
15.4.1    Rebuild the GUIX Application for the Processor   
15.4.2    Additional Changes to the Project   
15.4.3    Interesting LCD Testing Results   
15.5    SUMMARY: THE TALE OF TWO GUI APPROACHES   
16    MXCHIP® IOT DEV KIT   
16.1    MXCHIP IOT DEV KIT OVERVIEW   
16.2    GETTING STARTED EXAMPLE FOR MXCHIP IOT DEV KIT REVIEW   
16.3    PROJECT 13 SENSORS, LEDS, BUTTONS, AND DISPLAY: CREATE THE PROJECT WITH STM32CUBEMX   
16.3.1    Enabling the I/O   
16.3.2    Enable Azure RTOS ThreadX Software Package   
16.3.3    Name the Project and Generate the Code   
16.3.4    Add the Drivers to the Project   
16.3.5    Edit the Driver Code   
16.3.6    Final code edits   
16.3.7    Build and Debug with ST-LINK OpenOCD   
16.4    PROJECT 14: CLOCK CONFIGURATION CHANGES   
16.5    PROJECT 15: ADD WIFI AND NETX DUO   
16.5.1    Enable Azure RTOS NetX Duo Software Package   
16.5.2    Add the Driver to the Project   
16.5.3    Add Source Files from the Getting Started Example   
16.5.4    Edit the code   
16.5.5    Build and Debug the WiFi Additions   
16.5.6    WiFi Investigation   
16.6    PROJECT 16: BACK OUT WIFI CHANGES AND MODIFY CODE A LITTLE MORE   
16.6.1    Back out the WiFi Changes   
16.6.2    Modify the Code   
16.6.3    Build and Debug the Updated Project   
16.7    SUMMARY   
17    FINAL REVIEW   
17.1    SUPPORT AND THE ST COMMUNITY   
17.2    SUMMARY OF STM32CUBE AND STM32 DEVELOPMENT HARDWARE   
17.3    SUMMARY OF THREADX (AZURE RTOS) AND AZURE IOT C SDK   
17.4    FINAL SUMMARY   
A    REFERENCES   
B    INDEX   
 





 
   

Please review our refund policy before buying.