STM32 Microcontroller and FreeRTOS Development The scheduling algorithm is the software routine that decides which ready state task to transition into the running state. Round Robin: this scheduler will ensure tasks that share priority are selected to enter the running state in turn. The Round Robin scheduling algorithm in FreeRTOS does not guarantee time is…
Galleries
TI C2000: Analog Subsystem – Digital-to-Analog Converter (DAC)
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Digital-to-Analog Converter (DAC) Buffered DAC Block Diagram Example: DACOUTB Digital-to-Analog Converter (DAC) The F2837xD includes three buffered 12-bit DAC modules that can provide a programmable reference output voltage capable of driving an external load. Values written to the DAC can take effect immediately or be synchronized with…
TI C2000: Interrupts
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Interrupt Sources Interrupt Processing IFR, IER, INTM Peripheral Interrupt Expansion (PIE) PIE Block Initialization Interrupt Signal Flow Dual-Core Interrupt Structure Interrupt Response and Latency TMS320F28x7x Interrupt Sources The internal interrupt sources include the general purpose timers 0, 1, and 2, and all of the peripherals on the…
STM32 FreeRTOS: Task API Functions
STM32 Microcontroller and FreeRTOS Development Task Control Block xTaskCreate() xTaskCreate() creates a new FreeRTOS task using dynamically allocated memory. It specifies the task function, task name, stack size, input parameter, priority, and an optional task handle for controlling the task later. The function returns pdPASS when the task is created successfully or an error value…
STM32 FreeRTOS: Introduction to FreeRTOS
STM32 Microcontroller and FreeRTOS Development FreeRTOS is a lightweight, deterministic real-time operating system (RTOS) designed for microcontrollers and small embedded processors where timing, reliability, and resource efficiency are critical. Unlike general-purpose operating systems, FreeRTOS provides a minimal kernel focused on predictable task scheduling, fast interrupt response, and low memory footprint, making it well suited for…
TI C2000: Analog Subsystem – Analog-to-Digital Converter (ADC)
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication ADC Subsystem ADC Module Block Diagram ADC SOCx Functional Diagram ADC Triggering ADC Ping-Pong Triggering ADC Conversion Priority Example – Round Robin Priority Example – High Priority Example – Round Robin Burst Mode with High Priority ADC Post Processing Block ADC Clocking Flow ADC Converter Registers ADC…
TI C2000: General-Purpose I/O (GPIO) and PinMux
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication General Purpose Digital I/O GPIO Input Qualification GPIO Input X-Bar GPIO Output X-Bar External Interrupts Example: GPIO Bitfield & Driverlib TMS320F28x7x General Purpose Digital I/O The F2837xD device incorporates a multiplexing scheme to enable each I/O pin to be configured as a GPIO pin or one of…
TI C2000: System Initialization
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Oscillator / PLL Clock Module Dual-Core System Clock Watchdog Timer Low Power Modes Register Protection TMS320F28x7x Oscillator / PLL Clock Module The device clock signals are derived from one of four clock sources: Internal Oscillator 1 (INTOSC1) Internal Oscillator 2 (INTOSC2) External Oscillator (XTAL) Auxiliary Clock Input…
TI C2000: Reset and Boot Process
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Reset Sources Dual-Core Boot Process Reset – Bootloader Emulation Boot Mode Stand-Alone Boot Mode Reset Code Flow Emulation Boot Mode using GEL main() Peripheral Software Reset Registers TMS320F28x7x Reset Sources The device has various reset sources, but in general resets on CPU1 will reset the entire device…
TI C2000: Peripheral Register Header Files
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Register Programming Model: Direct Register Access, BitField, DriverLib Header File Structure Naming Conventions Header Files Peripheral Header Files Global Variable Definitions File Mapping Structures to Memory The purpose of the F2837xD C-code header files is to simplify the programming of the many peripherals on the F28x device….