The μPSD32xx family, from ST, consists of Flash programmable system devices with a 8032 Microcontroller
Core. Of these, the μPSD3234A and μPSD3254A are notable for having a complete implementation
of the USB hardware directly on the chip, complying with the Universal Serial Bus Specification, Revision
1.1.
This application note describes a demonstration program that has been written for the DK3200 hardware
demonstration kit (incorporating a μPSD3234A device). It gives the user an idea of how simple it is to work
with the device, using the HID class as a ready-made device driver for the USB connection.
IN-APPLICATION-PROGRAMMING (IAP) AND IN-SYSTEM-PROGRAMMING (ISP)
Since the μPSD contains two independent Flash memory arrays, the Micro Controller Unit (MCU) can execute
code from one memory while erasing and programming the other. Product firmware updates in the
field can be reliably performed over any communication channel (such as CAN, Ethernet, UART, J1850)
using this unique architecture. For In-Application-Programming (IAP), all code is updated through the
MCU. The main advantage for the user is that the firmware can be updated remotely. The target application
runs and takes care on its own program code and data memory.
IAP is not the only method to program the firmware in μPSD devices. They can also be programmed using
In-System-Programming (ISP). A IEEE1149.1-compliant JTAG interface is included on the μPSD. With
this, the entire device can be rapidly programmed while soldered to the circuit board (Main Flash memory,
Secondary Boot Flash memory, the PLD, and all configuration areas). This requires no MCU participation.
The MCU is completely bypassed. So, the μPSD can be programmed or reprogrammed any time, any
where, even when completely uncommitted.
Both methods take place with the device in its normal hardware environment, soldered to a printed circuit
board. The IAP method cannot be used without previous use of ISP, because IAP utilizes a small amount
of resident code to receive the service commands, and to perform the desired operations.