µC/FL is a software for program updates for embedded applications via serial interface from a PC. The software consists of a Windows program and a program for the target application (bootloader or BTL) in source code form.
The only things required are an embedded application with a FLASH-type memory for program storage, a communications interface (RS-232) and the application software for PC: µC/FlashLoader.
| Features |
File types and conversion |
| Portable to any CPU, any FLASH |
Intel HEX (*.HEX) |
| Configurable |
Motorola S (*.MOT) |
| Optional password |
µC/FlashLoader analyses, loads and displays the contents of a file. Files can be relocated and converted. |
| 100 % save & fast: CRC-check implemented |
|
| Easy to use |
|
µC/FlashLoader
The PC-Program is very easy to use. Any hex file can be loaded and transferred to the BTL for a program update. FlashLoader is a 32 bit Windows application and can be started from the Explorer or from the command line. The following is a "screen shot" of the PC-program with loaded hex file.
An increasing number of embedded applications uses in-circuit reprogrammable memory chips. These chips can be dedicated EEPROM or FLASH-memory chips or microcontroller with on-chip FLASH-memory. The advantage of this technology compared to the old generation of on-time programmable or mask programmed chips is obvious: The application can be reprogrammed at any time, i.e. after assembly of the hardware or even after shipment at customers site in case of a bug or new features.
Bootloader
After RESET, the BTL is started. It then tries to detect a communication request from the PC via UART. If the PC has been detected, the BTL keeps running and the user can use µC/FlashLoader to program, read back and erase the flash. If there is no communication request or the user closes µC/FlashLoader, the BTL checks if there is a valid application program in the flash. If a valid application program is present, the BTL starts it using the reset vector of the application program.
Flowchart |
Memory map |
 |

The upper 16 bytes of the user area are reserved by the BTL data area. This area typically contains the validation code which is used to tell the BTL that a valid application program is in the flash memory. |
The BTL has been designed to be easily portable to other CPU cores and Flash devices. It has therefore been divided into different modules:
BTL core: mainBTL.C
The module actually containing the BTL:
Application specific portion: User.C
This module is responsible to supply application specific behavior like a special init. Per default, the routines contained herein have no functionality.
Handling the communication: CRCCCITT.C
The module contains code to calculate the 16-bit CRC checksum.
A specific page is dedicated to porting and to the available ports: uC/FL Ports
Flash Devices
Micrium Flash Loader includes a NOR flash chip driver for any erase sector oriented flash chip. It can handle most of the standard 29x or 28x flash chips.
The NOR flash driver can be used with the popular NOR-flash devices. Currently the following devices are supported:
| Manufacturer |
Device |
| AMD |
Am29DL16xB |
| Am29DL16xT |
Am29DL32xB |
Am29DL32xT |
Am29F002B |
Am29F002T |
Am29F004B |
Am29F004T |
Am29F008B |
Am29F008T |
Am29F200B |
Am29F200T |
Am29F400B |
Am29F400T |
Am29F800B |
Am29F800B |
Am29F800T |
Am29F800T |
Am29LV002B |
Am29LV002T |
Am29LV004B |
Am29LV004T |
Am29LV008B |
Am29LV008T |
Am29LV040B |
Am29LV200B |
Am29LV200T |
Am29LV400B |
Am29LV400T |
Am29LV800B |
Am29LV800T |
Am29DL16xB |
Am29DL16xT |
Am29DL32xB |
| Hyundai |
HY29F800B |
HY29F800T |
| Fujitsu |
MBM29F800TB |
| MBM29F800TA |
| Intel |
28F320J3xxx |
28F640J3xxx |
28F128J3xxx |
28F256J3xxx |
28F320C3xxx/B |
28F320C3xxx/B |
| Philips |
LPC2104 |
LPC2105 |
LPC2106 |
LPC2114 |
LPC2119 |
LPC2124 |
LPC2129 |
LPC2194 |
LPC2212 |
LPC2214 |
LPC2292 |
LPC2294 |
| Sharp |
LH28F320BJE |
LH28F320TJE |
| STMicroelectronics |
M29F800AB |
M29F800AT |
| Any |
Any AMD compatible |
| Any |
Any Intel compatible |
| Any |
Any 16 bit CFI
compliant |
Most other NOR flash devices are compatible with one of the supported de-vices. Thus the driver can be used with these devices or need a little modifica-tion, which can be easily done. Please get in touch with us, when you experi-ence having problem modifying the flash access routines. |