当前位置: 首页 > news >正文

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 BuildDebug
Use Standard Code Start Branch勾选
Split Code into Separate File不勾选
Low Power Mode默认
Enable Peripherals用到的开,不用的关
Access Control For PeripheralsFull 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 等保护类配置尽量保持默认,不提前开启或锁定,外设时钟按实际使用开启。

http://www.cnnetsun.cn/news/2819584.html

相关文章:

  • VC6环境下内存直载DLL的完整可运行工程包(含源码、编译成品与测试模块)
  • ToxiTwitch:基于混合模型的Twitch实时聊天毒性检测
  • 新闻语义处理流水线:面向金融NLP的结构化解码与时序锚定
  • AI动态简报之商业洞察篇(2026.06.07)
  • 电机控制工程师必看:手把手教你配置TMS320F280049的SDFM模块进行电流采样
  • 【个人博客—山东大学项目实训——古诗词与文章智能创作助学平台(六)】
  • 生产级机器学习服务的三大支柱:可观测性、弹性和契约
  • AI实战第5篇:Python+DeepSeek智能简历优化器,HR看了直呼专业
  • 跨境支付业务流程
  • Sqribble文档自动化系统:模板驱动的结构化出版流水线
  • 别再只用System.out.printf了!Java格式化数字的三种姿势,从基础到实战一次讲透
  • ROS 2进阶:深入理解rosdep与package.xml的依赖关系,打造可复用的机器人软件包
  • Vue3 + Baidu Map API 实战:手把手教你实现一个带搜索和自定义弹窗的店铺地图
  • 多维聚合中的数据变形:从GROUP BY到高维视图的工程实践
  • 手机存储速度翻倍的秘密:一文看懂UFS 2.2里的M-PHY物理层(附避坑指南)
  • 告别黑盒:用dotPeek和Symbol Server在VS里一步步调试Newtonsoft.Json源码
  • AT24C02不止是存储:聊聊I2C总线上的设备地址与多机通信那点事
  • 你的V-SLAM为啥飘?从重投影误差的角度聊聊后端优化的那些坑
  • Logisim新手避坑指南:复用器、译码器、优先编码器到底怎么用?
  • 从IEBus到AVC-LAN:拆解丰田老车机里的“古董”通信协议与数据帧
  • 给CANoe DLL加个“耳朵”:手把手教你用Visual Studio 2019编写并调试回调函数
  • 从监控面板到服务治理:手把手教你用Dubbo-Admin管理微服务(附Docker部署彩蛋)
  • AD9831输出信号不过零点?一个电容或变压器轻松搞定(附Multisim仿真)
  • 告别玄学调试:用Process Monitor精准定位Qt+QAxObject加载COM组件的失败原因
  • JEPA与VJEPA在噪声信号提取中的性能对比研究
  • 告别命令行恐惧!在Eclipse里用Git/Gitee管理Java项目,保姆级图文教程
  • 别再折腾环境了!用Anaconda+Pycharm一键搞定YOLO-FastestV2开发环境(附CUDA 11.4避坑指南)
  • Beyond Compare文件对比时,明明内容一样却显示不同?教你彻底关闭时间戳匹配(附常见问题排查)
  • STM32F429 ADC实战避坑:从GPIO映射到DMA传输,一个项目全搞定
  • 1T Tokens与Total Cognition:认知操作系统的工程实现