SysConfig Device Support 笔记
SysConfig Device Support 模块配置说明
1. Device Support 是什么
C2000 SysConfig 里的器件支持模块,管的是芯片底层初始化,不是普通外设。它涵盖 Driverlib 库版本、标准启动跳转代码,以及 SYSCTL 下的外设时钟、访问权限、低功耗、NMI、ERRORSTS、MCD、系统配置锁定等系统级配置。
作用是让工程具备正确的底层启动和系统初始化环境。
2. Driverlib Build
选择 Driverlib 库版本。
| 选项 | 含义 |
|---|---|
| Debug | 调试版本,适合开发和单步调试 |
| Release | 发布版本,程序稳定后的正式运行 |
调试阶段保持 Debug。
3. Use Standard Code Start Branch
是否使用 TI 标准启动跳转代码。Flash 启动流程:
Boot ROM → BEGIN → codestart → _c_int00 → main()| 状态 | 含义 |
|---|---|
| 勾选 | SysConfig 引用 C2000Ware 标准启动文件f28p55x_codestartbranch.asm,提供 codestart |
| 不勾选 | 不引用,由工程自己的启动文件提供 codestart |
一个工程只能有一份 codestart 参与编译,工程本地若有同名启动文件需注意二者不能同时编译。
4. SYSCTL(System Control)
系统控制模块,负责芯片级配置。下面是它包含的各项。
5. Split Code into Separate File
是否把 SYSCTL 生成代码拆分到单独文件。
| 状态 | 含义 |
|---|---|
| 勾选 | 相关代码单独成文件 |
| 不勾选 | 保持默认生成方式,不拆分 |
调试阶段保持不勾选。
6. Low Power Mode
低功耗模式配置,设置芯片进入待机/休眠后的唤醒方式(如外部引脚唤醒)。不用低功耗就保持默认。
7. Enable Peripherals
控制外设时钟开关,不影响 CPU 主频。
| 状态 | 含义 |
|---|---|
| 勾选 | 打开该外设时钟,外设可正常工作 |
| 不勾选 | 关闭时钟,外设不能工作 |
用到的打开,不用的关闭。关闭不用的外设时钟可降低动态功耗、减少误配置和误触发、让工程更干净。
8. Access Control For Peripherals
配置 CPU1、CLA1、DMA 等对外设寄存器的访问权限,常见为 Full Access for both read and write(允许读写)。Lock Access Control Registers用于锁定权限配置。
调试阶段保持 Full Access、不锁定,避免权限不足导致外设访问异常。
9. Lock Clock Configs
锁定时钟相关配置(时钟源、PLL、SYSCLK 及各级分频),防止运行时误改。不是开启时钟。
调试阶段不勾选,工程稳定后再考虑。
10. Lock System Configs
锁定系统配置寄存器,决定外设时钟、低功耗等系统配置后续还能不能改。和 Enable Peripherals 的区别:后者决定时钟开不开,它决定配置能不能再被修改。
调试阶段不勾选,否则后面改配置可能写不进去。
11. NMI
Enable NMI Global Interrupt:是否启用非屏蔽中断(Non-Maskable Interrupt),用于时钟异常、存储器错误等严重系统故障。
调试阶段不勾选。需要处理严重故障、且已写好 NMI 处理函数时再启用。
12. Peripheral Type Configuration
配置 USB / eCAP 等外设的 Type 兼容模式,以及是否锁定。不是配它们的具体功能。不需要切换 Type 时保持默认不勾。
13. ERRORSTS
错误状态输出配置,设置芯片发生严重错误时错误状态引脚如何输出,用于把内部严重错误通知外部监控电路。不是普通 GPIO 或中断。
调试阶段保持默认,不提前锁定。
14. Enable Missing Clock Detect(MCD)
缺失时钟检测(Missing Clock Detect),检测关键时钟源丢失或异常。启用后时钟异常可能触发系统故障处理,并和 NMI、ERRORSTS 相关。
调试阶段不勾选。需要时钟故障检测、且已设计好处理逻辑时再启用。
15. 推荐配置(调试阶段)
| 配置项 | 推荐 |
|---|---|
| Driverlib Build | Debug |
| Use Standard Code Start Branch | 勾选 |
| Split Code into Separate File | 不勾选 |
| Low Power Mode | 默认 |
| Enable Peripherals | 用到的开,不用的关 |
| Access Control For Peripherals | Full Access |
| Lock Clock Configs | 不勾选 |
| Lock System Configs | 不勾选 |
| Enable NMI Global Interrupt | 不勾选 |
| Peripheral Type Configuration | 默认 |
| ERRORSTS | 默认 |
| Enable Missing Clock Detect (MCD) | 不勾选 |
16. 总结
Device Support 管理 Driverlib、标准启动跳转代码和 SYSCTL 系统控制。本页两个重点:一是 Use Standard Code Start Branch,勾选后由 SysConfig 提供 codestart,工程只能保留一份;二是调试阶段 Lock、NMI、MCD、ERRORSTS 等保护类配置尽量保持默认,不提前开启或锁定,外设时钟按实际使用开启。
