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 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 several peripheral I/O signals. Sharing…
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….
TI C2000: Memory-Map and and Linker Command File
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication TMS320F28x7x Memory Map TMS320F2837xD Memory Map TMS320C28x C/C++ COFF and EABI Data Types Linker Command File Linker Command File – SECTIONS Linker Command File – Example 2837xD_FLASH_Lnk_cpu1.cmd 2837xD_FLASH_Lnk_cpu1_cla1.cmd 2837xD_FLASH_Lnk_cpu1_cla1_ipc.cmd 2837xD_FLASH_Lnk_cpu2_cla1_ipc.cmd TMS320F28x7x Memory Map The F28x7x MCU utilizes a memory map where the unified memory blocks can be…
TI C2000: TI C2000 Architecture Overview
TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication Device Comparison TMS320F2837xD/F2838xD Dual-Core Block Diagram Core Block Diagram CPU Internal Bus Structure CPU Pipeline Math Accelerators: Viterbi / Complex Math Unit (VCU-II) Math Accelerators: Trigonometric Math Unit (TMU) The TI C2000 is ideal for applications combining digital signal processing, microcontroller processing, efficient C code execution, and…