主题中讨论的其他器件:MSPM0G3507、 UNIFLASH、 SysConfig
工具与软件:
尊敬的 TI 专家:
我正在进行一个基于的项目 uart_echo_lp_MSPM0G3507_freertos_ticlang 、但我已将目标设备更改为 MSPM0G1507 并将链接器命令文件更新为 mspm0g1507.cmd .
项目详细信息:
- 设备: MSPM0G1507
- SDK 版本: 2.1.0.03.
目标:
- 更改 BSL UART 波特率 最终目的 115200 (使用引脚 PA10和 PA11 )。
- 禁用 SWD 同时确保安全 BSL 更新函数保持可用 .
我目前对 BSL 的理解:
- 我的项目(使用默认设置 mspm0g1507.cmd )可以使用进行更新 BSL_GUI_EXE 工具 .
- 。 内部引导 ROM 先运行、然后利用 BCR 和 BSL 配置设置 、可以进行配置。 它也可以参考 .vtable 虽然我不确定。
- BSL 相关示例工程包含 boot_config.c 、它定义了 BCR 和 BSL 配置 、每个项目都有 存储器布局布线 全部添加到链接器文件中。 请查看附图

- BCR 配置 可以选择使用 启用或禁用 SWD .
- 。 内部引导 ROM 确定是否执行 内置 BSL 或使用 BSL 插件 .
- 。 BSL 插件 。 Init 函数 、可用于 配置 UART 波特率 .
- 。 BSL 配置 允许指定 次级引导加载程序 可以绕过内置 BSL。
问题:
- 默认情况下、引导 ROM 是否完全独立运行? 如果没有、它依赖什么 .vtable ? 如果是、该函数如何访问矢量表、同时考虑不同的项目位置 .vtable 在不同的位置?
- 为什么不同的项目具有不同的 SRAM 起始地址(
0x20200000与0x20000000)? 是什么决定了这一点? - 更改 BSL UART 波特率 、是否需要使用 插件 Init 函数 ? 如果是、我是否还需要提供 Send、receive 和 Deinit 函数 ?
- 我应该如何修改链接器命令文件 (
.cmd)纳入上述要求?
非常感谢您对这些问题的见解。
此致、




