How to Update Module Firmware With FORScan 1
How to Update Module Firmware With FORScan 1
Table of contents
Glossary
1. Internals
1.1. Introduction
1.2. Flash memory and firmware update process
1.3. Network of modules
1.4. “Assy” concept, part numbers and calibration level
1.5. Mazda specifics for part numbers
2. Module firmware update function (MFU) in FORScan
2.1. General function organization
2.2. Work area
2.3. Options pane
2.4. Buttons pane
3. Programming guide
3.1. Preparation
3.2. Programming time
3.3. Application and adapter settings
3.4. Firmware database
3.5. Current firmware backup
3.6. Firmware update process
4. Troubleshooting
4.1. Firmware has not been uploaded
4.2. Firmware uploaded successfully, but module doesn't work
4.3. Problems with firmware database
4.4. Recovery mode
Glossary
FORScan
Site Admin
by FORScan » Tue Jun 22, 2021 2:29 pm
Posts: 2922
Joined: Fri Jun 13, 2014 5:21 am
"Bricked" module - module that was programmed unsuccessfully and doesn't
run properly after reboot. Module remains programmable so can be recovered
with proper programming in 99% of cases
Back to contents
By this moment FORScan only implements second generation of FMFU for Ford
and Mazda cars. So this document also describes only 2nd generation.
Implementation for the 1st generation is still in progress.
Back to contents
First block is always a Primary Boot Loader (PBL). PBL is usually hardcoded in
ROM and cannot be reprogrammed. Its' goal is to launch (get control) when
module is powered on and then load the application – executable that
implements main module functionality. It also implements some basic functions
to communicate with dealership equipment.
Application that implements the core module function (engine management for
PCM, brake control for ABS etc) is represented by a firmware file called
“Strategy”. Other firmware files contain data necessary for the work process of
the application. Data can be represented by different type of firmware -
“Calibration”, “Configuration” etc. For example, IPC images are stored in
Calibration firmware, and BCM settings are stored in Configuration files.
Note: the “upload/download” terms are a bit tricky because may be used
differently. It depends on how the items are “stacked”: if scanner is on the top
and module is on the bottom, the process of the programming is called
“downloading”, because it “flows” down. If module is on the top and scanner is
on the bottom, process is called “uploading”, because it “flows” up. We
consider that scanner is down so we call it “uploading”.
Back to contents
1. Different bus have different speed. MS-CAN is 4 times slower than HS-CAN,
thus programming will be up to 4 times longer.
2. Some modules are reachable and programmed not directly, but through a
gateway.
3. In many cases it is required to stop internal communication between
modules ("Stop activity on buses" checkbox).
Back to contents
Assembly has a part number that usually matches to the module part number
we use to order this module by the spare part catalogue. Part number has the
following format:
Core part identifies type of the item and usually quite stable between versions.
For example, -12A650- always mean PCM assembly, no matter if it is 2001MY
PCM or 2020MY PCM. Prefix is some internally generated number that specifies
a family of the part. Suffix is also some internally generated number that
specifies version of the part.
The part numbers are real numbers, but formed using not only digits (0..9) but
also capital letters (A..Z), with some exceptions (for example, I,O,W letters
aren’t used). This is quite important understanding, because it explains how
numbers depend on each other. For example, if we have these 3 numbers:
JK2T-14G371-FDA
JK2T-14G371-FDB
JK2T-14G371-FDC
We know that these numbers are very close to each other: A+1=B, B+1=C. So *-
FDB is next version after the FDA and FDC is next version after FDB. General
rule is that newer versions have greater numbers. It should be however noted
that comparing numbers doesn’t give us enough information about
compatibility between versions. If difference is only in last letter, then it
usually means part of the same branch and most likely the parts are
compatible. But even difference in penultimate symbol may mean completely
different module of another manufacturer with another hardware.
Hardware and every firmware file also have their own part numbers. Assembly
build number usually (but not always) depends on internal components. If one
of components (hardware or firmware) is changed, the assy number is also
changed. However, not all components directly participate in the assy number.
Hardware, Strategy and Calibration usually directly form the assy number, but
several assies with the same number may contain different configuration files.
Back to contents
First of all, Mazda uses different numbers (of course). For example, if Ford PCM
has -12A650- core for PCM, Mazda has -18881- core for the same.
Second difference is that Mazda has no strong rules for suffixes. Numbers may
have no suffix at all, for example:
L3DT-18881-
GHR1-437AS-3-00
in this case suffix is "3-00", where (we guess) 3 is version and 00 is subversion.
So different versions of the same module look like this:
GHR1-437AS-3-00
GHR1-437AS-3-10
GHR1-437AS-3-20
GHR1-437AS-3-30
GHR1-437AS-3-40
GHR1-437AS-3-50
GHR1-437AS-3-60
GHR1-437AS-3-70
GHR1-437AS-3-80
GHR1-437AS-3-90
Back to contents
1. FORScan has identified the module (read assy number and found it in the
database)
2. FORScan supports FMFU for this module.
After FMFU function has been started, FORScan adds the "Module firmware
update" tab at the top of the application Windows, in addition to standard tabs
such as Log. This tab and its screen displays the work area for FMFU. Progress,
status and other information during the operation of FMFU function are
displayed in the Log screen. FORScan switches between Log and MFU tabs when
necessary, to better inform users about the status of this process.
MFU function screen in FORScan contains of 3 areas: Work area, Options pane
and Buttons pane as illustrated on Figure 2a:
Back to contents
Data are provided in rows. First row is always Part Number (Assembly number)
read from module, second row is Calibration Level (meaning for these numbers
explained in section
1.4. Internals: Ford “assy” concept, part numbers and calibration level. Third
row is always hardware Id, fourth row is always SBL. Fifth and further rows
represent module firmware files. End number of rows depends on number of
firmware available for this module.
Second column displays current state of the module: firmware files that have
been programmed to the module at this moment.
Third column shows "To program" values, so firmware files that will be
uploaded to the module. Top cell contains selector of programming modes.
Three modes are presented by this moment:
Second cell in third row allows to select calibration level of the firmware (only
in Available mode) as illustrated on the Picture 2c:
Picture 2c. FMFU Available firmware selector
In Custom mode user has to press 3-dot button to open filename entering/file
selection dialog as illustrated on the Picture 2d:
Picture 2d. FMFU Custom mode
Note that by default files are filtered out by the core part, but user can select
*.VBF in the filter below and select any file (dangerous!).
3-dot button - used for manual files selection, unlocked only in Custom
mode
color square - represents current state of the firmware file (see below)
depending on status of file: either status information, or size of
firmware file in bytes.
The problem is that in real world many modules require all files to be uploaded
at once. If we program not all of files, such a module may be "bricked". So by
default FORScan has this option enabled for all modules. We strongly
recommend to keep this checkbox enabled unless you know a good reason to
uncheck it.
3. Recovery mode
Back to contents
Locked 21 posts 1 2 3
Return to “Beta testing” Jump to
WHO IS ONLINE
Users browsing this forum: aloneraja and 0 guests
Board index The team Members Delete cookies All times are UTC+03:00