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 all,
I am using mcu_plus_sdk_am243x_08_03_00_18 on a LP-AM243. I imported the example from examples\networking\lwip\enet_lwip_cpsw\am243x-lp\r5fss0-0_freertos\ti-arm-clang and got it to work by debugger.
But it does not work when I flash the application as explained here. Flashing is fine, but when starting from flash, no action is visible on the Ethernet port, and the output on COM port is just
DMSC Firmware Version 22.1.1--v2022.01 (Terrific Llam
DMSC Firmware revision 0x16
DMSC ABI revision 3.1
For reference, I did the same with the example from examples\drivers\i2c\i2c_led_blink\am243x-lp\r5fss0-0_freertos. This one works both from debugger and Flash as expected. The COM port output when starting from flash is
DMSC Firmware Version 22.1.1--v2022.01 (Terrific Llam
DMSC Firmware revision 0x16
DMSC ABI revision 3.1
[BOOTLOADER_PROFILE] Boot Media : NOR SPI FLASH
[BOOTLOADER_PROFILE] Boot Media Clock : 100.000 MHz
[BOOTLOADER_PROFILE] Boot Image Size : 66 KB
[BOOTLOADER_PROFILE] Cores present :
r5f0-0
[BOOTLOADER PROFILE] SYSFW init : 12190us
[BOOTLOADER PROFILE] System_init : 12289us
[BOOTLOADER PROFILE] Drivers_open : 263us
[BOOTLOADER PROFILE] Board_driversOpen : 147249us
[BOOTLOADER PROFILE] Sciclient Get Version : 10117us
[BOOTLOADER PROFILE] CPU load : 1755us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 183867us
Image loading done, switching to application ...
I2C LED Blink Test Started ...
LED will Blink for 10 loop ...
I2C LED Blink Test Passed!!
All tests have passed!!
Any ideas why the LwIP example cannot run from flash?
One remarkable issue is that to re-start the LwIP example by debugger, it is required to power-cycle the board; this is mensioned in the SDK doc. Why is this, and could this be the reason for the flash problem?
Thanks.
Hi Alexander,
It seems like your device has not flashed the LWIP example. Instead it has the I2C example in it. I suggest you to check the offset in the bootloader syscfg and the offset used in tools\boot\sbl_prebuilt\am243x-lp\default_sbl_ospi.cfg where the application is being flashed.
Hope that helps.
Best Regards,
Aakash
Hi Aakash,
thanks for your response.
Please find below my defauls_sbl_ospi.cfg with the two use cases.
Also below, please find the output when flashing the LwIP example (which I called application_r5_0_0). I guess that everything is flashed well. When booting from flash, I see just the three lines on COM9 - so the I2c led example must be somehow overwritten.
I tried to flash just the bootloader and no appimage at all - this resulted in the same three output lines.
Is there a tool to verify the appimage and appimage_xip, or read back the flash?
Can I make the bootloader output more debug info?
Best regards
Alexander
default_sbl_ospi.cfg:
#-----------------------------------------------------------------------------#
# #
# DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT #
# #
#-----------------------------------------------------------------------------#
#
# By default this config file,
# - points to pre-built flash writer, bootloader for this EVM
# - The application image points to relative path of the ipc echo application image for this EVM
# - Make sure this application is built before running this script
# - You can customized this config file to point to your own bootloader and/or application images
# - You can use --operation=flashverify if you just want to verify the flash contents and not flash the file.
#
# First point to sbl_uart_uniflash binary, which function's as a server to flash one or more files
# --flash-writer=C:/DevTools/TI/mcu_plus_sdk_am243x_08_03_00_18/tools/boot/sbl_prebuilt/am243x-lp/sbl_uart_uniflash.debug.tiimage
--flash-writer=../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage
# Now send one or more files to flash or flashverify as needed. The order of sending files does not matter
# 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=C:/DevTools/TI/mcu_plus_sdk_am243x_08_03_00_18/tools/boot/sbl_prebuilt/am243x-lp/sbl_ospi.debug.tiimage --operation=flash --flash-offset=0x0
--file=../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage --operation=flash --flash-offset=0x0
# i2c-led example
# ... is able to run from flash
# --file=../i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang/Debug/i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang.appimage --operation=flash --flash-offset=0x80000
# --file=../i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang/Debug/i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang.appimage_xip --operation=flash-xip
LwIP example
# ... does NOT run from flash
--file=../application_r5_0_0/Debug/application_r5_0_0.appimage --operation=flashverify --flash-offset=0x80000
--file=../application_r5_0_0/Debug/application_r5_0_0.appimage_xip --operation=flashverify-xip
Output from flashing:
C:\pro\project\eclipse_workspace\boot>flash_program.bat
C:\pro\project\eclipse_workspace\boot>python uart_uniflash.py -p COM9 --cfg=default_sbl_ospi.cfg
Parsing config file ...
Parsing config file ... SUCCESS. Found 5 command(s) !!!
Executing command 1 of 5 ...
Found flash writer ... sending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage
Sending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_tiSending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_tiSending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_tiSending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_tiSending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_tiSending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti Sent flashwriter ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage of size 344407 bytes in 33.69s.
Executing command 2 of 5 ...
Command arguments : --operation=flash-phy-tuning-data
Sent flash phy tuning data in 1.6s.
[STATUS] SUCCESS !!!
Executing command 3 of 5 ...
Command arguments : --file=../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage --operation=flash --flash-offset=0x0
Sending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage Sent ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage of size 343151 bytes in 33.93s.
[STATUS] SUCCESS !!!
Executing command 4 of 5 ...
Command arguments : --file=../application_r5_0_0/Debug/application_r5_0_0.appimage --operation=flashverify --flash-offset=0x80000
Sent ../application_r5_0_0/Debug/application_r5_0_0.appimage of size 532484 bytes in 50.77s.
[STATUS] SUCCESS !!!
Executing command 5 of 5 ...
Command arguments : --file=../application_r5_0_0/Debug/application_r5_0_0.appimage_xip --operation=flashverify-xip
Sent ../application_r5_0_0/Debug/application_r5_0_0.appimage_xip of size 52 bytes in 3.07s.
[STATUS] SUCCESS !!!
All commands from config file are executed !!!
Hi Alexander,
The issue is the operation you have used.
--file=../application_r5_0_0/Debug/application_r5_0_0.appimage --operation=flashverify --flash-offset=0x80000
--file=../application_r5_0_0/Debug/application_r5_0_0.appimage_xip --operation=flashverify-xip
If the operation=flash like in case of your I2C (commented in cfg file), then it will erase and then write on the external flash, readback and verify if the image is correct.
But operation=flashverify will not erase or write anything on the flash. It is expected to be used after the operation=flash is already called (incase you want to verify the flashed content explicitly). Your I2C application was flashed at 0x80000 offset and was never erased by the script hence the application which is running is I2C app.
Let me know if it works after you change it to operation=flash.
I need to check how the verification was considered successful even though the flashing was never complete.
Best Regards,
Aakash
Hi Aakash,
I had the --operation=flash before, with the same results.
Sorry for the misunderstanding, I changed to flashverify right now to check for write errors. It was not clear to me whether the verify operation does or does not flash.
Finally, I changed the default_sbl_ospi.cfg as shown below. Still, flashing is successfur but the application does not run.
BR
Alexander
default_sbl_ospi.cfg:
#-----------------------------------------------------------------------------#
# #
# DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT #
# #
#-----------------------------------------------------------------------------#
#
# By default this config file,
# - points to pre-built flash writer, bootloader for this EVM
# - The application image points to relative path of the ipc echo application image for this EVM
# - Make sure this application is built before running this script
# - You can customized this config file to point to your own bootloader and/or application images
# - You can use --operation=flashverify if you just want to verify the flash contents and not flash the file.
#
# First point to sbl_uart_uniflash binary, which function's as a server to flash one or more files
# --flash-writer=C:/DevTools/TI/mcu_plus_sdk_am243x_08_03_00_18/tools/boot/sbl_prebuilt/am243x-lp/sbl_uart_uniflash.debug.tiimage
--flash-writer=../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage
# Now send one or more files to flash or flashverify as needed. The order of sending files does not matter
# 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=C:/DevTools/TI/mcu_plus_sdk_am243x_08_03_00_18/tools/boot/sbl_prebuilt/am243x-lp/sbl_ospi.debug.tiimage --operation=flash --flash-offset=0x0
--file=../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage --operation=flash --flash-offset=0x0
# i2c-led example
# ... is able to run from flash
# --file=../i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang/Debug/i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang.appimage --operation=flash --flash-offset=0x80000
# --file=../i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang/Debug/i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang.appimage_xip --operation=flash-xip
# --file=../i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang/Debug/i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang.appimage --operation=flashverify --flash-offset=0x80000
# --file=../i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang/Debug/i2c_led_blink_am243x-lp_r5fss0-0_freertos_ti-arm-clang.appimage_xip --operation=flashverify-xip
LwIP example
# ... does NOT run from flash
--file=../application_r5_0_0/Debug/application_r5_0_0.appimage --operation=flash --flash-offset=0x80000
--file=../application_r5_0_0/Debug/application_r5_0_0.appimage_xip --operation=flash-xip
--file=../application_r5_0_0/Debug/application_r5_0_0.appimage --operation=flashverify --flash-offset=0x80000
--file=../application_r5_0_0/Debug/application_r5_0_0.appimage_xip --operation=flashverify-xip
# Verify that bootloader has not been overwritten
--file=../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage --operation=flashverify --flash-offset=0x0
Hi Alexander,
Try loading it at another location 0xA0000 and make sure to do this change in sbl sysconfig here.
Rebuild the sbl and make sure to flash both SBL as well as the Application from your *.cfg file. Do update the flash offset in *.cfg file.
Another option would be to give the following option --erase-size or --operation=erase to erase some portion of flash.
If you are not interested in using the xip, do not load the xip files in the *.cfg file.
Let me know if this helps.
Best Regards,
Aakash
OK, I changed the syscfg and *.cfg and tried to flash the i2c led application for reference. However, now I get errors flashing, see below.
No changes if I add an rease command before
C:\project\eclipse_workspace\boot>python uart_uniflash.py -p COM9 --cfg=default_sbl_ospi.cfg
Parsing config file ...
Parsing config file ... SUCCESS. Found 9 command(s) !!!
Executing command 1 of 9 ...
Found flash writer ... sending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage
Sending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_tiSending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_tiSending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_tiSending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_tiSending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_tiSending ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti Sent flashwriter ../sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage of size 344407 bytes in 31.94s.
Executing command 2 of 9 ...
Command arguments : --operation=flash-phy-tuning-data
Sent flash phy tuning data in 1.6s.
[STATUS] SUCCESS !!!
Executing command 3 of 9 ...
Command arguments : --operation=erase --erase-size=0x200000 --flash-offset=0x0
Sent flash erase command.
[STATUS] SUCCESS !!!
Executing command 4 of 9 ...
Command arguments : --file=../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage --operation=flash --flash-offset=0x0
Sending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage Sent ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage of size 343151 bytes in 33.98s.
[STATUS] SUCCESS !!!
Executing command 5 of 9 ...
Command arguments : --file=../i2c_led_blink_ref/Debug/i2c_led_blink_ref.appimage --operation=flash --flash-offset=0xA0000
Sent ../i2c_led_blink_ref/Debug/i2c_led_blink_ref.appimage of size 68308 bytes in 9.12s.
[STATUS] ERROR: Flashing failed !!!
Executing command 6 of 9 ...
Command arguments : --file=../i2c_led_blink_ref/Debug/i2c_led_blink_ref.appimage_xip --operation=flash-xip
Sent ../i2c_led_blink_ref/Debug/i2c_led_blink_ref.appimage_xip of size 52 bytes in 3.05s.
[STATUS] SUCCESS !!!
Executing command 7 of 9 ...
Command arguments : --file=../i2c_led_blink_ref/Debug/i2c_led_blink_ref.appimage --operation=flashverify --flash-offset=0xA0000
Sent ../i2c_led_blink_ref/Debug/i2c_led_blink_ref.appimage of size 68308 bytes in 9.11s.
[STATUS] ERROR: Flash verify failed !!!
Executing command 8 of 9 ...
Command arguments : --file=../i2c_led_blink_ref/Debug/i2c_led_blink_ref.appimage_xip --operation=flashverify-xip
Sent ../i2c_led_blink_ref/Debug/i2c_led_blink_ref.appimage_xip of size 52 bytes in 3.07s.
[STATUS] SUCCESS !!!
Executing command 9 of 9 ...
Command arguments : --file=../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage --operation=flashverify --flash-offset=0x0
Sending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimageSending ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage Sent ../sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage of size 343151 bytes in 33.82s.
[STATUS] SUCCESS !!!
All commands from config file are executed !!!
Hi Alexander,
Let me check with the expert and get back on this.
Best Regards,
Aakash
Hi Alexander,
I just checked that offset 0xA0000 is not aligned to block size which is 256KB. There are block erase operations done in the sbl_uart example. I suggest you to try 0x100000 address which might not fail for you.
Also, I would like you to suggest to run flash diag example to ensure there are no hardware issues involved.
Hope it helps.
Best Regards,
Aakash
Hi Aakash,
using an offset of 0x100000 behaves same as 0x80000: Flashing is all success, i2c-led runs from flash, LwIP does not.
Below is the output of the ospi_flash_diag example. To be sure, I tried on another LP_AM243x and the result was the same.
Can you reproduce the problem?
Best regards
Alexander
[MAIN_Cortex_R5_0_0] [OSPI Flash Diagnostic Test] Starting ...
[OSPI Flash Diagnostic Test] Flash Manufacturer ID : 0x34
[OSPI Flash Diagnostic Test] Flash Device ID : 0x2A1A
[OSPI Flash Diagnostic Test] Executing Flash Erase on first block...
[OSPI Flash Diagnostic Test] Done !!!
[OSPI Flash Diagnostic Test] Performing Write-Read Test...
[OSPI Flash Diagnostic Test] Write-Read Test Passed!
[QSPI Flash Diagnostic Test] SFDP Information :
================================================
SFDP
================================================
SFDP Major Revision : 0x1
SFDP Minor Revision : 0x8
Number of Parameter Headers in this Table : 4
Types of Additional Parameter Tables in this flash
---------------------------------------------------
4 BYTE ADDRESSING MODE INSTRUCTIONS TABLE
SECTOR MAP TABLE
STATUS CONTROL AND CONFIGURATION REGISTER MAP TABLE
Flash_NorSpiDevDefines gFlashNorSpiDeviceDefines_<part-number> = {
.NOR_SPI_CMD_RSTEN = 0x66,
.NOR_SPI_CMD_RSTMEM = 0x99,
.NOR_SPI_CMD_WREN = 0x06,
.NOR_SPI_CMD_WRREG = 0x71,
.NOR_SPI_CMD_BULK_ERASE = 0xC7,
.NOR_SPI_CMD_SECTOR_ERASE_3B = 0x20,
.NOR_SPI_CMD_SECTOR_ERASE_4B = 0x21,
.NOR_SPI_CMD_BLOCK_ERASE_3B = 0xD8,
.NOR_SPI_CMD_BLOCK_ERASE_4B = 0xDC,
.NOR_SPI_CMD_PAGE_PROG_3B = 0x02,
.NOR_SPI_CMD_PAGE_PROG_4B = 0x12,
.NOR_SPI_CMD_RDSR = 0x05,
.NOR_SPI_CMD_RDREG = 0x65,
.NOR_SPI_CMD_RDID = 0x9F,
.NOR_SPI_CMD_READ = 0x03,
.NOR_SPI_CMD_888_SDR_READ = 0x00,
.NOR_SPI_CMD_888_DDR_READ = 0x00,
.NOR_SPI_CMD_444_SDR_READ = 0xEB,
.NOR_SPI_CMD_444_DDR_READ = 0x00,
.NOR_SPI_CMD_114_READ = 0x6B,
.NOR_SPI_SR_WIP = 1,
.NOR_SPI_SR_WEL = 2,
.NOR_SPI_RDID_NUM_BYTES = 5,
.NOR_SPI_MANF_ID = 0x34,
.NOR_SPI_DEVICE_ID = 0x2A1A,
.NOR_SPI_114_READ_MODE_CLKS = 0,
.NOR_SPI_114_READ_DUMMY_CYCLES = 8,
.NOR_SPI_444_READ_MODE_CLKS = 2,
.NOR_SPI_444_READ_DUMMY_CYCLES = 8,
.NOR_SPI_444_READ_DUMMY_CYCLES_LC = 0x08,
.NOR_SPI_QUAD_CMD_READ_DUMMY_CYCLES = 0x00,
.NOR_SPI_OCTAL_READ_DUMMY_CYCLE = 0,
.NOR_SPI_OCTAL_READ_DUMMY_CYCLE_LC = 0x00,
.NOR_SPI_OCTAL_DDR_RDSR_DUMMY_CYCLE = 0,
.NOR_SPI_OCTAL_DDR_RDREG_ADDR_BYTES = 0,
.NOR_SPI_OCTAL_DDR_WRREG_ADDR_BYTES = 0,
.NOR_SPI_OCTAL_DDR_RDVREG_DUMMY_CYCLE = 0,
.NOR_SPI_OCTAL_DDR_RDNVREG_DUMMY_CYCLE = 0,
.NOR_SPI_OCTAL_RDSFDP_DUMMY_CYCLE = 0,
.NOR_SPI_OCTAL_RDSFDP_ADDR_TYPE = 0,
.NOR_SPI_WRR_WRITE_TIMEOUT = 5120,
.NOR_SPI_BULK_ERASE_TIMEOUT = 256000000,
.NOR_SPI_PAGE_PROG_TIMEOUT = 512,
.NOR_SPI_VREG_OFFSET = 0x800000,
.NOR_SPI_NVREG_OFFSET = 0x0,
.NOR_SPI_QUAD_MODE_CFG_ADDR = 0x3,
.NOR_SPI_QUAD_MODE_CFG_BIT_LOCATION = 0x6,
.NOR_SPI_DDR_OCTAL_MODE_CFG_ADDR = 0x0,
.NOR_SPI_DDR_OCTAL_MODE_CFG_BIT_LOCATION = 0x0,
.NOR_SPI_DUMMY_CYCLE_CFG_ADDR = 0x3,
.NOR_SPI_FLASH_SIZE = 67108864,
.NOR_SPI_PAGE_SIZE = 256,
.NOR_SPI_BLOCK_SIZE = 262144,
.NOR_SPI_SECTOR_SIZE = 4096,
.addrByteSupport = 1,
.dtrSupport = 1,
.qeType = 5,
.seq444Enable = { 0, 0, 0, 1, 0 },
.seq444Disable = { 0, 0, 1, 1 },
.oeType = 0,
.cmdExtType = 0,
.byteOrder = 0,
};
All tests have passed!!
Hi Alexander,
This table looks okay and your flash seems to be okay. I would suggest you to share the *.appimage with us.
https://tidrive.ext.ti.com/u/iCWY1r2lmNCaJZjb/d94c1225-0b37-4218-ba2e-b3729db471b3?l
Use this link to upload so it remains safe.
Best Regards,
Aakash