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.

AM263P4-Q1: AM263p HSM hsm_getversion_system example does not work

Part Number: AM263P4-Q1
Other Parts Discussed in Thread: UNIFLASH, AM263P4, SYSCONFIG

Tool/software:

Hi

I'm encountering issues with HSM_getversion example from TIFS tifs_am263px_10_00_00_05.

I'm using CCS THEIA 1.5.1.3, MCU SDK 10_01_00_34.

I managed to generate all "HS" images as part of the TIFS for HSM_getversion example.

I have the following files:

- sbl_uart_uniflash.release.hs.tiimage

- sbl_ospi.release.hs.tiimage

- hsm_getversion_system.release.appimage.hs

I tried the ROM boot flow using the python script with the following command : 

python uart_uniflash.py -p COM14 --cfg=sbl_prebuilt/am263px-cc/default_sbl_ospi_test_cc.cfg

The config file content is the following: 

# First point to sbl_uart_uniflash binary, which function's as a server to flash one or more files
--flash-writer=sbl_prebuilt/am263px-cc/sbl_uart_uniflash.release.hs.tiimage

# Program the OSPI PHY tuning attack vector
--operation=flash-phy-tuning-data

# When sending bootloader make sure to flash at offset 0x0. ROM expects bootloader at offset 0x0
--file=sbl_prebuilt/am263px-cc/sbl_ospi.release.hs.tiimage --operation=flash --flash-offset=0x0

# When sending application image, make sure to flash at offset 0x81000 (default) or to whatever offset your bootloader is configured for
--file=C:/ti/tifs_am263px_10_00_00_05/examples/hsm_getversion/am263px/system_nortos/hsm_getversion_system.release.appimage.hs --operation=flash --flash-offset=0x81000

I tried both with a control card and a launchpad but invariably the flashing process stalls at the step --operation=flash-phy-tuning-data with sbl_uart_uniflash.release.hs.tiimage.

The file is parsed successfully.

The feedback I get on the terminal is the following:

It seems the flash writer is getting corrupted in some way.

I can't find any people encountering the same issues in the forum.

That's preventing me to progress with development to use the HSM services.

Could you please let me know what can cause this behaviour ?

Thanks

Regards

Seb

  • Hi Seb,

    Apologies you had to face this issue, let me check about this issue internally with the team to understand more.

  • Hi Seb another recommendation is to use latest CCS.

  • Hi Nilabh

    Thanks for looking into this.

    I managed to get it to work yesterday evening.

    I was not using the latest OTP writer version and the flash address in the doc was incorrectly mentioned at 0x80000 instead of 0x81000.

    Now a couple of question:

    - What's happening with CCS vs CCS THEIA ? CCS THEIA was meant to replace CCS and be the tool to use going forward but CCS got a new release in April. What are TI plans on this ? 

    - Now the device is converted to HS-SE should the device types and some other options be changes in the devconfig.mak file to match the build parameters in the documentation ?

    - We have still a lot of development to do and flashing the SW each time for debug and going though the load symbols steps is a lot of faf to start a debug session and it is quite a slow process. Is there a more efficient way to proceed ?

    Looking forward to reading from you.

    Thanks

    Regards

    Seb

  • Hi Seb, Glad to know that its working,

    lash address in the doc was incorrectly mentioned at 0x80000 instead of 0x81000.

    Can you share the link, I will get it corrected for next release

  • - What's happening with CCS vs CCS THEIA ? CCS THEIA was meant to replace CCS and be the tool to use going forward but CCS got a new release in April. What are TI plans on this ?

    CCS 20.0(April release) is CCS theia and this will be officially supported by SDK from 11.0 release onwards

    While you can use CCS theia, some scripts like load_sbl.json do not work and make file based build is not fully validated by us.

  • Yes this would be ideal.

    - Now the device is converted to HS-SE should the device types and some other options be changes in the devconfig.mak file to match the build parameters in the documentation ?
  • - We have still a lot of development to do and flashing the SW each time for debug and going though the load symbols steps is a lot of faf to start a debug session and it is quite a slow process. Is there a more efficient way to proceed ?

    I am sorry that you had to face this problem,

    Is it a multicore project development?

  • Hi

    Can you share the link, I will get it corrected for next release

    --> It is in the documentation delivered with the tifs SDK.

    file:///C:/ti/tifs_am263px_10_00_00_05/docs/api_guide_am263px/html/EXAMPLES_HSM_GET_VERSION.html

    Thanks for getting this corrected.

    CCS 20.0(April release) is CCS theia and this will be officially supported by SDK from 11.0 release onwards

    --> Does CCS20.0 can support AM263P SDK 10_01_00_34 or we need to wait until SDK 11.0 is released before moving to CCS 20.0?

    If yes, do you have an ETA as to when SDK 11.0 will be released for AM263P ?

    Is it a multicore project development?

    --> Yes ... there are 2 projects in fact.

    Well it is a single core UDS bootloader launching a multicore application. 

    There might be a third strand as I read somewhere (but I can't find the info back again) that there is restriction in the size sbl can be (256k memory serve).

    The UDS bootloader at the moment would be the sbl but it is it ~400k. Therefore if the restriction is confirmed we will have to do a "light" sbl probably based on provided examples, launching the UDS bootloader launching the Application SW.

    Could you confirm if this restriction applies for the AM263P4 ?

    Looking forward to read from you.

    Regards

    Seb

  • There might be a third strand as I read somewhere (but I can't find the info back again) that there is restriction in the size sbl can be (256k memory serve).

    So total SBL size is 900KB, but AM263P4 also supports redundant boot i.e if SBL at location 0x0 is invalid, it will look for SBL at 0x2000 and 0x4000,

    If you are not planning on using the redundant boot feature, you can have a bigger SBL size.

  • OK that 's a good one.

    We do not plan to use the redundant boot. Is the documentation up to date with what you described ?

    Where would be the correct source to look into ?

    Thanks

  • Hi Nilabh

    Building on the above, I'm now introducing AES encryption in my code taking inspiration from the AES example in the TIFS.

    When building the code I'm stuck with this error:

    Those 2 variables are indeed declared external in dma.h but are not defined.

    I cannot import the AES example in CCS theia. Getting the error:

    However the example builds ok from the command line.

    Opening the sysConfig gui from the example, I can't see anything related to the DMA but the variables are in the the generated driver config files.

    So far I can't figure out how to make SysConfig generate those variables in my main project.

    Would you be able to point me out into the right direction please.

    Thanks.

    Regards

    Seb

  • Hi 

    Example from the MCU SDK instead of the TIFS seems to import & build ok.

    Should have looked in there first.

    Regards

    Seb