Incorrect FDCB for Adesto EcoXIP?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Incorrect FDCB for Adesto EcoXIP?

3,514 Views
jackking
Senior Contributor I

Hello,

I am trying to use the Secure Provisioning Tool to upload an XIP application to an Embedded Artists i.MX RT1062 board which uses the Adesto EcoXIP (ATXP032) for Flash.

Using MCUXpresso (and J-Link debugger) the application uploads and runs fine.
Switching to Secure Provisioning Tool (or MCUBootUtility) the application uploads, but cannot execute.

I am also using a custom flashloader.bin based on the MCUboot SDK example in MCUXpresso SDK 2.8.6

I used MCUBootUtility to read out the flash memory (from location 0x60000000) to compare the two images.

There are some substantial differences between the two methods.
Specifically, the Flash Device Config Block (which starts at 0x60000000) is different.  Then the IVT, Boot Data and DCD sections (which start at 0x60001000) are also very different.

It seems that these differences cause the application to fail to run.  I manually removed the boot header from an MCUExpresso based binary image and loaded it using Secure Provisioning Tool directly, and it did successfully execute from Flash (although very slowly).  But this doesn't fix the FDCB section, which seems cause the poor execution performance.

It looks like the flashloader function "flexspi_nor_generate_config_block_adesto_octalflash" is responsible for setting up the FDCB section.

Here are some screenshots highlighting my findings:

_Users_ripe909_Documents_MCUXpressoIDE_11_2_0_workspace_MIMXRT1062xxxxA_Project_OS_TEST10_Debug_MIMXRT1062xxxxA_Project_OS_TEST10_map__GCC3_.pngUntitled_and__Users_ripe909_Documents_MCUXpressoIDE_11_2_0_workspace_MIMXRT1062xxxxA_Project_OS_TEST10_Debug_MIMXRT1062xxxxA_Project_OS_TEST10_map__GCC3_.png

 

Is it possible that the FDCB configuration for the Adesto Octal flash is incorrect or hasn't been updated in the SDK example for the flashloader?

thanks

0 Kudos
7 Replies

3,057 Views
Robert123
Contributor III

Hi, was this issue ever resolved. I wonder if its related to my issue: https://community.nxp.com/t5/i-MX-RT/Run-bootloader-from-application-rt1062/m-p/1282335#M14372

Also, where can I find the file "fcb.bin"?

0 Kudos

3,446 Views
marek-trmac
NXP Employee
NXP Employee

Hi jackking,

in Secure Provisioning Tool, you can use custom FCB:

  1. select Boot Type on toolbar: "flex-spi-nor/user FCB file"
  2. click Edit button and select existing custom "fcb.bin" file

The other Boot Type devices are provided as a templates with simplified configuration. You can always customize simplified configuration using Edit button.

Hope this helps.

Regards, Marek

Regards,
Marek
0 Kudos

3,440 Views
jackking
Senior Contributor I

I don't think there is an option to use a custom FCB bin file.  You can use a JSON config file and edit a few settings.

 

flex-spi-nor_EA_iMX_RT10x2_DevKit_Adesto_EcoXiP_Device_Configuration_and_MCUXpresso_Secure_Provisioning_-__Users_ripe909_secure_provisioning.png

0 Kudos

3,431 Views
marek-trmac
NXP Employee
NXP Employee

Hi jackking,

I'd recommend to try again the following two steps:

in Secure Provisioning Tool, you can use custom FCB:

  1. select Boot Type on toolbar: "flex-spi-nor/user FCB file"
  2. click Edit button and select existing custom "fcb.bin" file

Custom FCB was supported in Secure Provisioning V1 and I believe it is still there.

Regards

Marek

Regards,
Marek
0 Kudos

3,425 Views
jackking
Senior Contributor I

OK, I see that.  I assume I can just extract a binary FCB file from an image created via MCUXpresso and then use that in Secure Provisioning.

 

Select_file_with_configuration_block_and_MCUXpresso_Secure_Provisioning_-__Users_ripe909_secure_provisioning.png

3,485 Views
liborukropec
NXP Employee
NXP Employee

Hello jaccking,

1. your custom flashloader - do you use it with Secure Provisioning?

2. what version of Secure Provisioning Tool are you using? 2.1?

3. The question to the adesto flash supported by the flashloader - this question should be placed probably in the "MCUXpresso SDK" community.

 

Regards,

Libor

0 Kudos

3,483 Views
jackking
Senior Contributor I

1. I used both my custom flashloader and the one that ships with Secure Provisioning.  Both with Secure Provisioning v2.0 and v2.1.  I had to use the Embedded Artists EVK to use the provided flashloader, as my custom board needs the modified flashloader to work.

2. I tried both Secure Provisioning 2.0 and 2.1, with the same result.

3. I will also post to the SDK community and see what the support for Adesto EcoXIP looks like.

Thanks

0 Kudos