A weblog focused on interesting circuits, ideas, schematics and other information about microelectronics and microcontrollers.
Bytes for your ARM
Some software for LM3S811 ARM Cortex-M3 microcontroller: A bootloader and a real-time OS
The ArmExe is a useful RTOS for the Luminary Micro Stellaris ARM Cortex-M3 family of microcontrollers and Keil’s µVision environment. The multitasking preemptable executive uses task priorities, separate tasks and kernel stacks, and execution privileges. It handles all interrupts with priorities, supports nested interrupts, and implements binary semaphores and events as the resource sharing mechanisms.
Luminary Micro did a great job introducing the first industrial ARM microcontroller family that incorporates Cortex-M3 core and supporting it a low cost EV-LM3S811 evaluation board, which can be used not only as an experimental board but as an external JTAG programmer as well. Unfortunately, its big drawback are USB drivers. They are provided only for MS Windows and, what is worse, not always work correctly causing JTAG programming failure. Normally, it wouldn't be a big problem because majority of ARM based microcontrollers are equipped with a built in bootloader program, which enables microcontroller programming via serial link. Regrettably, Luminary Micro's Stellaris microcontrollers lack this feature.
Presented in the project the Stellaris bootloader program is a response to problems with FTDI's USB direct drivers and caused by them inability to program and debug EV-LM3S811 evaluation board from Keil’s RealView Microcontroller Development Kit. The Stellaris Bootloader program runs on LM3S811 microcontroller and enables user programs to be download to the microcontroller's flash memory via serial link from any RS terminal that supports XModem file transfer protocol.