Engineers might jump at the chance to buy an ARM-based
microcontroller module for under $10. But they should be aware that the cost
savings might not overcome the difficulties they'll face in obtaining good
documentation to put the microcontroller module to good use.
My lab work with the STM32 Value Line
Discovery board started well and I looked forward to working with the
TM32F100RBT6B Value Line MCU that includes 128 Kbytes of Flash memory, timers,
analog peripherals, digital I/O ports and serial interfaces. The board required
no USB driver installation and its demo program started right away. Pressing a
button changed the Flash rate for an LED that showed the test code worked.
Working on this board, engineers can use software tools from IAR
Systems, Atollic or Keil (a subsidiary of ARM). I obtained a 30-day trial version
of the Atollic TrueSTUDIO/STM32 Pro software and followed instructions in
Atollic's helpful "Installation Guide" and detailed "Quickstart
Guide for STM32." The latter document includes steps to create a new
project, set equipment and software parameters, build the code and run the
program on the Discovery board. That process went smoothly and I liked working
with the Eclipse-based Atollic tools and recommend them. (There's some
confusion about instructions for the debug connection. Use the free 30-day
licensed Pro version of Atollic's tools and you can avoid any confusion until
Atollic updates its manuals.)
After experimenting with the Atollic code example that controlled
two LEDs with a push-button, I modified the code to change the LED pattern. Then
I wanted to access a general-purpose I/O port to create some 8-bit patterns and
record them on a logic analyzer. That's when problems began.
STM provides a library of functions that control peripherals - everything
from analog-to-digital converters to watch-dog timers. Although STM provides 12
example programs (Application Note AN3268), the documents for the STM32 MCUs
lack comprehensive information about individual library functions, how they
work and how to use them. I spent hours going through many .h and .c files for
information about how to set up an 8-bit output port and found nothing basic
enough to describe how to do it for someone unfamiliar with the STM library.
Keep in mind that the peripherals on an STM32 MCU require many
setup steps that include programming registers and initializing clocks. So, I
expected a bit of tutorial information or even some step-by-step instructions
that explained how to use I/O ports. I posted a comment about the lack of
manuals on the STM Forum for the Discovery board and received several comments.
One person referred me to the ARM MCU data sheet, which didn't help. Someone
else suggested reading the compiled help file: stm32F10x_stdperiph_lib_um.chm.
After I figured out how to open it I found information such as:
DBGAFR_SWJCFG_MASK ((uint32_t)0xF0FFFFFF) Definition at line 67 of file stm32f10x_gpio.c. Referenced by GPIO_PinRemapConfig()
A sample I/O program, GPIO_IOToggle, from STM seemed just as
cryptic. Other comments on the STM Forum pages noted similar frustrations with
the lack of helpful information about how to use the C libraries. As far as I
can determine, STM offers no documents comparable to those supplied for earlier
versions of the code library. People should download "UM0919 User Manual:
STM32VLDISCOVERY," which provides useful information about jumpers,
component locations, indicators, intentional solder bridges, and the pinouts
and functions of the board's pins. Unfortunately, STM's other documents don't
meet the standard of this helpful document.
By experimenting with the photovoltaic reaction in solar cells, researchers at MIT have made a breakthrough in energy efficiency that significantly pushes the boundaries of current commercial cells on the market.
We looked at a number of sources to determine this year's greenest cars, from KBB to automotive trade magazines to environmental organizations. These 14 cars emerged as being great at either stretching fuel or reducing carbon footprint.
A quick look into the merger of two powerhouse 3D printing OEMs and the new leader in rapid prototyping solutions, Stratasys. The industrial revolution is now led by 3D printing and engineers are given the opportunity to fully maximize their design capabilities, reduce their time-to-market and functionally test prototypes cheaper, faster and easier. Bruce Bradshaw, Director of Marketing in North America, will explore the large product offering and variety of materials that will help CAD designers articulate their product design with actual, physical prototypes. This broadcast will dive deep into technical information including application specific stories from real world customers and their experiences with 3D printing. 3D Printing is