.

MSP430

HCC-Embedded has done extensive work to port its products to the MSP430 environment. The quality of the internal flash of the MSP430 makes it an excellent choice for storing data in a reliable file system. In addition, HCC provides external file systems and PC connectivity solutions for the MSP430.
 
By producing development boards and working with the major tool vendors, HCC is able to provide its products as tested, working, high performance projects. Porting efforts and time-to-market are minimized and product quality is enhanced. Developers can focus on their core competences, safe in the knowledge that HCC has provided vital building blocks in their projects. In the event of problems, HCC's extremely responsive support and experience are available.
 
 
 
TINY
 
TINY is a failsafe file system (safe from unexpected reset) that has a typical footprint of 5K-8K and can be used with only a few hundred bytes of RAM. Even within these constraints a full file API is available.
 
The file system can be built as an internal drive using a section of the MSP430's flash.
 
Alternatively, another version of TINY can be used to create file systems on externally attached serial flash such as Atmel's DataFlash.
 
These file systems for microcontrollers can be used to realize a number of possibilities:
  • Data logging
  • Diagnostics
  • Configuration
  • Customization
The developer is liberated from the problems associated with fixed data arrays and inflexible storage. Truly portable and flexible products can be built with ease.
 
The uCDrive development board allows these possibilities to be demonstrated - serial flash can be inserted to the SD card socket - or the internal flash of the MSP430 can be used as a drive. uCDrive software allows these drives to appear as standard pen drives, connected to a comm port, under Windows Explorer.
 
See the White Paper below for more information.
 
FAT File Systems
 
HCC offers two FAT-compatible file systems that are designed and tested for use on the MSP430.
 
FAT is a full-featured FAT file system for use on MSP430s with >2K RAM.
 
THIN is a scalable full-featured FAT file system for use on MSP430s with <2K of RAM available. HCC has working projects that use <700Bytes of RAM to connect an SD card to the MSP430. THIN is optimized to give the best possible performance within the constraint of limited RAM.
 
For both systems HCC provides low-level drivers, optimized for performance, that can optionally do the data transfers using DMA.
 
THIN can be delivered as a working project for the uCDrive development board and module. More details are below.
 
Bootloaders
 
HCC provides two bootloader options for the MSP430:
  1. The uCDrive software can be used to drop a new binary to the MSP430. The reliable bootstub in the MSP430 ensures the firmware is updated safely regardless of any unexpected interrupt.
  2. An SD card bootloader is also available. The reliable bootstub in the MSP430 is a stripped-down version of a read-only FAT file system. It can program the device based on different criteria associated with the target file.
Both bootloader systems rely on a minimum footprint, never-to-be-erased bootstub resident on the target device to ensure that whatever happens the system is recoverable.
 
MSP430 MP3 Player
 
HCC has developed a novel MP3 player solution for use with the MSP430. The system consists of a serial flash (in our case Atmel DataFlash), an MSP430 microcontroller and an STA013 MP3 decoder.
 
The MSP430 controls a file system (TINY) using the DataFlash. MP3 files are written to the file system using the uCDrive interface software to Windows. The MSP430 is also connected to the control lines of the STA013, but the data lines from the STA013 are connected directly to the DataFlash.
  
When the MPS430 application wants to play a file, it gets a list of the cluster addresses of the file in the DataFlash, and then initializes the STA013, and then starts read commands. The MSP430 ignores the read data that are read directly by the STA013. So the MSP430 is bypassed for the main player function.