Flash Magic Production System .NET
NXP flash programming tool for microcontrollers, with scripting, command line and .NET assemblies. Implement production line programming and support all Philips 8-bit, 16-bit and 32-bit flash microcontrollers with your custom application. Create end-user product update utilities, and more using .NET languages.
The Flash Magic Production System provides a license to use Flash Magic on production lines and the necessary information and files to allow custom applications to be built on the Flash Magic platform using .NET languages.
Production Lines
Do you want to use Flash Magic on a production line in your company? The free version isn't licensed for production line use. By purchasing the Flash Magic Production System you will be able to use Flash Magic on up to 10 PCs at a single company location. Additional licensing options are available on request.
Custom PC Applications
Do you want to build your own PC applications that can program NXP microcontrollers? The ISP functionality of Flash Magic is provided by a set of DLLs and .NET assemblies. These DLLs and .NET assemblies are rather like a library and can be called by any application that knows how to use it. All copies of Flash Magic include the DLLs. By building upon the DLLs and .NET assemblies an application immediately gains access to the knowledge and abilities of Flash Magic that have been built up over several years of effort. The DLLs and .NET assemblies represents literally thousands of hours of investment, and it is a tried and tested platform that is currently used by thousands of users worldwide.
LabVIEW Support
Included is a complete VI for LabVIEW 32-bit that erases, programs and verifies NXP ARM Cortex devices via UART bootloader or SWD. This allows Flash Magic to immediately be integrated into existing engineering, test and production workflows.
About Flash Magic
Flash Magic is a feature-rich Windows based tool for the downloading of code into NXP flash microcontrollers. It utilises a feature of the microcontrollers called ISP, which allows the transfer of data serially between a PC and the device.
Flash Magic can erase devices, program them, read data and read and set various configuration information. Rather than providing the basic features of ISP, Flash Magic adds additional features and intelligence, allowing complex operations to be performed. For example, erasing can be any collection of pages pages, blocks, the hex file to be programmed or the entire device. Some devices store the ISP bootloader in flash memory, so Flash magic implements methods to protect this code from being erased.
Additional advanced features of Flash Magic include the automatic programming of checksums, entering ISP mode via a serial command, execution of Just In Time modules allowing endless flexibility in the data programmed, control over RS232 signals to place devices into ISP mode, and control over the timing of such signals.
Flash Magic has been available for free for over six years and supports all current 8-bit (8051), 16-bit (XA) and 32-bit (ARM) flash microcontrollers from NXP.
Possible Uses
Some ideas for applications built on the Flash Magic platform:
-
Custom ISP tool for in-house use, for example production line programming where it is essential the user interface is simplified as much as possible
-
End user ISP tool for updating the firmware of products. You can build the hex file into the application or allow it to be fetched over the internet. Adverts for new products could be displayed to the user. Use one tool for all your products involving potentially multiple NXP microcontrollers.
-
Gang programming tool. Invoke multiple instances of the Flash Magic DLLs in seperate threads, each using a different COM port to allow parallel ISP programming
-
Future-proofing products. Rather than write your own ISP tool and have to keep updating it for new NXP devices, updates to the DLLs will automatically add new devices
Features
The following is a list of features in the Flash Magic DLLs and .NET assemblies. The list is not exhaustive by any means, but does give a good overview. Note that not all features are available with all devices. Features available depend on the functionality of the device being accessed.
-
Reads the device signature
-
Erases part or all of the flash memory
-
Programs a hex file into the device
-
Verifies a hex file was programmed into the device
-
Reads the security bits
-
Programs the security bits
-
Checks a section or all of the flash memory is blank
-
Reads data from the flash memory
-
Reads the boot vector and status byte
-
Erases the boot vector and status byte
-
Programs the boot vector
-
Programs the status byte
-
Reads data from the flash memory into a buffer
-
Resets the device
-
Selects a debug mode for the DLL
-
Places the device into ISP mode
-
Reads the clocks bit
-
Programs the clocks bit
-
Reads the device configuration
-
Programs the device configuration
-
Erases flash memory in pages
-
Reads CRCs from the device
-
Cancels the autobauding
-
Sets a password in the device
-
Resets a password in the device
-
Verifies a password in the device
-
Selects one of the timeout lengths
-
Selects the default timeouts
-
Places the device in SoftICE mode
-
Python scripting system - write your own automated tests or production line procedures!
What's Included
The following is a list of files that are included in the Production System.
-
GUI and Command Line versions of Flash Magic, licensed for production lines
-
The Flash Magic C-based driver DLLs, implementing flash programming functionality
-
The Flash Magic .NET assemblies allowing .NET languages to be used (Windows only)
-
C header files
-
Library/import files for Microsoft Visual C++ and Borland C++ Builder
-
Example applications for Microsoft Visual C++ demonstrating DLLs and .NET assemblies
-
Manuals on how to use the Flash Magic DLLs and .NET assemblies
Requirements
The Flash Magic Production System can run on Windows Vista/7/8/8.1/10/11. For building applications a PC application development system is needed. Library and/or import files are provided for Microsoft Visual C++ and Borland C++ Builder. For other development systems you will need to generate your own library or import files from the header file, DLLs or .NET assemblies.
Support Limitations
General support is provided when using any PC development system. This consists of general questions on the DLL and .NET assembly functionality. Specific help can only be given when using Microsoft Visual C++ or C#.