Intro To ARM Microcontrollers
So you’ve played around with an Arduino board and maybe a couple of other 8 bit microcontroller development boards and now you want to move to something a bit more powerful.
How about a 32bit ARM based microcontroller?
In this course I’ve selected two inexpensive development boards and will use them as examples to explain how they are alike and what you might expect from other devices. We’ll install the Eclipse IDE and GCC open source compiler then investigate some examples of accessing the most common peripherals. We will explore the device datasheets and discuss what attributes to choose when selecting a device.
We’ll also investigate the peripheral device library code supplied by the device vendors.
When we’re finished you should be able to install the IDE and related software and download code to these inexpensive devices.
You will know how to access the most common features and apply them to your own projects.
Bring your projects and questions as the final class segment will be dedicated to whatever topics the class is most interested in.
Prerequisites: You should know the basics of working with files and programs on a PC be able create and understand a simple C program. If you’re not familiar with C programming, there are numerous online tutorials that can bring you up to speed in just a few evenings.
Please bring a Windows based laptop with you.
The classroom has several desktop PCs available for those that do not have access a laptop.
Optional Hardware: Although not required, if you’re interested in running the examples at home, you may want to purchase one or both of the subject devices used in the class. These are:
Option1: STM32f103 Minimum System Development Board (sometimes called the “Blue Pill Board”)
with this you’ll also need a USB-Serial TTL adapter (preferred based on CP2102 or CH340G chip)
get the adapter that comes with a set of 4 connecting wires.
A solderless breadboard (400 or 830 tie points) is handy but not required.
*This option will require some soldering to attach the header pins
Here's some links to the above components (may be outdated)
Option 2: Arduino DUE (or SAM3x8E based clone) with USB cable.
https://store.arduino.cc/usa/due
OR
https://www.amazon.com/SAM3X8E-32-bit-Cortex-M3-Arduino-Compatable/dp/B077GNMQ17
Course Outline
Day 1 Introductions, Microcontroller review,
What Is ARM? Software Installation and Configuration.
Day 2 Subject Devices Demo, Programming Tools:
Driver Libraries, Peripheral Examples – Part
Day 3: USART, Interrupts, Timers, ADC and DMA
Day 4: Students Choice:
Description of download links:
BLUEPILL_CP2102_Connections.png Connection ciagram for USB Serial adapter to BluePill board.
SAM3x8E_DMA1.zip DMA example project for Arduino DUE board
SAM3x8E_INT1.zip External Interrupt example eroject for Arduino DUE board
SAM3x8E_UART_INTx.zip UART with interrupt example eroject for Arduino DUE board
SAM3x8E_UARTx.zip Basic UART (improved) example eroject for Arduino DUE board
STM32F103_EXTI.zip External Interrupt example project for BluePill board
STM32F103_SK6812A.zip Addressable RGB LED (neopixel) example project for BluePill board
STM32F103_UART_INTx.zip UART with interrupt example project for BluePill board
Toolchain_Reinstall_Procedures.pdf Detailed instructions for fixing toolchain install in eclipse
pspad501_setup_int.zip PSPad text editor setup
putty.zip puTTY terminal software