Thread 中讨论的其他器件: Z-stack
CC2538 Cotex-M3中需要带 Z-Stack 3.0的 OTA 功能、但引导加载程序(映像引导管理器)不起作用。
众所周知 ,OTA 引导和客户端应用程序可以组合成适合 TI 闪存编程器的单个.hex 映像文件。我们参考 Z-Stack OTA 升级用户指南文档,在\CC2538\SampleSwitch.eww IAR 项目上进行测试,最后的*。hex 映像文件在 SmartRF Programr2 Studio 中下载成功,但在中下载 应用程序无法运行。
1. Image Boot Manager 项目位于默认安装的目录"C:\Texas Instruments\Z-Stack 3.0.0\Projects\Zstack\ota\Boot\CC2538\Boot.eww", 如果不修改任何源代码、则无法在 CC2538 SoC 中正确调试该项目(默认构建的映像大小为912字节、名为 Boot.bin)。
2.我们在 Boot.eww 项目 中添加以下源代码对应于 C 源文件 startup_ewarm.c、重建项目、可以在主入口点运行调试器。我想引导加载程序已经正确构建、但 Boot.bin 映像大小太大、无法与应用程序映像组合(我们在 SampleSwitch.eww 上进行测试、遇到构建问题 阶段错误) (添加.CCA 段代码、Boot.bin 映像大小为2016字节)
typedef 结构
{
unsigned char ulImageBackdoor[4]; //请注意后门配置在 MSB 中。
unsigned long ulImageValid;
unsigned long ulImageVectorAddr;
} lockPageCCA_t;
//在上部闪存页中为客户配置区域创建部分。
__root const lockPageCCA_t __CCA @".cca"=
{
//如果需要,请使用以下值为启用后门
//端口 A、引脚7、复位后10 μ s 内的低电平有效以强制启动。
//{0xFF、0xFF、0xFF、后门_enable_bit | 0x07}、
{0、0、0}、 //初始值、后门禁用
0x00000000、 //图像有效字段。
(unsigned long)__vector_table // flash_BASE
//位于闪存起始地址的矢量表。
};
3.如何解决这一可探测性问题?
