AbstractThis document presents the main differences between FXTH87/87E and
NTM88 from a software application point of view.
NXP Semiconductors
AN12524
Migration from FXTH87/87E to NTM88
Revision history
RevisionDateDescription
320210322• Global: Performed minor grammatical, content, and typographic changes throughout.
• Inserted "Document information" table on the first page.
• Relocated the "Revision history" from the end of the document to the beginning to
conform to NXP document content guidelines.
• Section 2, replaced footnote in the first paragraph with a document reference and
added document references for AN12523 in the second paragraph directing user to
the new Section 16 "References".
• Section 3, removed the note below Table 1.
• Section 4.1, revised as follows:
– Revised "...FFh, security register configured to 82h, and reserved bytes2 in portions
of FLASH from FFDCh to FFDFh." to "FFh and security register configured to 82h."
and removed footnote 2.
– Figure 1, revised the image.
• Section 6, Table 3, revised the first row deleting "FXTH87/87E" from the first column,
removed ", documented in the NTM88 firmware user guide" from the third column and
added "TPMS_E_READ_ACCEL" to the second row first cell.
• Section 7, revised as follows:
– Revised "...the user does not have to handle the stack allocation, it can be placed
at any address by the linker." to "...the user does not have to force the stack top
address to 28Fh anymore."
– Table 4 revised "The user does not have to handle stack allocation." to "The user
does not have to force the stack top address to 28Fh."
• Section 8, replaced the footnote in the first paragraph with a document reference
directing user to the new Section 16 "References".
• Section 9.2, revised "part numbers" to "devices" in the third paragraph, and the the
last row of Table 6 and revised the footnote in Table 6.
• Section 10 "GPIOs", Section 11 "Conditions to raise LF receive error flag", and
Section 12 "RF pre-charge", three new sections added.
• Section 16, inserted new reference section.
220191210• Section 2, revised the second paragraph removing the word "production".
• Section 4, revised the first and third paragraphs and Table 2.
• Section 4.1, revised as follows:
– Revised all paragraphs.
– Revised the image and caption for Figure 1.
– Removed Figure 2, captioned "Memory map of the PTM88 and NTM88 using
library model."
• Section 5, revised the first and second paragraphs.
• Section 6, revised the last row of Table 3 and removed note before table.
• Section 7, added a note after the last bullet.
• Section 9.2, revised entire section including Table 6.
This document presents the main differences between FXTH87/87E and NTM88 from a
software application point of view.
Note: Unless otherwise stated, the term “NTM88” refers to both the engineering
samples (PTM88) and the production samples (NTM88). In Section 4 "Memory map
and application model", a distinction is made between the engineering and production
samples. In all other sections, the information applies to both the engineering and
production samples.
2Getting started
AN12524
Migration from FXTH87/87E to NTM88
The IDE to develop NTM88 applications remains CodeWarrior. A patch
installed to have access to the NTM88 target.
From a software application point of view, NTM88 supports only Library Model
Applications. NXP does not program NTM88 samples with embedded firmware functions.
Users familiar with Firmware Model Applications can refer to AN12523
provides information on the differences between these two models and how to migrate
applications from a firmware model to a library model.
3Pressure and acceleration transfer functions
FXTH87 and FXTH87E have different transfer functions for pressure and acceleration.
For pressure and acceleration, FXTH87 and FXTH87E use a 10-bit representation
for raw measurement of pressure and acceleration. However, for compensated
measurement, a 9-bit representation is used.
NTM88 uses a 12-bit representation for raw measurement and a 10-bit representation for
compensated measurement of pressure and acceleration.
Refer to the appropriate data sheet for actual compensated transfer functions because
they differ from one part number to another.
Table 1. Bit representation of raw pressure and acceleration and compensated pressure
and acceleration
Representation of raw
pressure and acceleration
FXTH87 and FXTH87E10 bits9 bits
NTM8812 bits10 bits
[1]
must be
[2]
. AN12523
Representation of compensated
pressure and acceleration
[2]
4Memory map and application model
The memory map is the same between the FXTH87 and FXTH87E, but different for the
NTM88.
During the production of FXTH87 and FXTH87E devices, NXP programs the firmware
and trim between E000h and FFFFh. The user may choose to develop either firmwarebased applications or library-based applications. For firmware-based applications, the
embedded firmware is used by the application. With library-based applications, the user
erases the embedded firmware and reprograms the functions used by the application.
The PTM88xxxS alpha-engineering samples have been shipped with an embedded
firmware. This is indicated for reference only as these samples are not distributed
anymore. NXP programs PTM88xxx5 and NTM88 production samples with trim only.
Without programmed firmware functions, only the library model is applicable for
PTM88xx5 and NTM88.
Table 2. Engineering and production sample firmware and programming
FXTH87 and FXTH87EN/A
(alpha samples – not
provided anymore)
PTM88xxxS
PTM88xxx5
and NTM88
AN12524
Migration from FXTH87/87E to NTM88
Engineering samplesProduction samples
Firmware and trim programmed by
(already released to production)
Firmware and trim
programmed by NXP
between E800h and FFFFh.
No firmware function programmed. NXP programs only trim between
FD40h and FDFFh. See Section 4.1. Only library model can be used.
NXP between E000h and FFFFh
Firmware and library
model can be used.
N/A
(alpha samples not
released to production)
4.1 Overview of the memory maps
FXTH87 and FXTH87E samples shipped by NXP are programmed with an embedded
firmware containing:
• the firmware functions,
• a jump table allowing user application calls to the firmware functions,
• trim coefficients and
• firmware interrupt vectors.
For these products, customers may choose to
• use the firmware model by keeping the embedded firmware.
• use the library model by erasing the embedded firmware (trim page excluded) and
adding firmware functions used by the application from the firmware library.
Refer to AN12523
In contrast, NTM88 samples are programmed only with:
• Trim coefficients from FD40h to FDFFh that must not be erased. It is important to
preserve the whole page from FC00h to FDFFh and ensure that the application does
not erase the page;
• Protection register configured to FFh and security register configured to 82h.
When the application reprograms the interrupt vectors, the whole page from FE00h to
FFFFh is erased. The erasure implies the protection and security registers are set to
FFh. A security register set to FFh secures the device and prevent any further BDM
access. The user must ensure that the application code configures the security register
to an unsecure status value, for example to value 82h.
[2]
for additional information.
The rest of the flash is left empty. For NTM88 samples, only the library model can be
used since no firmware functions are programmed.
In NTM88, the section from FC00h to FD3Fh is indicated as “one-time programmable”.
NXP does not program this section and the section may be programmed one time since it
is empty. However, after "one-time programing," the user cannot erase the section. Flash
may only be erased 512 bytes by 512 bytes. Erasing the FC00h to FD3Fh section would
Portions of FLASH progra mmed by NXP at p roducti on that are er ased and over wri tten by
librar y-based applica tions
Not progr ammed by NX P i.e. empty wh en customers recei ve the sampl es
erase the trim coefficients section which must not be done. Erasing the trim coefficients
section results in non-functional sensors.
The NTM88 firmware function TPMS_FLASH_WRITE prevents write access between
FD40h and FDFFh. TPMS_FLASH_WRITE may be used to write bytes between FC00h
and FD3Fh with NTM88. In contrast, the FXTH firmware write access is forbidden
in the whole trim page between FC00h and FDFFh. With both FXTH and NTM88,
TPMS_FLASH_ERASE function cannot erase the trim page from FC00h to FDFFh.
Figure 1 shows the memory map of FXTH87/87E and NTM88.
Figure 1. Memory map of the FXTH87/87E and NTM88 using firmware and library model
For FXTH87 and FXTH87E, the firmware version and the derivative descriptor bytes are
documented as CODE0 and CODE1 in the data sheet. The firmware version CODE0 is
programmed by NXP at production with the version of the embedded firmware. When
using library model applications, the library version overwrites the firmware version.
For NTM88, they are documented in the data sheet as CODEF and CODEH and
are placed at different addresses. The byte CODEF is not programmed by NXP at
production. It contains the firmware library version after the user has programmed an
application in the device.
NXP recommends customers always use the function TPMS_READ_ID to read these
bytes. NXP does not recommend a direct read from memory because the location in
FXTH87/87E is different from NTM88 and NXP may change the location.
5 / 15
Loading...
+ 10 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.