Page 1
The document following this cover page is marked as “Cypress” document as this is the company that originally developed the product. Please note that Infineon will continue to offer the product to new and existing customers as part of the Infineon product portfolio.
Page 2
THIS SPEC IS OBSOLETE Spec No: 002-09180 Spec Title: FM3/FM4/FM0+ Family Universal Programmer User Manual Replaced by: None...
Page 3
FM3/FM4/FM0+ Family Universal Programmer User Manual Doc. No. 002-09180 Rev. *A Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone (USA): 800.858.1810 Phone (Intnl): +1 408.943.2600 www.cypress.com...
Contents Introduction ..................................4 About Off-line Programmer ............................ 4 About FM MCU ..............................4 About Programmer Features ..........................5 Component ..................................6 PGM Board ................................6 PC Configuration Tool ............................9 Operation Process ............................... 13 SWD Programming Process ..........................13 UART Programming Process ..........................
1. Introduction This user manual describes how to use the FM MCU Universal Programmer (named as PGM hereinafter) to serve as an off-line programmer for FM series MCU and on-board external flash memory (Quad SPI Flash, Hyper Flash, and NAND Flash). Target products This user manual describes how to use the programmer in the following products: FM3 MCU: TYPE0 –...
Introduction About Programmer Features The main features of this programmer are as follows: Support all types of FM3 MCU (0 - 12), Type 1-6 of FM4 and T ype 1-3 of FM0+ (please check the type information in the datasheet of the MCU). Program interface: UART or SWD.
2. Component The whole PGM includes: PGM Board PC Configuration Tool. PGM Board The board provides the hardware method to operate the target board. The architecture of the whole system Figure 2-1. PGM Architecture MAIN OSC FM3/FM4/FM0+ Family Universal Programmer User Manual, Doc. No. 002-09180 Rev. *A...
Page 9
System Scope Introduction to the interfaces Figure 2-2. PGM Interface P OUT USBH SDIO USBF UART: 4-pin interface. This interface can be used to serve as the communication interface to program the target board by asynchronous protocol. SWD1: 20-pin interface. This interface can be used to serve as the communication interface to program the target board by SWD protocol.
Page 10
System Scope Jumper table Table 2-1. Jumper Table Jumper Function Setting Open: No power output from CN4-19 JTAG power output Close: Power output from CN4-19 Right: Battery input Battery/USB input selection Left: USB input Right: Direct external power input Ext power voltage selection Left: Adjust the external input power to 3.3V Open: VCC MCU is 3.3V...
System Scope PC Configuration Tool The tool controls the operation on the target board. This tool can be run on Win 7 (32-bit) and Win 7 (64-bit). By using this tool, you can set the target board and get the input files for the PGM. ...
Page 12
System Scope Figure 2-5. External NAND Flash Page of PGM CFG Tool Figure 2-6. External Hyper Flash Page of PGM CFG Tool Notes: The external flash includes SPI flash, NAND flash and hyper flash, so you can see SPIFLASH page, ...
Page 13
System Scope Introduction to MCU Page of Each Item XTAL: Input the external oscillator number of the target board. Baud Rate: Set the UART baud rate between the PGM and the target board. RamCodeBaseAddr: Input the run address of the external flash RAM code. MCU Info: Display the detailed information of the selected MCU.
Page 14
System Scope File5 Start Address: Set the fifth external flash programming file start address. File5 Path: Select the external flash fifth programming file. Cancel: Close the tool. Ok: Generate. Output Files The generated output files are located in ‘PGM_OUTPUT’ folder. The output files are listed in the following table: Table 2-3.
3. Operation Process SWD Programming Process You can program the internal flash and external flash memory of the target board through SWD communication interface. The operation steps are as follows: 3.1.1 Prepare the Files If you program the internal flash of the target board, you can get the hex (Intel mode) file through IAR or ...
Page 16
Operation Process If you input the proper product number, the detailed information of the MCU will be displayed below the ‘MCU Info:’ as show in Figure 3-1. If no detailed information is displayed at that place, please make sure the part number of the target MCU is correct.
Page 17
Operation Process Select the path of external flash RAM code. Figure 3-4. Select External RAM Code Path Input the start address of external flash operation. Figure 3-5. Input External Flash Address Info Note: The value you entered must be in hexadecimal format. FM3/FM4/FM0+ Family Universal Programmer User Manual, Doc.
Page 18
Operation Process Select external flash data file, as shown in Figure 3-6. If you need to select other files, please repeat steps 8 and 9. Figure 3-6. Select External Flash File Path 10. Press OK to generate data. Figure 3-7. Generation Result FM3/FM4/FM0+ Family Universal Programmer User Manual, Doc.
Page 19
Operation Process 11. Check the output Figure 3-8. Convert Result If you program the internal and external flash memory of the target board, the ‘PGM_OUTPUT’ folder includes ‘MB9BF568R_MAIN.bin’, ‘MB9BF568R_WORK.bin’, ‘NANDFLASH_1.bin’, ‘NANDFLASH_ram.bin’ and ‘program.ini’. If you only program the internal flash memory of the target board, the ‘PGM_OUTPUT’ folder includes ‘MB9BF568R_MAIN.bin’, ‘MB9BF568R_WORK.bin’...
Page 20
Operation Process The connection is shown in the following figure: Figure 3-9. SWD Line Connection The user can also use the standard 20-pin cable as shown in the following figure: Figure 3-10. 20-pin Cable SD Card insertion Insert the SD card into the SD socket correctly. FM3/FM4/FM0+ Family Universal Programmer User Manual, Doc.
Page 21
Operation Process 3.1.4 Operation SD card detection If no SD card is inserted or the target file format is incorrect, the LED1 will be on as shown in the following figure: Figure 3-11. File Abnormal Error If the SD card is inserted and the target file is correct, the LED1 is turned off as shown in the figure below: Figure 3-12.
Page 22
Operation Process 3.1.5 Result and Status Check During the programming process, the status of the LED3 is as shown in the following figure (LED3 on): Figure 3-13. Programming If the program is successful, the LED status is as shown in the following figure (all off): Figure 3-14.
Operation Process UART Programming Process The user can program the internal flash memory of target board through UART communication. The detailed operation process is as follows: 3.2.1 Prepare the hex File You can get the hex (Intel mode) file through IAR or KEIL, for example, the file name is ‘pdl_template.hex’. 3.2.2 Convert and Get the Target Board Files Run the ‘hex2bin_Demo.exe’...
Page 24
Operation Process Figure 3-17. Ext. Osc. Setting Select the ‘Baud Rate’ Figure 3-18. Baud Rate Selection Select the baud rate according to the maximum MCU working frequency. FM3/FM4/FM0+ Family Universal Programmer User Manual, Doc. No. 002-09180 Rev. *A...
Page 25
Operation Process Table 3-1. Baud Rate Setting (Recommendation) Maximum Freq. Baud Rate >= 72MHz >= 40MHz, < 72MHz 256000, 115200 < 40MHz 115200 Note: If the programming failed, please try a lower baud rate. Select the file Select the internal flash programming hex file, as show in Figure 3-19.
Page 26
Operation Process Generate Figure 3-20. Generation Result Check the output ‘MB9BF568R_MAIN.bin’, ‘MB9BF568R_WORK.bin’ and ‘program.ini’ are output in the ‘PGM_OUTPUT’ folder of the tool. Copy these three files into the SD card FM3/FM4/FM0+ Family Universal Programmer User Manual, Doc. No. 002-09180 Rev. *A...
Page 27
Operation Process 3.2.3 Hardware Connection and Setting Power and jumper setting USB (5V) power input Battery (4.5V) power input J1: Close J1: Close J2: Left J2: Right J3: Left J3: Left J4: Open J4: Open J5: Open J5: Open J7: Open J7: Open Target Board Mode Setting Set the target board MCU to serial programming mode.
4. Program.ini Introduction In this part, the detailed meaning of each line of the ‘program.ini’ will be introduced. Before you read this chapter, you must know the INI file format; if you do not have the knowledge of INI file format, you can learn the knowledge from the Wikipedia web.
Page 29
Use Example Notes: The program.ini file includes section and keys, every key has a name and a value; Sections include ‘MCU’, ‘MCUFLASH’, ‘SPIFLASH’, ‘HYPERFLASH’, ‘NANDFLASH’; the program.ini file must include ‘MCU’ section. If only program the MCU internal flash, the file only includes ‘MCU’ and ‘MCUFLASH’ section. ...
Use Example MCU Section Name: Please refer to Table 2-2 for product number naming rule, check the detailed information in the corresponding datasheet. Series: FM3/FM4/FM0+ Type: MCU internal flash type For FM3, it is 0 – 12 For FM4, it is 1–6 For FM0+, it is 1 –...
5. Maintenance The code of the programmer can be updated by SD card. The operation method is as follows: (Due to the source code will not be provided to the users, these steps should be performed by internal engineers) Build ‘(FWSC)FMx_Universal_PGM’ project. Make sure the bin file name is ‘FM4APP.BIN’...
6. Additional Information For more information on Cypress FMx Family MCU, visit our website: http://www.cypress.com/products/32-bit-arm-cortex-microcontroller-mcu-families Please contact your local support team for any technical question. FM3/FM4/FM0+ Family Universal Programmer User Manual, Doc. No. 002-09180 Rev. *A...
Revision History Document Revision History Document Title: FM3/FM4/FM0+ Family Universal Programmer User Manual Document Number: 002-09180 Revision Issue Date Origin of Description of Change Change 10/31/2014 CPQI Initial release 07/21/2015 HUAL Updates 5622849 02/22/2017 HUAL Migrated Spansion User Manual “AN706-00094-2v0-E” to Cypress format. Document Obsoleted.
Need help?
Do you have a question about the CYPRESS FM3 and is the answer not in the manual?
Questions and answers