1. 前言 玩过Linux的朋友, 是不是对Linux无所不能的串口Shell命令控制台羡慕不已, 要是自己做的STM32F系列低档次的MCU也有这种控制交互能力, 会给调试/维护和配置省下多少麻烦事呀, 比如启动/关闭调试或自检模式, 打印调试信息, 配置系统参数, 传输文件等等, 也有相当多的朋友凭借自己出色的编程能力可以实现这些功能, 这里提出我的这个解决方案, 以作交流. 本平台(xc_shell)具备以下性能特点: 大量主要代码, 和具体硬件无关, 移植性强,代码文件少. 只有在处理用户的输入命令时, 才占用CPU资源, 且代码可裁剪到1KB SRAM和4KB Flash; 用户可以非常灵活的添加按模板编写的命令脚本文件, 自定义扩张能力强. 支持操作系统和非操作系统两种场景应用. 支持Ymodem文件传输协议 支持将Flash的扇区开辟为参数区, 可实现本地/远程升级。 实用Led灯信号管理, 可将65535虚拟信号灯选择输出到1个实体LED灯上, 调试时序和状态非常有用 拥有基础的LED管理, 调试模式设置, 命令帮助指令, 复位指令等基础功能
功能越多设计会越复杂, 为了解释清楚代码, 先向大家解释一下以上功能的基础实现原理, 并提供一个最小的的源码工程。
|