碎碎念
实际上说一顿也没啥结果,从今年年初开始的AI大爆发,确实是有些编程工具从去年的玩具变成了现在确实可以嵌入工作流的充要条件。就拿ST的单片机的开发环境来说,完全可以用官方的开源工具链去接入AI的开发环境,我认为最有用的应该是openocd+gcc那一套,设定一个要求达到的目标,拿AI去控制电脑编译固件,烧录固件,最后再控制openocd去调试固件,依次循环,个人感觉这就算是一个简单的嵌入式工作流,但是这不是这个帖子的重点,我想研究的是能不能教目前的大一新学生使用AI去开发单片机。实际上很多专业不需要多么深入的去理解单片机的运行流程,比如自动化专业组其实也没必要去学计算机的原理组成,他们的重点理应该是控制而不是底层,但是这些专业也绝对会接触单片机。很多情况下只是用单片机去实现控制的过程,只需要理解控制的公式就可以了,应当不需要进行底层代码的理解。还有一种是培训大一的竞赛新生去使用单片机开发,就我的经验而言,这种培训非常依赖学生的里程碑式达成,不应当上来就培训c语言培训底层写法。综合这两种情况,其实Arduino才是最好的选择,但是Arduino其实依赖厂商提供的或开源或不开源的终端编译工具链,老姚的C251 SDCC还在移植,遂作罢。
就目前的情况而言,我的目标是两个月初步培训出一批会使用EDA,会焊接,会借助AI掌握基础软件设计的学生,个人认为他们应当能胜任的能力如下
- 会借助AI读取芯片的原理图 参考设计 并借此绘制自己的原理图
- 能够胜任基础的焊接能力,可以焊接较高密度的含0603电容的线路板
- 能借助AI生成的代码实现某些简单的功能,或搭建完整的AI开发工具链
- 有独立的架构思考能力 在遇到自己不会的子部分时(如理解OPA的用法)懂得跳过子部分,优先去理解整体架构
个人认为,两个月从零培训出这样能力的学生应当是有可能的。所以这也是本帖开始的宗旨。往年AI能力并不像今年这样的强大。确实一些学生自己使用某些AI令我震惊不已。有些时候想想是否教新学生直接上手AI会导致他们根基不稳,不过想了一想,使用单片机的主要目的是为了完成某些项目,先让学生完成一个整体的项目,然后再拆分进行讲解,是不是会更好一点?希望各位老师指教。此贴未结束,主要是为了研究AI辅助原理图+完全开发软件的可行性,我的设想中学生是使用AI进行原理图的设计,独立进行layout,然后使用AI完成软件设计的。感觉用支持USB下载的STC32G12K比较好,顺便想请教各位老师,有没有什么不大不小的项目(比如闹钟,或者什么小玩具)适合新生去设计,个人感觉新生最初设计的作品应该是非技术性的比较强一点,简单的流水灯又太过简单,适当的加大开发难度应该会好一点,比如手持的电子书,mp3会好一点。代码先完全用AI生成,经过筛选之后再给部分优秀的学生介绍深入的用法是不是更好一些。