TLE9879 Program with FastLIN

Announcements

Webinar: Integrated solutions for smaller, simpler low-voltage motor control design.
Join the webinar to experience!

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
SteveJiang
Level 1
Level 1
5 replies posted 10 sign-ins 5 sign-ins
The data I refer to when programming is "Infineon-TLE986x_TLE987x_BootROM_UM-UserManual-v01_08-EN.pdf", and the range of my programming Flash is 0x11000000-0x1101FFFF.
 
1. Problems with programming instructions
 
I use the Mode 2 command when programming, and the  programming   range is 0x11000000-0x1101FFFF.
 
And I originally wanted to program all the addresses at once, so I first sent the Header Block and set the Block Length to 0x82, then sent the Data Block in sequence, and finally sent the EOT Block, but after sending the EOT Block, the IC will reply me 0xFF.
However, the commands before the EOT Block are very normal and reply me 0x55. 
Why is the IC replying 0xFF after sending the EOT Block after I program all the addresses of the Flash?
 
So the way I can normally program at present is to send the Header Block and set the Block Length to 0x83, then send the EOT Block and include the data of a page, and then repeatedly send the Header Block and the EOT Block containing the data of the next page until the last page programming is completed.
 
Although it can be programmed normally at present, I still wonder why the first programming method fails.
 

2. EEPROM address range

 
I saw in the datasheet that there is an EEPROM containing 4KByte in the Flash, but it didn't say which range in the Flash.
But when I read the blank (or mass erased) IC, I found that the Flash addresses 0x1101F000-0x1101FFFF are all 0x00, and the rest of the addresses are all 0xFF. 
Is the block 0x1101F000-0x1101FFFF the EEPROM mentioned in the datasheet?
3. 100 Time Programmable Memory(100TP)
 
I have confirmed that 100TP can be uploaded to program, but we don't have a test file at hand, can you provide a sample file to facilitate our programming test?
In addition, does 100TP really mean that it can only be programmed 100 times? 
If so, does it mean that the entire Flash, a Page or a Byte can only be programmed 100 times? And is it possible to read the remaining programming times? Thanks.
 
4. NAC and NAD
 
NAD is similar to the Slave Address of IC communication, so there is no problem to be confirmed.
But when I was testing to program the customer’s file, I found that the customer set the NAC to 0x41. 
This value seems to make the IC unable to enter the BSL Mode. After I actually tested and programmed the IC, it was true that the IC could not enter the BSL Mode. 
Is there a way to make the IC enter BSL Mode again after programming the NAC to 0x41? Thanks.
5. NVM protection
 
The function of protection I confirm is to prevent NVM from being erased and written.
But I want to confirm whether there is a way to know that the IC is already protected before writing protection to the IC, except for the method of issuing commands to the IC and being returned 0xFD.
In addition, the bit7 of the password mentioned in the document means that if the IC is successfully unlocked, different erasing will be performed. What is the difference between these two different erasing? Thanks.
0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
Raj_C
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi @SteveJiang,

  1. Problems with programming instructions

 

  1. EEPROM Address range:
  • The address range for EEPROM is 0x1101F000 – 0x1101FFFF.
  • Following is the reference for the same.

Raj_JC_0-1685532822370.png

 

 

  1. 100 Time Programmable Memory (100TP):
  • Yes, 100TP means that each page of the memory will be programmable 100 Times.

 

  • Please refer to the

            extern uint8 (*const USER_100TP_PROG)          (const uint8 OTP_Page_Sel);

            function in the bootrom.h file of the TLE9879 Keil project for the usage.

 

  • For reference, I will attach a hex file generated while reading the page by the BSL tool using a UIO stick.

 

Raj_JC_1-1685532822389.png

 

 

  1. NAC and NAD:

Raj_JC_2-1685532822392.png

 

  • After setting NAC to 0x41 it will never enter in the BSL mode. You may need to use external tools to erase or write the chip again.

 

       5. NVM Protection:

  • Q. But I want to confirm whether there is a way to know that the IC is already protected before writing protection to the IC, except for the method of issuing commands to the IC and being returned 0xFD.

      >> There is no other way to identify if the NVM is protected or not.

 

  • Q. In addition, the bit7 of the password mentioned in the document means that if the IC is successfully unlocked, different erasing will be performed. What is the difference between these two different erasing?
  •  Code flash contains the Application code while Data flash contains runtime data. Erasing the code flash will erase the complete application and for Data flash it will only erase runtime data only.
  • Due to that fact that it might be needed to erase the data flash sector in case on unrecoverable failures the user shall consider not to store constant operation parameters necessary to operate the ECU inside the data flash. Those kind of data should be placed inside the code flash along with the application code. Inside the data flash only dynamic runtime data should be stored, which could be surrendered in case of data flash inconsistencies without affecting the functionality of the ECU in a bad way.

 

Thank you

Best Regards

Raj Chaudhari

View solution in original post

0 Likes
1 Reply
lock attach
Attachments are accessible only for community members.
Raj_C
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi @SteveJiang,

  1. Problems with programming instructions

 

  1. EEPROM Address range:
  • The address range for EEPROM is 0x1101F000 – 0x1101FFFF.
  • Following is the reference for the same.

Raj_JC_0-1685532822370.png

 

 

  1. 100 Time Programmable Memory (100TP):
  • Yes, 100TP means that each page of the memory will be programmable 100 Times.

 

  • Please refer to the

            extern uint8 (*const USER_100TP_PROG)          (const uint8 OTP_Page_Sel);

            function in the bootrom.h file of the TLE9879 Keil project for the usage.

 

  • For reference, I will attach a hex file generated while reading the page by the BSL tool using a UIO stick.

 

Raj_JC_1-1685532822389.png

 

 

  1. NAC and NAD:

Raj_JC_2-1685532822392.png

 

  • After setting NAC to 0x41 it will never enter in the BSL mode. You may need to use external tools to erase or write the chip again.

 

       5. NVM Protection:

  • Q. But I want to confirm whether there is a way to know that the IC is already protected before writing protection to the IC, except for the method of issuing commands to the IC and being returned 0xFD.

      >> There is no other way to identify if the NVM is protected or not.

 

  • Q. In addition, the bit7 of the password mentioned in the document means that if the IC is successfully unlocked, different erasing will be performed. What is the difference between these two different erasing?
  •  Code flash contains the Application code while Data flash contains runtime data. Erasing the code flash will erase the complete application and for Data flash it will only erase runtime data only.
  • Due to that fact that it might be needed to erase the data flash sector in case on unrecoverable failures the user shall consider not to store constant operation parameters necessary to operate the ECU inside the data flash. Those kind of data should be placed inside the code flash along with the application code. Inside the data flash only dynamic runtime data should be stored, which could be surrendered in case of data flash inconsistencies without affecting the functionality of the ECU in a bad way.

 

Thank you

Best Regards

Raj Chaudhari

0 Likes