Hello NXP Support Team,
I am currently evaluating HSE on the S32G274A platform and would appreciate some guidance regarding the recommended implementation path.
Current environment:
* Device: S32G274A
* Core: Cortex-M7
* IDE: S32 Design Studio 3.6
* HSE package: HSE_DEMOAPP_S32G2XX_0_1_0_16
* HSE firmware: HSE_FW_S32G2XX_0_1_0_16
Current progress:
* I am following AN14070 ("How to Run HSE Demo Application on Cortex-M7 Core of S32G2").
* The HSE demo project can be imported and compiled successfully.
* However, when opening the IVT View, S32DS reports an exception and the IVT view cannot be created:
com.nxp.swtools.ivt.views.IVTView
(I can provide the complete error log if needed.)
Project objective:
Currently, our bootloader implements software-based secure boot:
1. Calculate SHA-256 of the application image.
2. Verify RSA-2048 signature using a public key stored in flash.
3. Boot the application only if verification succeeds.
We would like to migrate this implementation to HSE-based services on Cortex-M7.
Questions:
1. Is AN14070 still the recommended starting point for HSE evaluation on S32G274A with S32DS 3.6?
2. Is the IVT View mandatory for evaluating HSE services such as:
* SHA-256
* AES
* RSA signature verification
Or is it only required for generating the blob image and installing HSE firmware?
3. Once HSE firmware is installed, is there any reference example demonstrating:
* SHA-256 calculation through HSE
* RSA-2048 signature verification through HSE
* Public key import into HSE key catalog
4. Are there any application notes, training materials, or demo projects that demonstrate migrating a software-based secure boot implementation to HSE services on Cortex-M7?
5. For a bootloader that currently performs SHA-256 + RSA2048 verification before jumping to the application, what is the recommended migration path using HSE?
Any guidance, reference projects, or recommended documentation would be greatly appreciated.
Best regards,
我按照步骤操作到3. The IVTView, shown in the following figure, displays the blocks DCD, HSE, Application bootloader, Boot
configuration and Automatic Align that are relevant for the generation of the blob image 我的S32 Design Studio for S32 Platform 3.6.0打不开IVT VIEW 报错:Could not create the view: com.nxp.swtools.ivt.views.IVTView java.lang.Exception
at org.eclipse.ui.internal.ViewReference.createErrorPart(ViewReference.java:115)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:101)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPart(CompatibilityPart.java:304)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:342)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:976)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:938)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:138)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:385)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:311)
Hi,tom9
Thank you for contacting us.
The AN14070 remains a valid starting point for Cortex‑M7 evaluation, but it is recommended to use it together with the HSE Demo App package and HSE FW reference documentation. You can share detail error information with me in your testing.
Regarding the application of secure boot on the S32G, you can try to refer to the following content:
S32G_Secure_boot chinese/english version.
At present, there are no specific documents directly meet your requirements. I will at the internal channels to help you in checking. I will reply to you if I have the results.
BR
Joey
Hi,tom9
Thank you for your reply.
The issue should be related the S32DS version. Refer to the HSE_DEMOAPP_S32G2XX_0_1_0_16_ReadMe.pdf, please try to use this recommended version.
BR
Joey
I've finished creating the blob and burned it, but I can't see any print information on the serial port, and Trace32 can't load it either. Where should I start troubleshooting? Please take a look as soon as possible.
Hi, tom9
1. Based on AN14070, the blob is created and flashed. It then boots via QSPI to load the HSE firmware and start the M7_0. After QSPI boot, you can try using Trace32 to connect to the M7_0 and check the SRAM contents to see if the app has been loaded to the correct address.
2. Load the HSE demo .elf file only after the application starts normally. Then proceed to the next step in the process, moving to SRAM.
BR
Joey
Your answers never meet my expectations. I can now print information normally, as shown below:
HSE FW Version: 0.1.0_1.0.9
HSE FW Image: Pink
HSE FW up and running! Status:
HSE_STATUS_RNG_INIT_OK
HSE_STATUS_INIT_OK
HSE_STATUS_CUST_SUPER_USER
The program got stuck here and couldn't proceed. After commenting out `DEBUG_LOOP(gZero);`, it was found that it was stuck in `HSE_Config();`. /* Backup primary image */
ASSERT(FLASH_OP_OK == Flash_WriteData_FromFlash(IVT.pSysImage_bck, The code `ITV.pSysImage, MAX_SYS_IMG_SIZE)` gets stuck here. Subsequent code such as `HSE_Aes_Example` also fails to execute.
Hi, tom9
Our support system has received your questions. Your request involves many issues, and our internal experts are already providing support and responses.
BR
Joey