mikroc-arm-setup-v620.zip
安装程序 v620
mikroC PRO for ARM is a full-featured ANSI C compiler for ARM Cortex-M0™, Cortex-M3™ and Cortex-M4™ devices. ... It features intuitive IDE, powerful compiler with advanced SSA optimizations, lots of hardware and software libraries, and additional tools that will help you in your work.
https://www.mikroe.com/mikroc-arm
Energy Optimization Tools for Ultra-Low-Power Microcontrollers.pdf
The "ULP Need-to-know" List
1. Know the application, its basic operation, features, and the available energy budget.
2. Know the features and parameters of the energy source.
3. Know the features of the MCU:
1. Power Management & Clock System
2. ULE peripheral features, strength and weakness
3. Power Modes and their energy efficient use
Some General ULP Design Recommendations
- Terminate Unused GPIO
- Use Low Power Modes
- Leverage Interrμpts
- Use timers, not while() loops
- Leverage DMA for data transfers
Linux Kernel and Driver Development Training.pdf
BeagleBone Black
▶ Texas Instruments AM335x (ARM Cortex-A8
CPU)
▶ SoC with 3D acceleration, additional
processors (PRUs) and lots of peripherals.
▶ 512 MB of RAM
▶ 4 GB of on-board eMMC storage
▶ Ethernet, USB host and USB device,
microSD, micro HDMI
▶ 2 x 46 pins headers, with access to many
expansion buses (I2C, SPI, UART and more)
▶ A huge number of expansion boards, called
capes. See
http://elinux.org/Beagleboard:
BeagleBone_Capes.
Mastering the FreeRTOS™ Real Time Kernel.pdf
FreeRTOS is solely owned, developed and maintained by Real Time Engineers Ltd.
FreeRTOS is ideally suited to deeply embedded real-time applications that use microcontrollers or small microprocessors.
Soft real-time requirements are those that state a time deadline—but breaching the deadline would not render the system useless.Hard real-time requirements are those that state a time deadline—and breaching the deadline would result in absolute failure of the system.FreeRTOS is a real-time kernel (or real-time scheduler) on top of which embedded applications can be built to meet their hard real-time requirements.
embedded-linux-slides.pdf
A program is considered free when its license offers to all its
users the following four freedoms
▶ Freedom to run the software for any purpose
▶ Freedom to study the software and to change it
▶ Freedom to redistribute copies
▶ Freedom to distribute copies of modified versions
Getting Started With EEMBC® ULPBench™ on MSP-EXP430FR5969-slaa650a.pdf
This document uses the MSP-EXP430FR5969 LaunchPad development kit as the target
evaluation module (EVM) for performing the benchmark. ULPBench is a EEMBC benchmark providing an
industry-standard method to measure ultra-low-power capabilities of MCUs.
ULPBench - Beyond the Data Sheets of Ultra-Low-Power MCU.pdf
ULPBench - "Ultra-low power" (ULP)
1. There are different software tests for the comprehensive measurement of the microcontroller’s efficiency.
2. There is the so-called EEMBC EnergyMonitor, consisting of the EnergyMonitor board to make the physical energy consumption measurements.
Preparing for the ULPBench Test Measurements
Obtain the EnergyMonitor hardware from EEMBC
Register the EnergyMonitor at the EEMBC website
Accept the license agreement terms, and confirm registration by e-mail received
After completing the registration, download the ULPBench software (ulp_1.1.11.tgz)
Install the software
Connect the USB port of the EnergyMonitor Board (Figure 1) with a USB port on the PC (a dedicated USB hub is preferred). Note: the USB driver must be manually installed because the USB driver is not recognized by the PC. The appropriate drivers are located in the /bin/USB_CDC folder.
Connect the terminals +3 V (VCC) and ground (GND) to the test board (DUT).
Hardware.zip
BOOSTXL-EDUMKII Hardware Design Files v1.00.02
Bill of Material and Schematic
Interfacing C-Programs with ARM Core Microcontrollers.zip
TI 培训
EABI
Word Size and Data Type
Pointer
Memory
Alignment
Endianness
Register
Register definition file
TI-RTOS - Texas Instruments Wiki.pdf
TI-RTOS contains the following components:
SYS/BIOS.
Drivers.
NDK.
UIA.
XDCtools.
Device Specific Libraries
TivaWare
MWare.
MSPWare.
CC32xx.
CC13xx/CC26xx.
Learn_Electronics_Checklist.pdf
10 Simple Steps To Learn To
Build Your Own Ideas With
Electronics
If your goal is to be able to build your own ideas
with electronics, then this checklist is for you.
Using TM4C12x Devices Over JTAG Interface.pdf
IMPORTANT: 4.5 Using an External Standalone Debug Probe With EK-TM4C123GXL
how to use the JTAG interface on the TM4C12x
LaunchPad™ for debugging the on-board microcontroller using an external debugger, or by using the onboard
debugger for debugging an off-board microcontroller.
A Guide to Debouncing.pdf
系统分析开关抖动问题并从软硬件提供解决方案。
Jack Ganssle has written over 600 articles in Embedded Systems Programming, EDN, and other
magazines. His five books, The Art of Programming Embedded Systems, The Art of Developing
Embedded Systems, The Embedded Systems Dictionary, The Firmware Handbook, and
Embedded Systems, World Class Designs are the industry’s standard reference works
How-To-Build-A-Portable-USB-Charger.pdf
Build Your Own Portable USB Charger
The charger works like a 500 mA iPhone charger and will work with most
modern phones.
Basic-Electronic-Components.pdf
A SIMPLE INTRODUCTION TO THE MOST COMMON COMPONENTS
USED IN ELECTRONICS
LED, resistor, switch Capacitor, Transistor, Inductor, IC etc.
getting_started_in_kicad.pdf
KiCad is an open-source software tool for the creation of electronic schematic diagrams and PCB artwork. KiCad can be considered mature enough to be used for the successful development and maintenance of complex electronic boards.
Make Your First Printed Circuit Board.pdf
Make Your First Printed Circuit Board using KiCAD
Step by step instructio on how to make it.
Tiva_C_Series_LaunchPad.pptx
Getting Started With the Tiva™ C Series TM4C123G LaunchPad Workshop
Hadoop权威指南 样章
中文样章
Hadoop in action简介
Hadoop和MapReduce和编写一个基本的MapReduce程序。
Unit Testing C_C++ Code_ When to Mock.pdf
Useful questions to determine whether or not to mock
- Is the real collaborator a source of risk for the stability of my tests?
- Is it difficult to initialize the real collaborator?
- Is it possible to verify the state of the collaborator after the test, to decide the test status?
- How long will it take for the collaborator to respond?
3 Straightforward Reasons to Mock
1. Collaborator not yet implemented or still under development
2. Hardware independence
3. Fault injection
Configure RTX v5.pdf
System Configuration covers system-wide settings for the global memory pool, tick frequency, ISR event buffer and round-robin thread switching.
Thread Configuration provides several parameters to configure the Thread Management functions.
Timer Configuration provides several parameters to configure the Timer Management functions.
Event Flags Configuration provides several parameters to configure the Event Flags functions.
Mutex Configuration provides several parameters to configure the Mutex Management functions.
Semaphore Configuration provides several parameters to configure the Semaphores functions.
Memory Pool Configuration provides several parameters to configure the Memory Pool functions.
Message Queue Configuration provides several parameters to configure the Message Queue functions.
Event Recorder Configuration provides several parameters to configure RTX for usage with Event Recorder.
RL-ARM User's Guide (MDK v4)_ Technical Data.pdf
技术参数
RTX内核内存使用,比较ARM7/9和CortexM
Description ARM7™/ARM9™ Cortex™-M
Defined Tasks Unlimited Unlimited
Active Tasks 250 max 250 max
Mailboxes Unlimited Unlimited
Semaphores Unlimited Unlimited
Mutexes Unlimited Unlimited
Signals / Events 16 per task 16 per task
User Timers Unlimited Unlimited
Code Space <4.2 Kbytes <4.0 Kbytes
RAM Space for Kernel 300 bytes +
80 bytes User Stack
300 bytes +
128 bytes Main Stack
RAM Space for a Task TaskStackSize + 52 bytes TaskStackSize + 52 bytes
RAM Space for a Mailbox MaxMessages * 4 + 16 bytes MaxMessages * 4 + 16 bytes
RAM Space for a Semaphore 8 bytes 8 bytes
RAM Space for a Mutex 12 bytes 12 bytes
RAM Space for a User Timer 8 bytes 8 bytes
Hardware Requirements One on-chip timer SysTick timer
User task priorities 1 - 254 1 - 254
Task switch time <5.3 μsec @ 60 MHz <2.6 μsec @ 72 MHz
Interrupt lockout time <2.7 μsec @ 60 MHz Not disabled by RTX
Stack Requirements.pdf
Keil RTX v5 kernel functions are executed in handler mode (using PendSV/SysTick/SVC) and the tables below lists the maximum stack requirements for the Main Stack (MSP) that the user should consider.
The stack for the osKernelStart function is referred as "Startup" and RTX v5 uses 32 bytes (with Arm Compiler). However the user should also consider additional stack that might be allocated by the 'main' function of the embedded application. The following picture shows a worst-case memory allocation of the Main Stack.
Arm Compiler ARMCC V6.10
Arm Compiler ARMCC V5.06
EventRecorderDebug.zip
µVision User's Guide_ Debug Commands
_component_viewer_events
Using Event Recorder
Redirecting ITM Output to third-party Applications
Debugging EventRecorder
Determining the stack usage of applications.pdf
Determining the required stack sizes for a software project is a crucial part of the development process. The developer aims to create a stable application, while not wasting resources. This application note explains methods that help finding the optimal setting while looking specifically on the stack load caused by interrupt service routines (ISRs) in RTOS applications running on an Arm Cortex-M based processor.
Stacks are memory regions where data is added or removed in a last-in-first-out (LIFO) manner. In an RTOS, each thread has a separate memory region for its stack. During function execution, data may be added on top of the stack; when the function exits, it removes that data from the stack.
Energy optimization of a battery-powered device.pdf
Energy optimization of a battery-powered device Optimizing embedded applications for overall efficiency should be an integral part of the development process as it is important to understand how peripherals, software algorithms, and power saving modes work together.
This application note describes the power consumption analysis of an L-Tek FF1502 Bluetooth Low Energy (BLE) beacon with ULINKplus. Beacons are typically low power devices, which sleep most of the time and wake-up briefly to broadcast a message to nearby portable electronic devices (such as mobile phones for example). We’ll
show how to analyze the battery lifetime of an application running on the beacon by using the ULINKplus debug adapter that enables high-precision power analysis together with Arm® Keil® MDK. The findings are used to improve the hardware design and to implement software changes that lead to reduced power consumption and longer battery life.
In this application note, we show how to use ULINKplus to dramatically reduce the power consumption of a battery-driven IoT application. Using this versatile debug probe together with the latest debug features of µVision, it is possible to increase the battery lifetime from just under a year (358 days) to nearly two and a half years (863 days).
EventRecorderDebuggingNetworkIssue.pdf
This application is based on a real-life performance issue observed in a network example for an STM32H7 evaluation board.
September 2018_ Testing Embedded Systems - Embedded Artistry.pdf
流行测试framework比较
September 2018: Testing Embedded Systems
Testing Embedded Systems
1. Unit testing
2. Debugger-based testing using metal.test
3. Phil Koopman’s lectures on embedded software quality and testing
Stellaris Launchpad with OpenOCD and Linux.pdf
In this project we will walk you through the process of building OpenOCD on Linux to work with Launchpad, debugging a project with GDB, and modifying the project
behavior. OpenOCD opens up debug level development with GDB and GNU tools, but the current stable version does not have Launchpad support. Using this method of
building the stable version with a patch provided by Spencer Oliver, we will be able to run OpenOCD with Launchpad support.
How+to+Use+Ceedling+for+Embedded+Test-Driven+Development.pdf
Welcome
Maybe you've heard of Test-Driven Development (TDD), and maybe you've even thought it seemed like a reasonable idea. If you haven't tried TDD yet though, you really should.
This guide contains step-by-step examples to get you started test driving in C, especially for embedded software applications.
We'll look at how to use the unit test framework called Ceedling to help us do this. In the first example, we'll see how to create tests and write the code to make them pass. In the second example we look at mocking, and learn how to use it simulate our hardware. All the tests in these examples compile and run on your host PC (with GCC), with no target hardware needed.
ValvanoWareMSP432.zip
These examples accompany the book
"Embedded Systems: Introduction to the MSP432 Microcontroller",
ISBN: 978-1512185676, Jonathan Valvano, copyright (c) 2015
Copyright 2015 by Jonathan W. Valvano, valvano@mail.utexas.edu
You may use, edit, run or distribute these file
s as long as the above copyright notice remains
THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
VALVANO SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL,
OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
For more information about my classes, my research, and my books, see
http://users.ece.utexas.edu/~valvano/
October 14, 2015
ValvanoWareTM4C123.zip
Embedded System projects
These examples accompany the books
"Embedded Systems: Introduction to ARM Cortex M Microcontrollers",
ISBN: 978-1469998749, Jonathan Valvano, copyright (c) 2016
"Embedded Systems: Real Time Interfacing to Arm Cortex M Microcontrollers",
ISBN: 978-1463590154, Jonathan Valvano, copyright (c) 2016
"Embedded Systems: Real-Time Operating Systems for ARM Cortex M Microcontrollers",
ISBN: 978-1466468863, Jonathan Valvano, copyright (c) 2016
Copyright 2015 by Jonathan W. Valvano, valvano@mail.utexas.edu
You may use, edit, run or distribute these file
s as long as the above copyright notice remains
THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
VALVANO SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL,
OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
For more information about my classes, my research, and my books, see
http://users.ece.utexas.edu/~valvano/
September 14, 2016
Embedded Systems Education2015.pdf
•
Market share
•
Complexity
•
Parallelism
•
Verification
•
Using ARM Cortex M4
•
From the Basics to Applications
•
Internet of Things
EmbeddedTest.zip
VisualGDB单元测试工程模板
VisualStudio2017
VisualGDB5.4
TM4C开发板
Timing测试 - TM4C软,硬浮点计算的时钟差异
借助CMSIS,
Debug Exception and Monitor Control Register
Data Watchpoint and Trace Register
Cycle Count Register
Download OpenOCD for Windows.pdf
解决不能连接问题
最新的OpenOCD1.0连接不了TI TivaC
尝试最后一个可以
OpenOCD-20170821
OpenOCD-20170821
OpenOCD-20170821
Developing Tiva_Stellaris firmware With VisualGDB – VisualGDB Tutorials.pdf
This tutorial shows how to create and debug a basic project for the TI Tiva/Stellaris devices. We will use the Tiva C Series LaunchPad (EK-TM4C123GXL) to create and debug a basic “Blinking LED” project with Visual Studio.
The Power of Ten – Rules for Developing Safety Critical Code
The first two rules guarantee the creation of a clear and transparent control flow structure that is easier to build, test, and analyze.
The absence of dynamic memory allocation, stipulated by the third rule, eliminates a class of problems related to the allocation and freeing of memory, the use of stray pointers, etc.
The next few rules (4 to 7) are fairly broadly accepted as standards for good coding style. Some benefits of other coding styles that have been advanced for safety critical systems, e.g., the discipline of “design by contract” can partly be found in rules 5 to 7.
EmbeddedSystems.Playground.zip
Embedded Systems Playground
=================
This repo contains all my trials and tribulations with Embedded Systems. It contains learning materials, practice sessions, and all the labs I've completed independently (no-credits/for-fun).
**+More:** Labs I've done with schools/for-credit will have thier own repo. The table below links to all the embedded-systems labs I've completed (within this repo and outside of it). The table is organized from the most recent labs at the top and oldest being at the bottom
https://github.com/glennlopez/EmbeddedSystems.Playground/wiki
Tiva C Clock System _ Embedded Lab.pdf
The clock system of a microcontroller is a fundamental element. Clock
system provides the heart-beat needed to keep applications running in a
synchronous manner. In the case of Tiva C micros the clock system is as
much as sophisticated and elaborate as with any other ARM micros. In
this post we will explore this basic block of Tiva C micros. We will see
that the clock system is a network of different clock sources and internal
units that are intertwined in a complex but easy manner.