Tool/software:
Hi
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software:
Hi
hi
Here are the steps I followed to operate
1.Download OTP_KEYWRITER_ADD_ON_j721e_sr1_1_v2021.05b
2.Then execute OTP_KEYWRITER_ADD_ON_j721e_sr1_1_v2021.05b-linux-installer.run to perform the installation.
3.Downloaded SDK_10.X version
4.
Copy OTP_KEYWRITER_ADD_ON_j721e_sr1_1_v2021.05b/addon/ti_fek_public.pem to pdk_jacinto_10_00_00_27/ packages/ti/boot/keywriter/scripts.
Copy OTP_KEYWRITER_ADD_ON_j721e_sr1_1_v2021.05b/addon/ti-fs-keywriter.bin to pdk_jacinto_10_00_00_27/packages/ti/boot/keywriter/tifs_bin/j721e.
5.
Navigate to the pdk_jacinto_10_00_00_27/packages/ti/boot/keywriter/scripts directory and execute the command ./gen_keywr_cert.sh -g to generate the key.
6.
Execute the command cp -rf pdk_jacinto_10_00_00_27/packages/ti/build/makerules/k3_dev_mpk.pem pdk_jacinto_10_00_00_27/packages/ti/boot/keywriter/scripts/keys/smpk.pem
xxd -r -p pdk_jacinto_10_00_00_27/packages/ti/build/makerules/k3_dev_mek.txt > pdk_jacinto_10_00_00_27/packages/ti/boot/keywriter/scripts/keys/smek.key
7.
Execute ./gen_keywr_cert.sh -s keys/smpk.pem --smek keys/smek.key -t ti_fek_public.pem -a keys/aes256.key --keycnt 1 --keyrev 1 to generate the certificate.
8.Modify packages/ti/boot/keywriter/main.c
Hi
This is all the content written by readme in the package. I see that it requires a minimum version of SDK 8.0
Welcome to the TI OTP Keywriter Software add on package!!
This package installs over the General Purpose PDK package available on ti.com
To get started please follow the below steps:
1. Install the Processor SDK RTOS from ti.com from the link here:
www.ti.com/.../
NOTE: This package has been validated with Processor SDK RTOS 08_00_00 version
and is the minimum SDK version required to run the OTP keywriter software.
For any later SDK version, update the version in the path accordingly.
2. Once you have this installed, take the installer of the keywriter package and install this in the folder:
<Your SDK Installation Directory>/pdk_jacinto_08_00_00
3. Copy the OTP keywriter firmware `ti-fs-keywriter.bin` file to
<Your SDK path>/pdk_jacinto_08_00_00/packages/ti/boot/keywriter/tifs_bin/j721e/ti-fs-keywriter.bin
4. Copy the TIFEK Public key `ti_fek_public.pem` file to
<Your SDK path>/pdk_jacinto_08_00_00/packages/ti/boot/keywriter/scripts/ti_fek_public.pem
3. For any queries, please post your queries on e2e.ti.com
br
zhangbo
Hi
This is probably not feasible because we have made many changes on SDK 10.0. If we use SDK 8.0, we need to port all the changes to SDK 8.0, which involves a large amount of changes. Without porting, the board will not be able to start。 I have a question to ask, is my burning process correct?
Br
zhangbo
Hi zhangbo
Can you make below changes in keywriter.mk and do the clean build of keywriter. See if it works.
diff --git a/ti/boot/keywriter/build/keywriter.mk b/ti/boot/keywriter/build/keywriter.mk index 3ca26d0..ab000b5 100755 --- a/ti/boot/keywriter/build/keywriter.mk +++ b/ti/boot/keywriter/build/keywriter.mk @@ -102,7 +102,7 @@ endif include $(MAKERULEDIR)/platform.mk include $(MAKERULEDIR)/common.mk # Uncomment the below to auto-generate new "tifs_keywriter.h" -#include $(PDK_KEYWR_COMP_PATH)/build/bin2c.mk +include $(PDK_KEYWR_COMP_PATH)/build/bin2c.mk # OBJs and libraries are built by using rule defined in rules_<target>.mk # and need not be explicitly specified here
Regards
Diwakar
Hi
Currently, I don't have the board in hand and need to wait for a few days. I have a question I'd like to ask. According to the documentation, if the board is not flashed with Keywriter, it can boot normally using the GP image (which is unsigned). Is that correct?
Br
zhangbo
Hi zhangbo
Currently, I don't have the board in hand and need to wait for a few days.
Sure will wait for your results.
According to the documentation, if the board is not flashed with Keywriter, it can boot normally using the GP image (which is unsigned). Is that correct?
Yes as the actual keys are not fused on the effuses , there is no keys to validate the image.
Regards
Diwakar
Hi
I made the changes following this link ([FAQ] TDA4VM-Q1: SR2.0 update Keywriter process) and added my own logs, but strangely only the middle part of the logs is printed out. The logs I added at the beginning and the end are not printed, and it seems that the state of the keywriter is also not correct.Below are the images with added logs and debugging results。
Hi
What I mean is: after the modifications on the promissory note, the logs I added were not printed out. I don't know what the problem is. Is there an error in my code for adding UART serial port? The printed logs do not match the logs I added
Hi Zhang,
What is the return value of Sciclient_loadFirmware ? is it passing ?
Also have you made earlier suggested change : https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1522456/tda4vm-q1-tda4vm-q1-tda4vm88t5balfq1-keywriter-programming-issues/5858575#5858575
Regards
Diwakar
Hi
Sciclient_loadFirmware
function.Hi Zhang,
What do you mean by SPL boot flow , Do you mean you use SPL boot flow to boot the images.
Allow me some time to test this at my end, i will try to arrange sr1.1 sample and test it out.
Will update you on this by EOW.
Regards
Diwakar
Hi
Hi Zhang,
Apologies, we are currently using the TDA4VM88T5BALFQ1 chip model,
This is SR1.1 device
now my understanding is you want to change this to SR2.0 sample and want to run keywriter on that, correct me if my understanding is wrong.
I have also conducted some tests, and I found that the baseline of SDK 8.6 can be programmed,
With which silicon revision of device, you are testing with?
Can you provide documentation on keywriter compilation and related operational procedures?
You can follow the steps mentioned in this document , steps remain the same for newer sdk as well.
Regards
Diwakar
Hi Bo,
I think you want to using B version (SR1.1) and C version in one project and same baseline SW (SDK10.0), right? in my understanding, you should using SDK8.6 as the keywriter baseline no matter your project SW sdk version, because the keywriter add on is validated using SDK8.6. So pls using SDK8.6 as the keywriter baseline to build the keywriter bin.
BR,
Biao
Hi Zhang,
in my understanding, you should using SDK8.6 as the keywriter baseline no matter your project SW sdk version, because the keywriter add on is validated using SDK8.6. So pls using SDK8.6 as the keywriter baseline to build the keywriter bin.
The KeyWriter binary doesn't change between SDK 8.6 and SDK 10.0, it will be difference between the SR1.1 (B version) and SR2.0 (C version). The only differences would be the KeyWriter application the build for which would be in line with the SDK driver updates.
There should be no issues in getting the KeyWriter to work with SDK10.0.
regards
Suman
Hi, Zhang
One question, one suggestion, curious to know
If you mark "Sciclient_loadFirmware" function, can it print "SCICLIENT load firmware END"?
Because we need to know, does this issues real caused by loading DMSC firmware.
Gibbs
Hi Zhang,
Currently, we have successfully burned the keywriter onto the board using SDK 8.6
Thanks for the confirmation. Closing this ticket.
regards
Suman