NXP AN12524 Application note

AN12524
Migration from FXTH87/87E to NTM88
Rev. 3 — 22 March 2021 Application note
Document information
Information Content
Keywords FXTH87/87E, NTM88, Migration
Abstract This document presents the main differences between FXTH87/87E and
NTM88 from a software application point of view.
AN12524
Migration from FXTH87/87E to NTM88
Revision history
Revision Date Description
3 20210322 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.
2 20191210 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.
Section 13, revised entire section.
1 20190722 Initial release
AN12524 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
Application note Rev. 3 — 22 March 2021
2 / 15

1 Introduction

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.

2 Getting 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.

3 Pressure 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 FXTH87E 10 bits 9 bits
NTM88 12 bits 10 bits
[1]
must be
[2]
. AN12523
Representation of compensated
pressure and acceleration
[2]

4 Memory 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 firmware­based 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.
AN12524 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
Application note Rev. 3 — 22 March 2021
3 / 15
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 FXTH87E N/A
(alpha samples – not
provided anymore)
PTM88xxxS
PTM88xxx5
and NTM88
AN12524
Migration from FXTH87/87E to NTM88
Engineering samples Production 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
AN12524 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
Application note Rev. 3 — 22 March 2021
4 / 15
aaa-0 34413
FXTH 87/87E using a
firmware-bas ed applic ation
Jump tabl e
Firmware ver sion
E0A0- E0A3
E000 -E092 /E08 F
*
*
E092 for F XTH87xx1x,
E08F for FXTH87x x02
DFE0- DFDF
C000 -DFDF
FD40 -FDFF FD40 -FDFF
FFB0- FFBF
FFE0- FFFF
E0A0- E0A3
C00 0-E0 9F
FC00 -FD3F
FFB0- FFBF
FFE0- FFFF
Protect ion and secu rity
Firmwar e functio ns
Firmwar e interrup t vectors
Appli cation inte rrupt vec tors
Trim section
Librar y version
Protecti on and secu rity
Firmware n ot erasabl e
Interru pt vector s
Trim section
Application cod e
+
Firmware functions from
the fir mware libr ary
+
Function s from the
applicat ion libra ries
Applic ation cod e
+
Functions f rom the
applica tion libr aries
FXTH 87/87E using a
librar y-based applica tion
FD40- FDFF
C00 0-FB FF
FC00- FD3F
FFB0- FFBF
FFE0- FFFF
Protecti on and secu rity
FFAC-FFAF Librar y version
One- time progr ammable
Interru pt vector s
Trim section
Applic ation cod e
+
Firmware function s from
the fir mware libr ary
+
Functions f rom the
applica tion libr aries
NTM88 using a
librar y-base d applica tion
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.
AN12524
Migration from FXTH87/87E to NTM88

5 Firmware version and derivative descriptor bytes

AN12524 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
Application note Rev. 3 — 22 March 2021
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