PEmicro - P&E Microcomputer Systems: Over 30 years as an Industry leader in Embedded Systems Development Tools, debug probes, and production programmers
Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service




When using PEmicro's PROG family of programming software, it's necessary to specify the correct programming algorithm to match your hardware setup. Because PEmicro provides thousands of different programming algorithms this can seem like a duanting task. In this article we discuss how to quickly determine the programming algorithm that correctly matches a specific hardware setup.

1) Obtain the latest Programming Algorithms
PEmicro's Programming Algorithms are being constantly updated to support new devices. For convenience, all of our algorithms are located here. These algorithms are grouped according to the processor family being used.

2) Internal or External Flash/EEPROM?
Internal Flash/EEPROM is memory that resides inside the processor itself. Although most modern processors contain at least some internal Flash/EEPROM, there are some specific devices (Freescale MCF5474) that do not contain any nonvolatile storage. External Flash is a separate integrated circuit component that is externally connected to the processor. In general, external Flash is used for higher end 32-bit applications that require increased memory capacity.

3a) Internal Flash/EEPROM Algorithm Selection
Once you have identified the processor that you are working with, it is generally straightforward to identify the correct programming algorithm. All of PEmicro's internal Flash/EEPROM algorithms contain the processor part number in the filename. In certain cases, there are separate algorithms for programming the Flash and the EEPROM. This information is also present in the algorithm filename itself. All the algorithms for the processors in the same architecture end in the same file extension.

Examples:

9S08GB60.S8P - Freescale MC9S08GB60 internal Flash

9S08SG4_PRESERVE.S8P - Freescale MC9S08SG4 internal Flash, preserve the factory trim values at 0xFFAE-0xFFAF

Freescale_912D60A_All_Flash_and_EEPROM.12P - MC912D60A internal Flash and EEPROM

Freescale_MC9S12DP256_1x16x128k_256k_Linear_16k_page.12P - MC9S12DP256 internal Flash
Freescale_MC9S12DP256_1x16x2k_4k_EEPROM.12P - MC9S12DP256 internal EEPROM

Freescale_MC9S12A256_1x16x128k_256k_Linear_16k_page_PLL.12P - MC9S12DP256 internal Flash, enable PLL to increase bus frequency on the MCU for faster programming speeds

Freescale_MPC5604B_1x32x128k.PCP - MPC5604B internal Flash 

Freescale_MC56F84543_1x16x32k_pflash.dsp - DSC 56F84543 internal p-flash 

 

HD64F2110B.H8P - Renesas HD64F2110B Internal Flash 


3b) External Flash Algorithm Selection

 

PEmicro's external Flash Algorithms use the following naming convention:
Manufacturer_PartNumber_NumDevices x DataBusWidth x NumRows.FileExtension

Manufacturer = Manufacturer of the external Flash device
PartNumber = Manufacturer Part Number
NumDevices = Number of these external Flash devices used in parallel. Devices are typically used in parallel to support a wider data bus. As an example, imagine that an external Flash device only supports a 16-bit data bus. By using two of these devices in parallel, a 32-bit data bus can be supported.
DataBusWidth = The data bus width of EACH external Flash device. Certain devices support multiple data bus widths.
NumRows = The number of rows in each Flash device. Each row contains DataBusWidth bits. NumRows multiplied by DataBusWidth results in the total size of the Flash memory.
FileExtension = The file extension is unique for each processor family.

Examples:

ST_29W128FH_1x8x16meg.CFP - A single STMicroelectronics 29W128FH device, configured for 8-bit data bus. Total size = 8 bits (1 byte) x 16Meg = 16 MB
ST_29W128FH_1x16x8meg.CFP - A single STMicroelectronics 29W128FH device, configured for 16-bit data bus. Total size = 16 bits (2 bytes) x 8Meg = 16 MB
ST_29W128FH_2x8x16meg.CFP - Two STMicroelectronics 29W128FH devices, each configured for 8-bit data bus. The result is a 16-bit wide data bus. Total size = 2 x 8 bits (1 byte) x 16Meg = 32 MB

4) Device not supported?

This page can be used to request a specific Flash Programming algorithm if you do not find what you are looking for. Use this form if your device is not supported or if the existing algorithms do not match your setup correctly (e.g., if you are not using the default chip select). This service is provided by PEmicro free of charge.





search in blog posts

Tags

Product pages
Cyclone (21)
Cyclone FX (23)
Multilink (11)
Multilink FX (7)
GDB Server (9)
Prog ACMP (3)
Interface Library Routines (3)


Manufacturer
ARM (20)
NXP (31)
Atmel (2)
Cypress (1)
Maxim (1)
Nordic Semiconductor (1)
Silicon Labs (1)
Toshiba (1)
Renesas (5)


Categories
Production Programming (36)
Debug (14)
Automated Control (7)
Miscellaneous (32)



© 2017 P&E Microcomputer Systems Inc.
Website Terms of Use and Sales Agreement