Wrong register attributes allow modification of the device specific manufacturing data
ID: LPCBARESDK-588
Status: Fixed
First reported: 6.0.18.1182.1
Fixed in: 6.0.20.1338
Description
SmartSnippets™ Toolbox shows DA14531 OTP data with the wrong attributes (RW rather than RO) and this data is parsed from the header.txt
file which is included in the SDK6.
6.0.18.1182.1\config\toolbox_resources\DA1453x\common
.
This accidentally allows SmartSnippets™ Toolbox users to program these fields in OTP should not be written by the user because it could make the device non functional or operating out of specification.
Workaround
Customers working with the SDK 6.0.18.1182.1 or in earlier version, should change the header.txt
file.
diff --git a/DA145xx_SDK/6.0.18.1182.1/config/toolbox_resources/DA1453x/common/header.txt b/DA145xx_SDK/6.0.18.1182.1/config/toolbox_resources/DA1453x/common/header.txt
index afdf31f..4715b0c 100644
--- a/DA145xx_SDK/6.0.18.1182.1/config/toolbox_resources/DA1453x/common/header.txt
+++ b/DA145xx_SDK/6.0.18.1182.1/config/toolbox_resources/DA1453x/common/header.txt
@@ -4,10 +4,10 @@ Address Size Type RW or RO Shortname Description Group Default Number of options
7F87FC4 4 Flag_rev RW Application Flag 2 <html>Application Programmed Flag #2 0xA5A51234 = Application is in OTP</html> Main group 0xFFFFFFFF 2 0xFFFFFFFF No 0xA5A51234 Yes
7F87FC8 4 Integer RW Boot specific config <html>Boot specific config B0:<br/>0xAA = Boot from SPI port at a specific location<br/>0xFF = Normal sequence<br/>B1: Wake up Command opcode<br/>B2: SPI_DIV<br/>B3: Reserved</html> Main group
7F87FCC 4 Integer RW Boot specific port mapping <html>Boot specific port mapping<br>B0[7:4] : SPI_CLK, Port number<br>B0[3:0] : SPI_CLK, Pin number<br>B1[7:4] : SPI_EN, Port number<br>B1[3:0] : SPI_EN, Pin number<br>B2[7:4] : SPI_DO, Port number<br>B2[3:0] : SPI_DO, Pin number<br>B3[7:4] : SPI_DI, Port number<br>B3[3:0] : SPI_DI, Pin number </html> Main group
-7F87FD0 4 Integer RW Device and Package Flag <html>Device and Package Flag<br>B[3-2]: Reserved<br>B[1]:0xFF = 531<br>Others = Reserved<br>B[0]:0xFF = WLCSP with P0_5<br>0x66 = WLCSP without P0_5<br>0xAA = FCGQFN24</html> Main group
+7F87FD0 4 Integer RO Device and Package Flag <html>Device and Package Flag<br>B[3-2]: Reserved<br>B[1]:0xFF = 531<br>Others = Reserved<br>B[0]:0xFF = WLCSP with P0_5<br>0x66 = WLCSP without P0_5<br>0xAA = FCGQFN24</html> Main group
7F87FD4 8 String RW Bluetooth Device Address <html>Bluetooth Device Address (64-bit word). String of bytes</html> Main group
7F87FDC 4 Integer RW OTP DMA length <html>OTP DMA length (number of 32-bit words)</html> Main group
-7F87FE0 4 Integer RW Position <html>Position:<br>Bits[31:24]= LOT #<br>Bits[23:16]= Wafer #<br>Bits[15:8]= Y coordinate<br>Bits[7:0]= X coordinate</html> Main group
-7F87FE4 4 Integer RW Tester <html>Tester:<br>Bits[7:0] = Tester_Site<br/>Bits[15:8] = Tester_ID (LSB)<br/>Bits[23:16] = Tester_ID (MSB)<br/>Bits[31:24] = Reserved</html> Main group
-7F87FE8 4 Integer RW TimeStamp <html>TimeStamp:<br>Bits[31:24]=TS_Byte3<br>Bits[23:16]= TS_Byte2<br>Bits[15:8]= TS_Byte1<br>Bits[7:0]= TS_Byte0</html> Main group
+7F87FE0 4 Integer RO Position <html>Position:<br>Bits[31:24]= LOT #<br>Bits[23:16]= Wafer #<br>Bits[15:8]= Y coordinate<br>Bits[7:0]= X coordinate</html> Main group
+7F87FE4 4 Integer RO Tester <html>Tester:<br>Bits[7:0] = Tester_Site<br/>Bits[15:8] = Tester_ID (LSB)<br/>Bits[23:16] = Tester_ID (MSB)<br/>Bits[31:24] = Reserved</html> Main group
+7F87FE8 4 Integer RO TimeStamp <html>TimeStamp:<br>Bits[31:24]=TS_Byte3<br>Bits[23:16]= TS_Byte2<br>Bits[15:8]= TS_Byte1<br>Bits[7:0]= TS_Byte0</html> Main group
7F87FEC 20 String RW Reserved for Future Needs <html>Reserved for Future Needs</html> Main group