FC4150F512 Interfacing Flash Runner
“
Product Information
Specifications:
- Product Name: FLAGCHIP FC4150
- Driver Version: 1.00
- Protocol Support: SWD
- Memory Types: Flash (F), NVR (N)
Product Usage Instructions
Connecting FlashRunner 2.0 with FLAGCHIP FC4150
To interface FlashRunner 2.0 with FLAGCHIP FC4150, follow the
steps below:
- Ensure the driver version is compatible (v. 1.00).
- Use the #TPCMD CONNECT command to initiate communication.
- Execute the necessary commands based on your requirements.
Available Commands for FC4150:
The FC4150 supports various commands for memory operations:
- MASSERASE: Perform mass erase on Flash memory.
- BLANKCHECK: Verify if memory is erased.
- PROGRAM: Program memory based on FRB file data.
- VERIFY: Verify memory content based on the FRB file.
- READ: Read memory contents.
- DUMP: Dump memory contents.
Additional Commands for FC4150F512:
Specific commands available for Flash memory operations:
- #TPCMD SECTOR_ERASE: Erase a specific sector of Flash
memory. - #TPCMD GET_CHECKSUM32: Get the 32-bit checksum of memory.
- #TPCMD UNLOCK: Unlock the device.
- #TPCMD LOCK: Lock the device.
Driver Commands for FC4150:
The driver commands include standard functions like CONNECT,
MASSERASE, BLANKCHECK, PROGRAM, VERIFY, READ, DUMP, etc.
Frequently Asked Questions (FAQ)
Q: How to verify memory content using FC4150?
A: Use the VERIFY command and specify the memory type and range
if needed.
Q: What is the purpose of the BLANKCHECK command?
A: BLANKCHECK is used to verify if the memory is completely
erased, ensuring a clean slate for programming.
“`
Interfacing FlashRunner 2.0 with FLAGCHIP FC4150
02/07/2025 Driver v. 1.00 Diego Piccinin
FC4150 Introduction
The FC4150 family is a high-performance automotive MCU based on the Corex-M4F core, with built-in DSP instruction set, FPU, and 8KB instruction cache. Function safety ASIL-B rating, HSM with advanced security accelerator. Up to 150 MHz operating frequency and offer up to 2 MB Flash, 256 KB D-flash, and up to 256 KB SRAM with ECC. It integrates with a rich set of peripherals and advanced connectivity, one 10/100Mbps Ethernet with IEEE1588 and AVB, and six FlexCAN with optional CAN-FD and PNET support. AEC-Q100 qualified, Grade 1.
FC4150 Protocols and PIN maps
All the FC4150 devices support the SWD protocol. #TCSETPAR CMODE <SWD>
SWD PIN MAP
FC4150 Available Commands
FC4150F512
MEMORY Flash [F] NVR [N]
MASSERASE
ERASE SECTOR
BLANKCHECK
PROGRAM
VERIFY READOUT
VERIFY CHECKSUM
READ
DUMP
FC4150F512 Additional Commands
Commands for Flash memory:
#TPCMD SECTOR_ERASE
General commands:
#TPCMD GET_CHECKSUM32 #TPCMD UNLOCK #TPCMD LOCK
FC4150 Driver Commands
FC4150 Standard Commands
Here you can find the complete list of all available commands for FC4150 driver.
Memory type:
F FLASH N NVR
#TPCMD CONNECT
#TPCMD CONNECT
This function performs the entry and is the first command executed when starting communication with the device. It will automatically recognize whether a device is locked or not and print this information in the Real-Time Log.
#TPCMD MASSERASE
#TPCMD MASSERASE <F>
F: Masserase command for Flash memory of the target device.
#TPCMD BLANKCHECK
#TPCMD BLANKCHECK <F>
Blankcheck is available for Flash memory. Verify if all memory is erased.
#TPCMD BLANKCHECK <F> <start address> <size>
Blankcheck is available for Flash memory. Verify if the selected part of memory is erased. Enter the Start Address and Size in hexadecimal format.
#TPCMD PROGRAM
#TPCMD PROGRAM <F|N>
Program is available for Flash and NVR memory. Programs all memory of the selected type based on the data in the FRB file.
#TPCMD PROGRAM <F|N> <start address> <size>
Program is available for Flash and NVR memory. Programs selected part of the memory of the selected type based on the data in the FRB file. Enter the Start Address and Size in hexadecimal format.
NVR PROGRAMMING BEHAVIOR
The NVR programming routine automatically performs a full erase of the NVR memory before writing any new data. This approach prevents potential device lockups that could occur if the NVR contains unprogrammed or invalid values. Additionally, if the code detects that the NVRVLD value differs from the default (0x0000000005AA55AF), it will apply a patch to the programmed data to maintain proper device functionality. For the same reason, the code also checks the FSEC0 value and patches it to the default (0xFFFFFFFF0000C35A) if necessary. Note: If the customer intends to lock the device, they must use the appropriate command specifically designed for that purpose.
#TPCMD VERIFY
#TPCMD VERIFY <F|N> <R>
R: Readout Mode. Verify Readout is available for Flash and NVR memory. Verify all memory of the selected type based on the data in the FRB file.
#TPCMD VERIFY <F|N> <R> <start address> <size>
R: Readout Mode. Verify Readout is available for Flash and NVR memory. Verify selected part of memory of the selected type based on the data in the FRB file. Enter the Start Address and Size in hexadecimal format.
#TPCMD VERIFY <F|N> <S>
S: Checksum 32 Bit Mode. Verify Readout is available for Flash and NVR memory. Verify all memory of the selected type based on the data in the FRB file.
#TPCMD VERIFY <F|N> <S> <start address> <size>
S: Checksum 32 Bit Mode. Verify Readout is available for Flash and NVR memory. Verify the selected part of memory based on the data in the FRB file. Enter the Start Address and Size in hexadecimal format.
#TPCMD READ
#TPCMD READ <F|N>
Read is available for all memories. Read all memories of the selected type. The result of the read command will be visible in the Terminal.
#TPCMD READ <F|N> <start address> <size>
Read is available for all memories. Read the selected part of memory of the selected type. The result of the read command will be visible in the Terminal.
#TPCMD DUMP
#TPCMD DUMP <F|N>
Dump is available for all memories. Dump all memory of the selected type. The result of the dump command will be stored in the FlashRunner 2.0 internal memory.
#TPCMD DUMP <F|N> <start address> <size>
Dump is available for all memories. Dump the selected part of memory of the selected type. The result of the dump command will be stored in the FlashRunner 2.0 internal memory.
#TPCMD DISCONNECT
#TPCMD DISCONNECT Disconnect function. Power off and exit.
FC4150 Additional Commands
The additional commands are specific commands that perform specific functions. Typically, all additional commands are available in the last section of the Graphical User Interface when creating a project.
FC4150 Additional Commands
These commands are used to perform some specific operations for FC4150 devices.
#TPCMD SECTOR_ERASE [MemoryType] [Address] [Size]
Syntax:
#TPCMD SECTOR_ERASE <MemoryType> <Address> <Size>
<MemoryType> <Address> <Size>
Specifies the type of memory used for this operation Address in HEX format (i.e., 0x08000000) Size in HEX format (i.e., 0x2000)
Prerequisites: none
Description:
Erase specified memory with one or more Sector erase. Typically, running the Page Erase of the entire Flash memory takes much longer than running the Masserase command.
Available for all FC4150 Devices
Note: Examples:
This command is not available for NVR memory.
Correct command execution:
—#TPCMD SECTOR_ERASE F 0x0 0x400 Time for Erase F: 4 ms
#TPCMD GET_CHECKSUM32 [MemoryType] [Address] [Size]
Syntax:
#TPCMD SECTOR_ERASE <MemoryType> <Address> <Size>
<MemoryType> <Address> <Size>
Specifies the type of memory used for this operation
Optional Parameter Address in HEX format (i.e., 0x08000000) Optional Parameter Size in HEX format (i.e., 0x2000)
Prerequisites: Description:
none
Calculate Checksum 32 on the selected memory section. If Address and Size are not specified, the command will return the Checksum 32 of the whole memory.
Available for all FC4150 Devices
Note: Examples:
The result is printed in the RealTime Log and in the Terminal.
Correct command execution:
—#TPCMD GET_CHECKSUM32 F Checksum32 [0x00000000 ~ 0x0007FFFF]: 0x03FEC56D Time for calculating Checksum32 F: 36 ms
#TPCMD UNLOCK
Syntax: Prerequisites:
#TPCMD UNLOCK The device needs to be locked for this operation to be performed. Otherwise, it will be skipped.
Description:
This operation will unlock the device if the FSEC0 or FSEC1 addresses of the NVR are set to values different from the default ones. This operation will perform a Chip erase, after which a programming operation of the default NVR values will be performed.
Available for all FC4150 Devices
Note: Examples:
This is the only command that can be executed when the device is already locked. Other commands will be skipped.
Correct command execution:
—TPCMD UNLOCK Erasing device memory… Programming NVR default values… Device Unlocked successfully. Time for executing Unlock: 121 ms
#TPCMD LOCK
Syntax: Prerequisites: Description:
#TPCMD LOCK The device needs to be unlocked for this operation to be performed. Otherwise, it will be skipped.
This operation will lock the device. To be performed, the values of the FSEC1 addresses of the NVR memory are programmed as 0x0000000000000000. This is enough to lock the device after a power cycle.
Available for all FC4150 Devices
Note:
The locking mechanism will take effect only after a reset or power cycle.
Examples:
Correct command execution:
—#TPCMD LOCK Changing FSEC values in NVR memory… Locking operation successful. Device will be locked after reset or power cycle. Time for executing Lock: 1 ms
FC4150 Driver Changelog
Info about driver version 1.00 – 02/07/2025 Supported Flash and NVR memory Commands for FC4150F512 devices.
Documents / Resources
![]() |
SmhTech FC4150F512 Interfacing Flash Runner [pdf] User Guide FC4150F512, FC4150F512 Interfacing Flash Runner, FC4150F512, Interfacing Flash Runner, Flash Runner, Runner |