jetpack 4.2.1 Supports FreeRTOS for SPE (Cortex-R5) BUT THERE IS NO TUTORIAL !

Supports FreeRTOS for SPE (Cortex-R5). But I deal with 2 weeks to install and configuration. I could’t have done yet it. I found 2014 demo and toolchain but 2014 in official site. Anyone did install for Jetson tx2. Could you mention step by step ?
There is README.txt

README.txt
How to get started:
1. Refer to the rt-aux-cpu-demo/doc directory for steps to compile and flash this project.

what does it meaning ?

Hello, hamzaygrtc:
After you download and decompress SPE firmware source code, you can check the files in doc directory.
compiel-flash.md will guide you how to compile and flash the FW to device, which is the start of SPE FW development.

What’s the problem you met, compile or flash? you can paste your log here.

br
Chenjian

hi jachen,
I did export issues for compiler butI got following error,

CC clk.c
/home/nvidia/Downloads/gcc-arm-none-eabi-8-2019-q3-update-linux/gcc-arm-none-eabi-8-2019-q3-update/bin/arm-none-eabi-gcc: /home/nvidia/Downloads/gcc-arm-none-eabi-8-2019-q3-update-linux/gcc-arm-none-eabi-8-2019-q3-update/bin/arm-none-eabi-gcc: binary file dont running
Makefile:296: recipe for target '/home/nvidia/Desktop/l4t_rt_aux_cpu_src/l4t-rt/out/t18x/OBJ/clk.o' failed
make: *** [/home/nvidia/Desktop/l4t_rt_aux_cpu_src/l4t-rt/out/t18x/OBJ/clk.o] Error 126

didnt compiler.

Hello, hamzaygrtc:
Please follow the doc and that’s the verified tool chain.
https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q3-update

(though your tool chain is different, I don’t know why it fails to run. SPE FW should be cross-compiled in PC. Is that the reason?)

br
Chenjian

Hi ,Jachen:

I did following command but same errors.

export TOP=export TOP=/home/nvidia/Desktop/l4t_rt_aux_cpu_src/l4t-rt/
export CROSS_COMPILE=export CROSS_COMPILE=/home/nvidia/Desktop/gcc-arm-none-eabi-4_8-2014q3-20140805-linux/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-
export OUTDIR=${TOP}/out
export FREERTOS_DIR=${TOP}/FreeRTOSV8.1.2/FreeRTOS/Source
export FREERTOS_COMMON_DIR=${TOP}/freertos-common

Same Error.

CC clk.c
/home/nvidia/Desktop/gcc-arm-none-eabi-4_8-2014q3-20140805-linux/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc: /home/nvidia/Desktop/gcc-arm-none-eabi-4_8-2014q3-20140805-linux/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc: binary file dont running
Makefile:296: recipe for target '/home/nvidia/Desktop/l4t_rt_aux_cpu_src/l4t-rt/out/t18x/OBJ/clk.o' failed
make: *** [/home/nvidia/Desktop/l4t_rt_aux_cpu_src/l4t-rt/out/t18x/OBJ/clk.o] Error 126

Hello, hamzaygrtc:
What’s your PC system?
I don’t know why cross compilor fails to run in your system.
That’s not related to SPE firmware.

At least, log should look like when running cross gcc:

~/temp$ ./gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc
arm-none-eabi-gcc: fatal error: no input files
compilation terminated.

Hi jachen :

Processors: ARMv8 Processor rev 3 (v8l) × 4 ARMv8 Processor rev 0 (v8l) × 2
Graphic : NVIDIA Tegra X2 (nvgpu)/integrated
Os type : 64-bit
Disk : 29,5 GB
Memory: 7,7 GB

I did same thing bu I got this error message.

bash: ./arm-none-eabi-gcc: Cannot run binary file: Executable style error

I did execute permission.but same

Hello, hamzaygrtc:
Please decompress and compile the SPE FW in PC, not in device. Also, you need PC to flash the SPE FW to device.
That tool chain is run in X86.

br
Chenjian

Hi jachen :

thanks for help.I compiled.But there are few questions.

  1. If I do flash to my device how to control FreeRTOS and jetson tx2. Flashing means changing to pc OS?
  2. When I write a code. I compiler in intel cpu then flashing to device everytime?
  3. there is no Linux_for_Tegra/bootloader directory in my tx2 device ?

I did decompress and compile. Should I create new topic for these above questions ?

Hello,

  1. ‘flashing SPE FW’ means to write the SPE firmware image into device EMMC spw-fw partition. After power-on/reset the device, SPE firmware will run.
  2. yes.
  3. That directory locates in host PC and is for flashing device.

br
ChenJian

Hello,
Thanks for answer

How I could check this demo? I want to blink leds with freertos semaphore. How could I try them?
Otherthing,I want to install just FreeRTOS instead of ubuntu . How could I do that? Is this possible? or if I flash my tx2 ,would tx2 be like this ?

Hello, hamzaygrtc:

  1. Which LEDs you want to control? maybe you can toggle GPIOs to control an external LED? Refer to GPIO app and doc for details.
  2. FreeRTOS is running in AON R5, and ubuntu is running in CCPLEX. They are independent. Not sure what’s your goal about ‘I want to install just FreeRTOS instead of ubuntu’.

br
ChenJian

Thank you jachen.
spe-fw has been updated successfully.

Before flashing , how to run my code for debugging ?

I wonder that freertos I mean, writing code is running everytime ?
If I want to disable to freertos issues, how to do it?

Hello, hamzaygrtc:
SPE FW will be loaded and run in bootloader stage. So basically, yes, SPE FW is running everytime device boots.
You can flash the device with default SPE firmware and maybe that’s almost same as you ‘want to disable to freertos issues’.

br
Chenjian

Hello jachen,

You mean I dont ever debugging any IDE or executable file? Accually, I want to see output for my code.
You know. For debugging you are writing printf or etc. in order to see output…
How could I do that ?

Hello, hamzaygrtc:
I saw your another thread:
https://devtalk.nvidia.com/default/topic/1061995/jetson-tx2/how-could-i-debug-or-run-spe-fw-demo-/

Hope that can help.

br
Chenjian

Hello,

[   0.0021 ] Generating RCM messages
[   0.0029 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm /home/nvidia/Desktop/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin 0 0
[   0.0036 ] RCM 0 is saved as rcm_0.rcm
[   0.0039 ] RCM 1 is saved as rcm_1.rcm
[   0.0039 ] List of rcm files are saved in rcm_list.xml
[   0.0039 ] 
[   0.0039 ] Signing RCM messages
[   0.0045 ] tegrasign_v2 --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0052 ] Assuming zero filled SBK key
[   0.0078 ] 
[   0.0078 ] Copying signature to RCM mesages
[   0.0085 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml
[   0.0099 ] 
[   0.0099 ] Boot Rom communication
[   0.0105 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml --skipuid
[   0.0112 ] RCM version 0X180001
[   0.0121 ] Boot Rom communication completed
[   1.0191 ] 
[   2.0234 ] tegrarcm_v2 --isapplet
[   2.0261 ] Applet version 01.00.0000
[   2.0452 ] 
[   2.0482 ] Retrieving EEPROM data
[   2.0485 ] tegrarcm_v2 --oem platformdetails eeprom cvm /home/nvidia/Desktop/Linux_for_Tegra/bootloader/cvm.bin
[   2.0514 ] Applet version 01.00.0000
[   2.0689 ] Saved platform info in /home/nvidia/Desktop/Linux_for_Tegra/bootloader/cvm.bin
[   2.1424 ] 
Board ID(3310) version(B02) sku(1000) revision(E.0)
copying bctfile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg)... done.
copying misc_config(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-misc-si-l4t.cfg)... done.
copying pinmux_config(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg)... done.
copying pmic_config(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg)... done.
copying pmc_config(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg)... done.
copying prod_config(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg)... done.
copying scr_config(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/minimal_scr.cfg)... done.
copying scr_cold_boot_config(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/mobile_scr.cfg)... done.
copying bootrom_config(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg)... done.
copying dev_params(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/emmc.cfg)... done.
Existing bootloader(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying initrd(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating /home/nvidia/Desktop/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb to rootfs... done.
Making Boot image... done.
Existing sosfile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin) reused.
copying tegraboot(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/nvtboot.bin)... done.
Existing cpu_bootloader(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
Existing mb2blfile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
Existing mtspreboot(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/preboot_d15_prod_cr.bin) reused.
Existing mts(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/mce_mts_d15_prod_cr.bin) reused.
Existing mb1file(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/mb1_prod.bin) reused.
Existing bpffile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/bpmp.bin) reused.
copying bpfdtbfile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb)... done.
Existing scefile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/camera-rtcpu-sce.img) reused.
Existing spefile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/spe.bin) reused.
Existing drameccfile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/dram-ecc.bin) reused.
Existing badpagefile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/badpage.bin) reused.
copying wb0boot(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/warmboot.bin)... done.
Existing tosfile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/tos-trusty.img) reused.
Existing eksfile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/nvidia/Desktop/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb)... done.
Copying nv_boot_control.conf to rootfs
sed: can't read /home/nvidia/Desktop/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Not a directory
sed: can't read /home/nvidia/Desktop/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Not a directory
sed: can't read /home/nvidia/Desktop/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Not a directory
sed: can't read /home/nvidia/Desktop/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Not a directory
sed: can't read /home/nvidia/Desktop/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Not a directory
sed: can't read /home/nvidia/Desktop/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Not a directory
sed: can't read /home/nvidia/Desktop/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Not a directory
sed: can't read /home/nvidia/Desktop/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Not a directory
Existing tbcfile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/cboot.bin) reused.
copying tbcdtbfile(/home/nvidia/Desktop/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb)... done.
copying cfgfile(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/t186ref/cfg/flash_l4t_t186.xml) to flash.xml... done.
Existing flasher(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/nvtboot_recovery_cpu.bin) reused.
Existing flashapp(/home/nvidia/Desktop/Linux_for_Tegra/bootloader/tegraflash.py) reused.
*** Updating [spe-fw] with spe.bin ***
./tegraflash.py --bl nvtboot_recovery_cpu.bin  --chip 0x18 --applet mb1_recovery_prod.bin --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg  --cfg  flash.xml --bins "mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb; tlk tos-trusty.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb"  --cmd "signwrite spe-fw spe.bin; reboot"  
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands
 
[   0.0268 ] tegrasign_v2 --key None --getmode mode.txt
[   0.0282 ] Assuming zero filled SBK key
[   0.0283 ] 
[   0.0285 ] sign_type   : 3808440620
[   0.0285 ] header_magic: e62800ea
[   0.0303 ] tegrahost_v2 --chip 0x18 --align 1_spe.bin
[   0.0315 ] 
[   0.0327 ] tegrahost_v2 --appendsigheader 1_spe.bin zerosbk
[   0.0341 ] 
[   0.0355 ] tegrasign_v2 --key None --list 1_spe_sigheader.bin_list.xml
[   0.0364 ] Assuming zero filled SBK key
[   0.0393 ] 
[   0.0407 ] tegrahost_v2 --updatesigheader 1_spe_sigheader.bin.encrypt 1_spe_sigheader.bin.hash zerosbk
[   0.0417 ] 
[   0.0418 ] Generating RCM messages
[   0.0426 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm mb1_recovery_prod.bin 0 0
[   0.0434 ] RCM 0 is saved as rcm_0.rcm
[   0.0437 ] RCM 1 is saved as rcm_1.rcm
[   0.0437 ] List of rcm files are saved in rcm_list.xml
[   0.0437 ] 
[   0.0437 ] Signing RCM messages
[   0.0446 ] tegrasign_v2 --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0454 ] Assuming zero filled SBK key
[   0.0487 ] 
[   0.0487 ] Copying signature to RCM mesages
[   0.0495 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml
[   0.0506 ] 
[   0.0506 ] Boot Rom communication
[   0.0514 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml
[   0.0522 ] BootRom is not running
[   5.1876 ] 
[   6.1917 ] tegrarcm_v2 --isapplet
[   6.1944 ] Applet version 01.00.0000
[   6.2139 ] 
[   6.2169 ] tegrasign_v2 --key None --getmode mode.txt
[   6.2183 ] Assuming zero filled SBK key
[   6.2185 ] 
[   6.2185 ] Parsing partition layout
[   6.2236 ] tegraparser_v2 --pt flash.xml.tmp
[   6.2248 ] 
[   6.2248 ] Creating list of images to be signed
[   6.2256 ] tegrahost_v2 --chip 0x18 0 --partitionlayout flash.xml.bin --list images_list.xml zerosbk
[   6.2460 ] 
[   6.2461 ] Generating signatures
[   6.2470 ] tegrasign_v2 --key None --list images_list.xml --pubkeyhash pub_key.key
[   6.2476 ] Assuming zero filled SBK key
[   6.4674 ] 
[   6.4674 ] Reading BCT from device for further operations
[   6.4675 ] Generating blob
[   6.4683 ] tegrahost_v2 --chip 0x18 --align blob_nvtboot_recovery_cpu.bin
[   6.4690 ] 
[   6.4696 ] tegrahost_v2 --appendsigheader blob_nvtboot_recovery_cpu.bin zerosbk
[   6.4705 ] 
[   6.4715 ] tegrasign_v2 --key None --list blob_nvtboot_recovery_cpu_sigheader.bin_list.xml
[   6.4721 ] Assuming zero filled SBK key
[   6.4763 ] 
[   6.4772 ] tegrahost_v2 --updatesigheader blob_nvtboot_recovery_cpu_sigheader.bin.encrypt blob_nvtboot_recovery_cpu_sigheader.bin.hash zerosbk
[   6.4781 ] 
[   6.4788 ] tegrahost_v2 --chip 0x18 --align blob_nvtboot_recovery.bin
[   6.4794 ] 
[   6.4801 ] tegrahost_v2 --appendsigheader blob_nvtboot_recovery.bin zerosbk
[   6.4809 ] 
[   6.4817 ] tegrasign_v2 --key None --list blob_nvtboot_recovery_sigheader.bin_list.xml
[   6.4823 ] Assuming zero filled SBK key
[   6.4842 ] 
[   6.4851 ] tegrahost_v2 --updatesigheader blob_nvtboot_recovery_sigheader.bin.encrypt blob_nvtboot_recovery_sigheader.bin.hash zerosbk
[   6.4859 ] 
[   6.4866 ] tegrahost_v2 --chip 0x18 --align blob_preboot_d15_prod_cr.bin
[   6.4872 ] 
[   6.4879 ] tegrahost_v2 --appendsigheader blob_preboot_d15_prod_cr.bin zerosbk
[   6.4887 ] 
[   6.4898 ] tegrasign_v2 --key None --list blob_preboot_d15_prod_cr_sigheader.bin_list.xml
[   6.4905 ] Assuming zero filled SBK key
[   6.4919 ] 
[   6.4928 ] tegrahost_v2 --updatesigheader blob_preboot_d15_prod_cr_sigheader.bin.encrypt blob_preboot_d15_prod_cr_sigheader.bin.hash zerosbk
[   6.4936 ] 
[   6.4943 ] tegrahost_v2 --chip 0x18 --align blob_mce_mts_d15_prod_cr.bin
[   6.4950 ] 
[   6.4957 ] tegrahost_v2 --appendsigheader blob_mce_mts_d15_prod_cr.bin zerosbk
[   6.4989 ] 
[   6.4999 ] tegrasign_v2 --key None --list blob_mce_mts_d15_prod_cr_sigheader.bin_list.xml
[   6.5005 ] Assuming zero filled SBK key
[   6.5434 ] 
[   6.5444 ] tegrahost_v2 --updatesigheader blob_mce_mts_d15_prod_cr_sigheader.bin.encrypt blob_mce_mts_d15_prod_cr_sigheader.bin.hash zerosbk
[   6.5471 ] 
[   6.5479 ] tegrahost_v2 --chip 0x18 --align blob_bpmp.bin
[   6.5486 ] 
[   6.5492 ] tegrahost_v2 --appendsigheader blob_bpmp.bin zerosbk
[   6.5505 ] 
[   6.5515 ] tegrasign_v2 --key None --list blob_bpmp_sigheader.bin_list.xml
[   6.5520 ] Assuming zero filled SBK key
[   6.5630 ] 
[   6.5640 ] tegrahost_v2 --updatesigheader blob_bpmp_sigheader.bin.encrypt blob_bpmp_sigheader.bin.hash zerosbk
[   6.5652 ] 
[   6.5659 ] tegrahost_v2 --chip 0x18 --align blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb
[   6.5666 ] 
[   6.5672 ] tegrahost_v2 --appendsigheader blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb zerosbk
[   6.5684 ] 
[   6.5692 ] tegrasign_v2 --key None --list blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb_list.xml
[   6.5698 ] Assuming zero filled SBK key
[   6.5795 ] 
[   6.5805 ] tegrahost_v2 --updatesigheader blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.hash zerosbk
[   6.5816 ] 
[   6.5824 ] tegrahost_v2 --chip 0x18 --align blob_tos-trusty.img
[   6.5830 ] 
[   6.5837 ] tegrahost_v2 --appendsigheader blob_tos-trusty.img zerosbk
[   6.5847 ] 
[   6.5855 ] tegrasign_v2 --key None --list blob_tos-trusty_sigheader.img_list.xml
[   6.5861 ] Assuming zero filled SBK key
[   6.5927 ] 
[   6.5937 ] tegrahost_v2 --updatesigheader blob_tos-trusty_sigheader.img.encrypt blob_tos-trusty_sigheader.img.hash zerosbk
[   6.5947 ] 
[   6.5955 ] tegrahost_v2 --chip 0x18 --align blob_eks.img
[   6.5961 ] 
[   6.5968 ] tegrahost_v2 --appendsigheader blob_eks.img zerosbk
[   6.5974 ] 
[   6.5982 ] tegrasign_v2 --key None --list blob_eks_sigheader.img_list.xml
[   6.5988 ] Assuming zero filled SBK key
[   6.5990 ] 
[   6.5999 ] tegrahost_v2 --updatesigheader blob_eks_sigheader.img.encrypt blob_eks_sigheader.img.hash zerosbk
[   6.6005 ] 
[   6.6012 ] tegrahost_v2 --chip 0x18 --align blob_tegra186-quill-p3310-1000-c03-00-base.dtb
[   6.6019 ] 
[   6.6026 ] tegrahost_v2 --appendsigheader blob_tegra186-quill-p3310-1000-c03-00-base.dtb zerosbk
[   6.6037 ] 
[   6.6045 ] tegrasign_v2 --key None --list blob_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb_list.xml
[   6.6052 ] Assuming zero filled SBK key
[   6.6123 ] 
[   6.6131 ] tegrahost_v2 --updatesigheader blob_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt blob_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.hash zerosbk
[   6.6141 ] 
[   6.6150 ] tegrahost_v2 --chip 0x18 --generateblob blob.xml blob.bin
[   6.6156 ] number of images in blob are 9
[   6.6158 ] blobsize is 4097256
[   6.6159 ] Added binary blob_nvtboot_recovery_cpu_sigheader.bin.encrypt of size 203312
[   6.6175 ] Added binary blob_nvtboot_recovery_sigheader.bin.encrypt of size 89360
[   6.6178 ] Added binary blob_preboot_d15_prod_cr_sigheader.bin.encrypt of size 63104
[   6.6182 ] Added binary blob_mce_mts_d15_prod_cr_sigheader.bin.encrypt of size 2082144
[   6.6186 ] Added binary blob_bpmp_sigheader.bin.encrypt of size 533904
[   6.6190 ] Added binary blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt of size 466240
[   6.6196 ] Added binary blob_tos-trusty_sigheader.img.encrypt of size 313152
[   6.6199 ] Added binary blob_eks_sigheader.img.encrypt of size 1440
[   6.6201 ] Added binary blob_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt of size 344448
[   6.6213 ] 
[   6.6213 ] Sending bootloader and pre-requisite binaries
[   6.6222 ] tegrarcm_v2 --download blob blob.bin
[   6.6229 ] Applet version 01.00.0000
[   6.6456 ] Sending blob
[   6.6457 ] [................................................] 100%
[   7.2108 ] 
[   7.2138 ] tegrarcm_v2 --boot recovery
[   7.2166 ] Applet version 01.00.0000
[   7.2362 ] 
[   8.2406 ] tegrarcm_v2 --isapplet
[   8.2606 ] 
[   8.2637 ] tegradevflash_v2 --iscpubl
[   8.2667 ] CPU Bootloader is not running on device.
[   8.2802 ] 
[   9.2846 ] tegrarcm_v2 --isapplet
[   9.3108 ] 
[   9.3141 ] tegradevflash_v2 --iscpubl
[   9.3171 ] Bootloader version 01.00.0000
[   9.3340 ] Bootloader version 01.00.0000
[   9.3349 ] 
[   9.3350 ] Writing partition
[   9.3379 ] tegradevflash_v2 --write spe-fw 1_spe_sigheader.bin.encrypt
[   9.3406 ] Bootloader version 01.00.0000
[   9.3579 ] Writing partition spe-fw with 1_spe_sigheader.bin.encrypt
[   9.3591 ] [................................................] 100%
[   9.4620 ] 
[   9.4622 ] Coldbooting the device
[   9.4652 ] tegradevflash_v2 --reboot coldboot
[   9.4683 ] Bootloader version 01.00.0000
[   9.4753 ] 
*** The [spe-fw] has been updated successfully. ***

This writes successfully. But There is message in output

sed: can't read /home/nvidia/Desktop/Linux_for_Tegra/rootfs/etc/nv_boot_control.conf: Not a directory
...
...
CPU Bootloader is not running on device.
...
...

This output of flash is normal ? How to check my SPE fireware is flashed or not .

Hello, hamzaygrtc:
From host flash log, SPE FW has already been flashed correctly.
In Jetson TX2, UARTG will be used as SPE firmware debug message (Refer to doc/uart.md for details.) and after SPE firmware runs, some messages will be output from that UART port.

br
Chenjian

General question on the SPE/RTOS. Is there a preferred method to share data between a host process running on L4T and the SPE firmware? I was hoping there was some sort of shared memory/buffer but I can not find an exmaple or tutorial.

Thank!