部件号: 66AK2E05
下载 TI 提供的 SDK 并升级 U-Boot 和 Linux 后、我们发现无法再使用前面的方法加载 DSP 程序、并且错误消息没有直接指明原因。 我们希望 TI 工程师可以帮助我们分析原因。 谢谢。
升级前的 SDK 版本:
U-Boot 2013.01 (Jul 17 2020 - 16:43:24)
I2C: ready
SPD csum OK; in SPD: 1B 0E; computed 0000001B 0E
DDR3A Speed will be configured for 1600 Operation.
Detected SO-DIMM [18KSF51272HZ-1G6K2]
DDR3 speed 1600
DRAM: 4 GiB
Reseting entire DDR3 memory to 0 ...
DRAM: 2 GiB
NAND: 512 MiB
Smart Reflex Class 0 temperature compensation enabled
tps544_init i2c write error
Smart Reflex Class 0 temperature compensation disabled
Net: K2E_EMAC0
升级后的 SDK 版本:
U-Boot 2019.01-g333c3e72d3 (Apr 19 2020 - 06:29:23 +0000)
CPU: 66AK2Ex SR1.0
Model: Texas Instruments Keystone 2 Edison EVM
DRAM: DDR3A Speed will be configured for 1600 Operation.
Detected SO-DIMM [18KSF51272HZ-1G6K2]
DDR3 speed 1600
DRAM: 4 GiB
我初步怀疑 dtb 中的 DSP 存储器地址不同、但因为我对 dtb 不太熟悉、我不确定这是否正确或如何修改。我上传了 dtb 解压缩的 dts 文件、作为附件中的参考。
以下是我在 CCS 工程中定义的存储器地址
MEMORY
{
VECTORS: o = 0x00800000 l = 0x00000400 /* to 0x008003FF, in L2, 1KB */
entry_point2: o = 0x00800400 l = 0x00000400 /* to 0x008007FF, in L2, 1KB */
dsp_L2_ram: o = 0x00800C00 l = 0x0006F400 /* to 0x0086FFFF, in L2, 445KB */
dsp_L2_ram_stack: o = 0x00870000 l = 0x00010000 /* to 0x1183FFFF, in L2*/
entry_point1: o = 0x00800800 l = 0x00000400 /* to 0x00800BFF, in shared ram, 1K */
MSMC_RAM: o = 0x0C000000 l = 0x0018C000 /*To 0x0C18BFFF,Total 1584K */
DATA_BUFFER_ARM: o = 0x0c18C000 l = 0x00064000 /*To 0x0C1EFFFF, 10240*10*4 ,400K*/
PRINT_BUFFER: o = 0x0C1F0000 l = 0x00010000 /*To 0xOC1FFFFF, Total 64KB*/
external_ram: o = 0xE0000000 l = 0x01000000 /* to 0x6FFFFFFF, in external ram, 256MB (WARNING: OVERLAYS ARM)*/
sysmemDDR: o = 0xE1000000 l = 0x03000000 /* to 0x76FFFFFF, in arm local ram, 64MB*/
Data_DDR: o = 0xE4000000 l = 0x06000000 /* to 0x7DFFFFFF, in arm local ram, 96MB*/
ReservedDDR: o = 0xEA000000 l = 0x05000000 /* to 0x7FFFFFFF, in arm local ram, 32MB*/
}
在旧系统上、CCS 编译的文件可以成功加载。
root@k2e-evm:/home/athena/Athena_Tester# mpmcl reset dsp0
reset succeeded
root@k2e-evm:/home/athena/Athena_Tester# mpmcl load dsp0 AthenaTester_K2E.out
load succeeded
但是、在新系统上无法加载、使用 TI 提供的最新 RTOS SDK 时收到相同的错误。
root@k2e-evm:/home/athena/Athena_Tester# mpmcl reset dsp0
reset succeeded
root@k2e-evm:/home/athena/Athena_Tester# mpmcl load dsp0 AthenaTester_K2E.out
load failed (error: -104)