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.
Tool/software:
Hello team,
we are using sitara Am2732 for the project, I try to config from sysconfig 1.13.0 and 1.14.0, the MCU plus sdk use the version mcu_plus_sdk_am273x_08_03_00_18, but it seems that I can config flash with W25H512J,when I try to edit by manual, it will report as below:
Thank you
Hello,
I don't see this behavior on my setup while using a freshly installed SDK version 8.3.0.18 and sysconfig 1.13.
In any case, the error that you see normally happens because there is no support for the device you are trying to select in the sdk and/or sysconfig does not contain the metadata of this device. We have a guide on how to add support for custom devices since the software packages normally just come with support for the flash devices that are in used in our EVMs. In this case, the W25H512J device is not part of our EVM so sysconfig and the SDK should not be able to recognize it. the above behavior is expected assuming that you didn't add device support yourself. What I don't understand is why the device shows up in the first place.
I would suggest the following:
Both links above are the same guide for different versions of the SDK, but the process has changed since 2022, hence the updated guide.
If above doesn't work, then please confirm your version of CCS here.
Best,
Daniel
hello Daniel
Thank you for replying, I did not add device before.
The device shows up in the first place because I manually changed some configuration codes, and those codes originally needed to be configured by sysconfig. Anyway, I followed your connection guide to add the device first.
best regards
Alisa
Hello Alisa,
thanks for confirming, let me know if following the guide fixes the problem
Best,
Daniel
Hi Daniel,
I follow the steps you provided, and met this error in "
"
The error is
Building target: "qspi_flash_transfer_am273x-evm_r5fss0-0_freertos_ti-arm-clang.out"
Invoking: Arm Linker
"C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-armllvm_1.3.1.LTS/bin/tiarmclang.exe" -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -DSOC_AM273X -D_DEBUG_=1 -gstrict-dwarf -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -Wl,-m"qspi_flash_transfer.Debug.map" -Wl,-i"C:/ti/ti_am273x_sdk/mcu_plus_sdk_am273x/source/kernel/freertos/lib" -Wl,-i"C:/ti/ti_am273x_sdk/mcu_plus_sdk_am273x/source/drivers/lib" -Wl,-i"C:/ti/ti_am273x_sdk/mcu_plus_sdk_am273x/source/board/lib" -Wl,-i"C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-armllvm_1.3.1.LTS/lib" -Wl,--reread_libs -Wl,--diag_suppress=10063 -Wl,--diag_wrap=off -Wl,--display_error_number -Wl,--warn_sections -Wl,--xml_link_info="qspi_flash_transfer_am273x-evm_r5fss0-0_freertos_ti-arm-clang_linkInfo.xml" -Wl,--ram_model -o "qspi_flash_transfer_am273x-evm_r5fss0-0_freertos_ti-arm-clang.out" "./syscfg/ti_dpl_config.o" "./syscfg/ti_drivers_config.o" "./syscfg/ti_drivers_open_close.o" "./syscfg/ti_pinmux_config.o" "./syscfg/ti_power_clock_config.o" "./syscfg/ti_board_config.o" "./syscfg/ti_board_open_close.o" "./syscfg/ti_enet_config.o" "./syscfg/ti_enet_open_close.o" "./main.o" "./qspi_flash_transfer.o" "../linker.cmd" -Wl,-lfreertos.am273x.r5f.ti-arm-clang.debug.lib -Wl,-ldrivers.am273x.r5f.ti-arm-clang.debug.lib -Wl,-lboard.am273x.r5f.ti-arm-clang.debug.lib -Wl,-llibc.a
makefile:154: recipe for target 'qspi_flash_transfer_am273x-evm_r5fss0-0_freertos_ti-arm-clang.out' failed
undefined first referenced
symbol in file
--------- ----------------
gFlashNorQspiAttrs_W25H512JV ./syscfg/ti_board_open_close.o
gFlashNorQspiDeviceDefines_W25H512JV ./syscfg/ti_board_open_close.o
error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "qspi_flash_transfer_am273x-evm_r5fss0-0_freertos_ti-arm-clang.out" not built
tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [qspi_flash_transfer_am273x-evm_r5fss0-0_freertos_ti-arm-clang.out] Error 1
gmake: *** [all] Error 2
makefile:150: recipe for target 'all' failed
Do you know why? I've follow all the steps to add a new flash drver files
Hi Daniel,
I found there are no gFlashNorQspiAttrs_W25H512JV and gFlashNorQspiDeviceDefines_W25H512JV symbol in board.am273x.r5f.ti-arm-clang.debug.lib
It needs to rebuild board.am273x.r5f.ti-arm-clang.debug.lib probably. Could you please tell me how to rebuild board.am273x.r5f.ti-arm-clang.debug.lib?
Here is the symbol list of board.am273x.r5f.ti-arm-clang.debug.lib
C:\ti\ti_am273x_sdk\mcu_plus_sdk_am273x\source\board\lib>nm board.am273x.r5f.ti-arm-clang.debug.lib
eeprom.obj:
00000000 t $t.0
00000000 t $t.1
00000000 t $t.2
00000000 t $t.3
00000000 t $t.4
00000000 t $t.5
00000001 T EEPROM_Params_init
00000001 T EEPROM_close
00000001 T EEPROM_getAttrs
00000001 T EEPROM_open
00000001 T EEPROM_read
00000001 T EEPROM_write
U gEepromConfig
U gEepromConfigNum
eeprom_cav24c.obj:
00000000 t $t.0
00000000 t $t.1
00000000 t $t.2
00000000 t $t.3
U ClockP_usleep
00000001 T EEPROM_CAV24C_close
00000001 T EEPROM_CAV24C_open
00000001 T EEPROM_CAV24C_read
00000001 T EEPROM_CAV24C_write
U I2C_Transaction_init
U I2C_getHandle
U I2C_transfer
U SemaphoreP_constructMutex
U SemaphoreP_destruct
U SemaphoreP_pend
U SemaphoreP_post
U __aeabi_memcpy
00000000 D gEepromAttrs_CAV24C
00000000 D gEepromFxns_CAV24C
led.obj:
00000000 t $t.0
00000000 t $t.1
00000000 t $t.2
00000000 t $t.3
00000000 t $t.4
00000000 t $t.5
00000000 t $t.6
00000001 T LED_Params_init
00000001 T LED_close
00000001 T LED_getAttrs
00000001 T LED_off
00000001 T LED_on
00000001 T LED_open
00000001 T LED_setMask
U gLedConfig
U gLedConfigNum
led_gpio.obj:
00000000 t $t.0
00000000 t $t.1
00000000 t $t.2
00000000 t $t.3
U AddrTranslateP_getLocalAddr
U GPIO_pinWriteHigh
U GPIO_pinWriteLow
U GPIO_setDirMode
00000001 T LED_gpioClose
00000001 T LED_gpioOff
00000001 T LED_gpioOn
00000001 T LED_gpioOpen
00000000 D gLedAttrs_GPIO
00000000 D gLedFxns_GPIO
flash.obj:
00000000 t $t.0
00000000 t $t.1
00000000 t $t.2
00000000 t $t.3
00000000 t $t.4
00000000 t $t.5
00000000 t $t.6
00000000 t $t.7
00000000 t $t.8
00000000 t $t.9
00000001 T Flash_blkPageToOffset
00000001 T Flash_close
00000001 T Flash_eraseBlk
00000001 T Flash_getAttrs
00000001 T Flash_getHandle
00000001 T Flash_getPhyTuningOffset
00000001 T Flash_offsetToBlkPage
00000001 T Flash_open
00000001 T Flash_read
00000001 T Flash_write
U gFlashConfig
U gFlashConfigNum
flash_nor_qspi_device_GD25B64C.obj:
00000000 D gFlashNorQspiAttrs_GD25B64C
00000000 D gFlashNorQspiDeviceDefines_GD25B64C
flash_nor_qspi_device_W25Q128J.obj:
00000000 D gFlashNorQspiAttrs_W25Q128J
00000000 D gFlashNorQspiDeviceDefines_W25Q128J
flash_nor_qspi_device_IS25LP256E.obj:
00000000 D gFlashNorQspiAttrs_IS25LP256E
00000000 D gFlashNorQspiDeviceDefines_IS25LP256E
flash_nor_qspi.obj:
00000000 t $t.0
00000000 t $t.1
00000000 t $t.10
00000000 t $t.2
00000000 t $t.3
00000000 t $t.4
00000000 t $t.5
00000000 t $t.6
00000000 t $t.7
00000000 t $t.8
00000000 t $t.9
00000001 t Flash_norQspiClose
00000001 T Flash_norQspiCmdRead
00000001 T Flash_norQspiCmdWrite
00000001 t Flash_norQspiErase
00000001 t Flash_norQspiOpen
00000001 T Flash_norQspiQuadReadEnable
00000001 t Flash_norQspiRead
00000001 t Flash_norQspiReadId
00000001 T Flash_norQspiWaitReady
00000001 t Flash_norQspiWrite
00000001 T Flash_norQspiWriteEnableLatched
U QSPI_getHandle
U QSPI_readCmd
U QSPI_readCmdParams_init
U QSPI_readMemMapMode
U QSPI_setAddressByteCount
U QSPI_setDummyBitCount
U QSPI_setReadCmd
U QSPI_setWriteCmd
U QSPI_transaction_init
U QSPI_writeCmd
U QSPI_writeCmdParams_init
U QSPI_writeConfigMode
00000000 D gFlashNorQspiFxns
nor_spi_sfdp.obj:
0000019c t $d.3
00000000 t $t.0
00000000 t $t.1
00000000 t $t.10
00000000 t $t.2
000001a0 t $t.4
00000000 t $t.5
00000000 t $t.6
00000000 t $t.7
00000000 t $t.8
00000000 t $t.9
00000001 t NorSpi_Sfdp_getDummyBitPattern
00000001 t NorSpi_Sfdp_getEraseSizes
00000001 T NorSpi_Sfdp_getParameterTableName
00000001 T NorSpi_Sfdp_getPtp
00000001 T NorSpi_Sfdp_parse4bait
00000001 T NorSpi_Sfdp_parseBfpt
00000001 T NorSpi_Sfdp_parseSccr
00000001 T NorSpi_Sfdp_parseSmpt
00000001 T NorSpi_Sfdp_parseXpt1
00000000 D gNorSpi_Sfdp_ParamTableIds
00000000 D gNorSpi_Sfdp_ParamTableNames
Hi Alisa,
to rebuild the libraries, first clean and then rebuild with the following functions
to clean:
$ gmake -s -j4 -f makefile.am273x libs-clean PROFILE=release
to build:
$ gmake -s -j4 -f makefile.am273x libs PROFILE=release
Best,
Daniel
Hi Amy,
Glad it works! if you have more questions feel free to open a new thread
Best,
Daniel