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.
Hi Ti support team,
I use the J721eEVM board and ti-processor-sdk-rtos-j721e-evm-07_03_00_07 SDK.
Boot mode setting:
SW3[1-8] = 0xxx xxxx SW8[1-8] = 0000 0000 SW9[1-8] = 0100 0000
1. use the SDK default address
The SBL flash to OSPI is successful, but there is no any print on the mcu uart console after change the boot mode to OSPI.
And I found that the generated sbl_cust_img_mcu1_0_release.tiimage size is greater than 256k. But the OSPI_LOCATION_SYSFW_BIN start address is 0x40000.
I think part of sbl_cust_img_mcu1_0_release.tiimage will be overwiter by tifs.bin. Is it the problem?
total 24452
-rw-r--r-- 1 kezhh users 247036 Aug 2 12:50 app
-rw-r--r-- 1 kezhh users 423044 Aug 2 12:59 atf_optee.appimage
drwxr-xr-x 2 kezhh users 4096 Jul 30 09:29 atf_optee_dir
-rw-r--r-- 1 kezhh users 239932 Aug 2 12:52 can_boot_app_mcu_rtos_mcu1_0_release_ospi.appimage
-rw-r--r-- 1 kezhh users 8951852 Aug 2 12:59 ifs_qnx.appimage
-rw-r--r-- 1 kezhh users 7212036 Aug 2 12:59 lateapp1
-rw-r--r-- 1 kezhh users 7118980 Aug 2 12:59 lateapp2
drwxr-xr-x 2 kezhh users 4096 Aug 2 12:59 rprcs
-rw-r--r-- 1 kezhh users 264727 Aug 2 12:50 sbl_cust_img_mcu1_0_release.tiimage
-rw-r--r-- 1 kezhh users 289623 Aug 2 12:48 tiboot3.bin
-rwxr-xr-x 1 kezhh users 263072 Aug 2 12:48 tifs.bin
2. change the OSPI_LOCATION_SYSFW_BIN start address to 0x50000.
The SBL flash to OSPI is successful, but there is no any print on the mcu uart console after change the boot mode to OSPI.
3. Use sd card boot mode
sbl boot is successful.
Hi,
TI is not aware of any OSPI boot issues with the PSDK QNX 7.3 release.
Will attempt to reproduce the issue and will provide feedback.
Have any S/W changes been made, or is the default PSDK under test?
Regards,
kb
Hi Yun,
I too am having issues with the PSDK QNX 7.3 SBL OSPI boot, where SBL SD boot is working fine.
Will continue to investigate and let you know of any findings that are not specific to my build environment.
Regards,
kb
Hi Yun,
Can you please try the below modification and share results?
Modify file, ti-processor-sdk-rtos-j721e-evm-07_03_00_07/vision_apps/makerules/makefile_sbl.mak to use the following addresses:
With these settings, the SBL OSPI boot for QNX was functional in local SDK 7.3 testing.
Regards,
kb
Hi Yun,
No source code changes should be necessary. Will double check my environment tomorrow, and re-test.
Regards,
kb
Hi Yun,
I retested SDK7.3 SDK with the below changes applied and did not see any issues.
Changes can be applied to ti-processor-sdk-rtos-j721e-evm-07_03_00_07/vision_apps/makerules/makefile_sbl.mak, same as above.
Please note there is an additional update in below patch to include the programming of the OSPI test pattern.
diff --git a/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/vision_apps/makerules/makefile_sbl.mak b/../ti-processor-sdk-rtos-j721e-evm-07_03_00_07/vision_apps/makerules/makefile_sbl.mak index a0858d9..1e613a7 100644 --- a/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/vision_apps/makerules/makefile_sbl.mak +++ b/../ti-processor-sdk-rtos-j721e-evm-07_03_00_07/vision_apps/makerules/makefile_sbl.mak @@ -6,19 +6,21 @@ #OSPI DATA OSPI_LOCATION_SBL_IMAGE=0 -OSPI_LOCATION_SYSFW_BIN=40000 -OSPI_LOCATION_BOOT_APP=A0000 -OSPI_LOCATION_MULTI_CORE_IMAGE_1=1800000 -OSPI_LOCATION_MULTI_CORE_IMAGE_2=2400000 -OSPI_LOCATION_ATF_IMAGE=E0000 -OSPI_LOCATION_LINUX_DTB=16C0000 -OSPI_LOCATION_HLOS_KERNEL_IMAGE=6C0000 +OSPI_LOCATION_SYSFW_BIN=80000 +OSPI_LOCATION_BOOT_APP=100000 +OSPI_LOCATION_MULTI_CORE_IMAGE_1=1FC0000 +OSPI_LOCATION_MULTI_CORE_IMAGE_2=27C0000 +OSPI_LOCATION_ATF_IMAGE=1C0000 +OSPI_LOCATION_LINUX_DTB=1EC0000 +OSPI_LOCATION_HLOS_KERNEL_IMAGE=7C0000 +OSPI_PATTER=3FE0000 OSPI_BINARIES_PATH=$(VISION_APPS_PATH)/out/sbl_bootfiles +OSPI_PATTERN_FILE=$(PDK_PATH)/packages/ti/board/src/flash/nor/ospi/nor_spi_patterns.bin #UNIFLASH INFO UNIFLASH_VERSION=uniflash_6.0.0 UNIFLASH_DIR=${HOME}/ti/$(UNIFLASH_VERSION) -UNIFLASH_COM_PORT=/dev/ttyUSB5 +UNIFLASH_COM_PORT=/dev/ttyUSB1 UNIFLASH_SCRIPT=$(UNIFLASH_DIR)/dslite.sh ifneq ("$(wildcard $(UNIFLASH_SCRIPT))","") @@ -235,7 +237,7 @@ sbl_bootimage_hs: sbl_bootimage_sd_hs sbl_bootimage_ospi_hs sbl_atf_optee sbl_vi sbl_bootimage_flash_uniflash_programmer: ifeq ($(UNIFLASH_FOUND), yes) - $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(UNIFLASH_DIR)/processors/FlashWriter/j721e_evm/uart_j721e_evm_flash_programmer_release.tiimage -i 0 + $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(UNIFLASH_DIR)/processors/FlashWriter/j721e_evm/uart_j721e_evm_flash_programmer_release.tiimage -i 0 || true else echo "Uniflash not found! Please install uniflash or update the uniflash path in makefile" endif @@ -243,11 +245,13 @@ endif sbl_bootimage_flash_sbl_sysfw_bootapp: ifeq ($(UNIFLASH_FOUND), yes) #SBL Image - $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_BINARIES_PATH)/sbl_cust_img_mcu1_0_release.tiimage -d 3 -o $(OSPI_LOCATION_SBL_IMAGE) + $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_BINARIES_PATH)/sbl_cust_img_mcu1_0_release.tiimage -d 3 -o $(OSPI_LOCATION_SBL_IMAGE) || true + #OSPI Pattern file + $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_PATTERN_FILE) -d 3 -o $(OSPI_PATTERN) || true #SYSFW BIN - $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_BINARIES_PATH)/tifs.bin -d 3 -o $(OSPI_LOCATION_SYSFW_BIN) + $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_BINARIES_PATH)/tifs.bin -d 3 -o $(OSPI_LOCATION_SYSFW_BIN) || true #Boot App - $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_BINARIES_PATH)/can_boot_app_mcu_rtos_mcu1_0_release_ospi.appimage -d 3 -o $(OSPI_LOCATION_BOOT_APP) + $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_BINARIES_PATH)/can_boot_app_mcu_rtos_mcu1_0_release_ospi.appimage -d 3 -o $(OSPI_LOCATION_BOOT_APP) || true else echo "Uniflash not found! Please install uniflash or update the uniflash path in makefile" endif @@ -255,9 +259,9 @@ endif sbl_bootimage_flash_hlos: ifeq ($(UNIFLASH_FOUND), yes) #ATF Image - $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_BINARIES_PATH)/atf_optee.appimage -d 3 -o $(OSPI_LOCATION_ATF_IMAGE) + $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_BINARIES_PATH)/atf_optee.appimage -d 3 -o $(OSPI_LOCATION_ATF_IMAGE) || true #HLOS Image - $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_BINARIES_PATH)/ifs_qnx.appimage -d 3 -o $(OSPI_LOCATION_HLOS_KERNEL_IMAGE) + $(UNIFLASH_SCRIPT) --mode processors -c $(UNIFLASH_COM_PORT) -f $(OSPI_BINARIES_PATH)/ifs_qnx.appimage -d 3 -o $(OSPI_LOCATION_HLOS_KERNEL_IMAGE) || true else echo "Uniflash not found! Please install uniflash or update the uniflash path in makefile" endif
Regards,
kb
Hi Yun
The OSPI test pattern is used as part of the OSPI tuning. The S/W algorithm follows recommendations at OSPI Tuning Procedure https://www.ti.com/lit/pdf/spract2.
The source code for this can be referenced at https://bitbucket.itg.ti.com/projects/PROCESSOR-SDK/repos/pdk/browse/packages/ti/board/src/flash/nor/ospi/nor_spi_phy_tune.c.
This code references the pattern from https://bitbucket.itg.ti.com/projects/PROCESSOR-SDK/repos/pdk/browse/packages/ti/board/src/flash/nor/ospi/nor_spi_patterns.c.
Regards,
kb