390 likes | 411 Views
Micrium’s μ C/OS for Makers A Hands-on Course. Class 2: The Micrium Maker Program. January 31, 2017 Charles J. Lord, PE President, Consultant, Trainer Blue Ridge Advanced Design and Automation. This Week’s Agenda. 1/30 Introduction to μ C/OS II/III 1/31 The Micrium Maker Program
E N D
Micrium’s μC/OS for Makers A Hands-on Course Class 2: The Micrium Maker Program January 31, 2017 Charles J. Lord, PEPresident, Consultant, TrainerBlue Ridge Advanced Design and Automation
This Week’s Agenda 1/30 Introduction to μC/OS II/III1/31 The Micrium Maker Program 2/1 Setting up our Development System 2/2 Writing Our Tasks and Establishing Scheduling 2/3Mutexes, Messages, and Semaphores, Oh My!
This Week’s Agenda 1/30 Introduction to μC/OS II/III1/31 The Micrium Maker Program 2/1 Setting up our Development System 2/2 Writing Our Tasks and Establishing Scheduling 2/3Mutexes, Messages, and Semaphores, Oh My!
Agenda Introduction What Is a Maker? Brief RTOS Introduction Free Commercial Embedded Software Free Professional-Grade Tools IoT Summary
Micriµm RTOS Education Debug Tools
Someone Who: • Has an idea for a new product or gadget • Learns by doing • Is a Hobbyist • Is an Inventor • Is a Hacker • Is in Startup Mode • In most cases: • Must minimize costs for tools, boards and embedded software • Is often a professional engineer (i.e. Maker Pro) working on an idea • Nights and Weekends
Example Hobbyist / Maker Projects • Smart Garage Door Opener • Weather Station • 3D Printer • Drone • Home Automation • R/C Vehicles • Robots • Games • Teaching Aids • IoT Question 1 – Working on hobby / entrepreneur projects?
Operating System vs Kernel • An operating system is a collection of software components that provides useful services to your application code • A kernel is a subset of an operating system Application File System GUI TCP/IP Kernel USB RTOS Bluetooth RS-232 Hardware
What is a Real-Time Kernel? • Software that manages the time of a CPU • Application is split into tasks • Each task has its own CPU registers • Each task has its own stack • Each task has its own priority • A task typically manipulates variables/arrays/etc. • A task can manage I/O devices Variables Arrays Structures (RAM) CPU Registers Task (Priority) Stack (RAM) I/O Devices (Optional)
Tasks in a Kernel-Based Application Task Each Task Task High Priority Task Event Task Importance Task Task Infinite Loop Task Low Priority Task
Most Kernels are Preemptive Via a kernel call, the ISR makes the high priority task ready Interrupt Occurs ISR completes and the kernel switches to the high-priority task ISR ISR The kernel switches to the low-priority task High-priority task Low-priority task Time
Free µC/OS-II Kernel for Makers • Available since 1999 • Book available from amazon.com • Real-time multitasking kernel • Works on just about any 8-, 16-, 32-, 64-bit CPUs and DSPs • Manages up to 250 tasks • Small footprint (5-20KB code, > 500B RAM) • Semaphores, queues, mutexes, event flags, etc. • Certified for safety-critical applications • Full source code download: https://www.micrium.com/download/µcos-ii-source-code/
Free µC/OS-III Kernel for Makers • Available since 2009 • Book available from amazon.com • Free book in PDF format: • Real-time multitasking kernel • Works on just about any 8-, 16-, 32-, 64-bit CPUs & DSPs • Unlimited number of tasks • Small footprint (6-24KB code, > 1KB RAM) • Semaphores, queues, mutexes, event flags, etc. • Certified for safety-critical applications • Full source code download: https://www.micrium.com/books/ucosiii/ https://www.micrium.com/download/µcos-iii-source-code/
FREE Commercial Embedded Software
FREE for makers, hobbyists, educators, students and startups • Includes: • µC/OS-III kernel • TCP/IP v4 and v6 (with DHCPc, DNSc, HTTPc, HTTPs, WebSocket, MQTTc, SMTPc, SNTPc, etc.) • USB-Host (with CDC, HID, MSC and FTDI classes) • USB-Device (with Audio, CDC, HID, MSC, PHDC and Vendor classes) • File System (FAT32, journaling, and drivers: SD, NAND, RAM disk, MSC) • Modbus (RS-232C/RS-485, ASCII and RTU, master and slave, etc.) • µC/Probe • Need to register (i.e. license to use for FREE) • Registration link: https://www.micrium.com/ucos_for_makers/
Does not include technical support … but: Free books (PDF): Online Documentation: 100s of example projects: Blogs: Application Notes: Videos: Training: https://www.micrium.com/books/ucosiii https://doc.micrium.com/display/welcome/Welcome https://www.micrium.com/downloadcenter/ https://www.micrium.com/blogs/ https://www.micrium.com/support/applicationnotes/ https://www.micrium.com/training/videos/ https://www.micrium.com/training/livetraining/
FREE Professional-Grade Tools Question 2 – Preferred tool chain(s) (IDEs)?
Tool Chain for Renesas RX – e2Studio • Eclipse-based • Supports all RX cores • C/C++ Compiler • Assembler • Linker • Debugger • µC/Probe proxy plug-in http://am.renesas.com/products/tools/ide/ide_e2studio/
Tool Chain for ARM – Atollic True Studio • Eclipse-based • Supports a wide range of devices • C/C++ Compiler • Assembler • Linker • Debugger • µC/Probe proxy plug-in http://timor.atollic.com/truestudio/
Tool Chain for ARM – Segger EmbeddedStudio • Multi-platform IDE (Windows, MAC OS and Linux) • Supports all ARM Cortex-M cores • C/C++ Compiler • Assembler • Linker • Debugger • µC/Probe compatible through J-Link debug probe https://www.segger.com/embedded-studio.html
µC/Probe • Windows-based universal dashboard • Gauges, graphs, indicators, LEDs, sliders, buttons, oscilloscope, kernel awareness • Work with ANY CPU • 8-, 16-, 32-, 64-bit and DSPs • Interface to target: • J-Link, CMSIS-DAP • Proxy through debuggers • RS232C, TCP/IP, USB • Free 1-year license for makers https://www.micrium.com/tools/ucprobe/software-and-docs/
µC/Probe Debugger Code Download .ELF Your Code Target (8, 16, 32, 64-bit & DSP) ANY Compiler Assembler Linker RTOS or No-RTOS µC/Probe Libraries .ELF JTAG SWD RS232C TCP/IP USBEtc.
Percepio – TraceAlyzer for µC/OS-III • Real-time kernel profiler • Works with µC/OS-III • Real-time recording • Works with µC/Probe • Cycle accurate profiling • Free version – limited features • Paid version – feature rich • TraceAlyzer for µC/OS-II: Q1-2017 https://www.micrium.com/tools/uctrace/overview/
Segger – SystemView for µC/OS-III • Real-time kernel profiler • Works with µC/OS-III • Continuous real-time recording • Requires Segger j-link • Live analysis • Cycle-accurate profiling • Free – no strings attached • SystemView for µC/OS-II: Q1-2017 https://www.segger.com/systemview.html
Amazon Web Services (AWS) – Cloud Provider https://aws.amazon.com/free Freedeveloper sandbox Device SDK Rules engine DynamoDB - NoSQL database Kinesis - Real-time data streaming Lambda - Execute scripts (Node.js, Python, Java) AWS IoT - Republish inside the broker S3 - Log to a file SNS - Send a notification (Email, SMS, etc.) SQS - Queue the message to be consumed by another service Kinesis Firehose - Stream large amounts of data directly to a bucket Etc.
MediumOne – Cloud Provider https://www.mediumone.com/product Free developer sandbox Identity management Real-time analytics Data storage Dashboard and visualization REST and MQTT API Workflows (Python scripts)
Renesas Wireless Demo Kit + MediumOne https://www.micrium.com/download/iot-m1-ywireless-rx111-smart-home-garage/ http://am.renesas.com/applications/boards_kits/device/YWIRELESS-RX111.jsp Renesas RX111 at 32 MHz 512K Flash / 64K SRAM Qualcomm GT202 WiFi Module on PMOD 4x PMOD Pre-Loaded Micrium Spectrum IoT solution MediumOne cloud
Renesas IoT Starter Kit + AWS or MediumOne https://www.micrium.com/aws-iot-starter-kit/ https://www.micrium.com/download/iot-m1-yrdkrx63n-smart-home-garage/ Renesas RX63N at 96 MHz 2MB Flash / 128KB SRAM Ethernet (PMOD-based WiFi module available) MicroSD 96x96 Graphics display (B&W) Build-in Segger j-link Smart Home Gateway IoT Demo: AWS Cloud Smart Garage Door IoT Demo: Medium One Cloud
ST – STM32F746 Discovery + AWS https://www.micrium.com/aws-iot-stm32f7-disco-shg/ ST Cortex-M7 at 216 MHz 1MB Flash / 340 KB SRAM 4.3” Color TFT display w/ touchscreen Ethernet (WiFi module available) MicroSD Build-in ST-Link Smart Home Gateway IoT Demo: AWS Cloud
Summary Question 3 – Attended a Renesas or other Micrium workshop?
Makers have access to: Freecommercial embedded software Freeprofessional grade tools Freecloud providers for IoT Low(or no) cost evaluation boards from semiconductor manufacturers LINK to register: https://www.micrium.com/ucos-for-makers/
This Week’s Agenda 1/30 Introduction to μC/OS II/III1/31 The Micrium Maker Program 2/1 Setting up our Development System 2/2 Writing Our Tasks and Establishing Scheduling 2/3Mutexes, Messages, and Semaphores, Oh My!
Please stick around as I answer your questions! • Please give me a moment to scroll back through the chat window to find your questions • I will stay on chat as long as it takes to answer! • I am available to answer simple questions or to consult (or offer in-house training for your company)c.j.lord@ieee.orghttp://www.blueridgetechnc.comhttp://www.linkedin.com/in/charleslordTwitter: @charleslordhttps://www.github.com/bradatraining