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.

[参考译文] CC2650:闪存中的引导加载程序和/或 BIOS

Guru**** 2943030 points

Other Parts Discussed in Thread: CC2650

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1125446/cc2650-bootloader-and-or-bios-in-flash

器件型号:CC2650

大家好

我一直在使用 CC2650F128 32引脚5x5、我在该器件上开发了一个应用程序(TI-RTOS 2.16.0.08)。

现在、我不得不切换到 CC2650F128 48引脚7x7、在该板上我引入了应用程序(当前没有引导加载程序、ROM 中有 BIOS):应用程序正常 工作。


现在、我必须插入自定义引导加载程序(由于 PCB 原因、我无法使用 TI 的 ROM 引导加载程序)才能通过 OTA 进行更新。


我找到了 TI 的 serial_bootloader 项目并成功编译。

最初的想法是将这个引导加载程序放置在闪存的开始位置0x0、并将我的应用程序放置在0x2000、但是我意识到、如果我不将 BIOS 引入闪存(将它留在 ROM 中)、第一页的某些区域被占用。

因此、我尝试移动闪存中的 BIOS、但即使它看起来不会导致初始问题(我的应用程序启动)、实际上、CC2650有时会重新启动看门狗(我的软件实现)、可能是在对内部 M0无线电进行了几次访问之后 (我似乎已经确定了 RF_PendCmd 上的问题、但我仍然不理解真正的原因)。


因此、我尝试在包含 ccfg 的最后一页之前将引导加载程序放置在闪存的第29页和第30页上。


这样、应用程序将保持在地址0x0处、在这种情况下无需将 BIOS 移动到闪存中(避免上述问题) 但我缺少的信息是如何从0x0以外的地址启动我的 cc2650。

实际上、在这种情况下、在上电或复位后、我希望首先执行位于地址0x1D000的自定义引导加载程序、然后将其配置为在地址0x0处跳转。

我希望我足够清楚、但总结一下我的问题:

1 -是否可以从 Poweron 上的0x0以外的指令启动 cc2650?

2 -如果我将 BIOS 放入闪存中、除了对.cfg 中的相关部分进行注释外、我还必须执行其他可能会影响射频操作的操作吗?

提前感谢您的支持

此致

Roberto

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Roberto:

    以下是 串行引导加载程序示例 供参考。

    1) 1)您可以修改*。cfg 文件中的 m3Hwi.resetVectorAddress 来确定启动位置。  这通常用于 OAD 应用。

    2) 2)在闪存中使用 BIOS 不应存在问题。  尽管在构建之前还应该能够更改应用程序和堆栈命令链接器文件(*。cmd)的闪存起始地址、以避免使用第一个闪存页。

    此致、
    Ryan