Thread 中讨论的其他器件:SysConfig、 C2000WARE
工具/软件:
尊敬的 champs:
我向我们的客户询问这个问题。
用户希望在下面的 SysConfig 中将 LS8/LS9用于 CLA 程序。
但是、下面由 SysConfig 生成的存储器复制代码不正确。
它们应该与以下类似、因为从 CPU 的角度来看、LS8位于0x14000上、而不是位于0x4000上。
Memcpy ((uint32_t *)((uint32_t)&Cla1ProgRunStart +(0x10000U))、(uint32_t *)&Cla1ProgLoadStart、
(uint32_t)&Cla1ProgLoadSize);
因此、我们发现、如果代码是从 SysConfig 生成的、则 CLA 无法运行。
1.这是 SysConfig 错误吗?
如果没有、您能向我们展示如何在 SysConfig 中执行该操作吗?
2.如果 CLA 程序代码大于 LS8+LS9 (32KB)该怎么办?
也就是说、当用户代码需要从 LS8移至 RAM 时、用户如何移动代码?
Memcpy ((uint32_t *)((uint32_t)&Cla1ProgRunStart +(0x10000U))、(uint32_t *)&Cla1ProgLoadStart、
(uint32_t)&Cla1ProgLoadSize);
即从 CPU 0x14000/CLA 0x4000到 CPU 0x8000 (LS0)。
LS9 (0x17FFF)末尾和 LS0 (0x8000)开头的 CPU 角度存在这种不连续性。