MCU从入门到躺平

Posted ybhuangfugui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MCU从入门到躺平相关的知识,希望对你有一定的参考价值。

关注+星标公众,不错过精彩内容

来源 | 工程师的废纸篓

伴随着ST一封又一封涨价函的发布,国产MCU像雨后春笋般涌现出来,听过名字的,没听过名字的,做半导体的,跨界搞的,突然让人感觉MCU这东西其实比做泡面难不了多少:空调大咖已经实现年产1000w颗,电池一哥BYD也出货300w颗,神车50不负众望,兑现了“人民需要什么就造什么”的承诺。

看来酱香茅台有点掉队喽,MCU型号都替你想好了,飞天F103C8T6,小王子L030F4P6,每个片子内置nTAG,扫码出年份,JD,天猫预约抢购,1499¥/包,身份证限购一包,抢到的用户建议不要直接拆包,该芯片有极强的收藏价值,建议先埋土里等十年再挖出来,价格至少翻几翻。

作为工程师,一下子遇到如此多的国产MCU,其实我是拒绝的,不知道效果怎么样,会不会加特技,但ST抢不到货,老板天天逼着换,Duang,国产这价格还挺香,换就换,谁让咱领的这份工资呢。下面就是从入门到躺平的全过程。

产品选型

准备几张小纸条写上不同MCU厂家的名字,然后贴在电风扇上,开启电风扇,选择最后一个被吹掉的厂商,因为它生命力顽强(小崔,这段掐了别播)

  • 首先选择知名的,并且长期从事MCU的半导体公司

  • 根据自身的产品需求,列出一个需求表格如下

  • 根据意向MCU厂家(以灵动微为例)提供的选型表和自身的需求表格对照,最终选择具体的产品型号

ItemRequirement
MCU Core> 48MHz
Internal Flash> 16K
Internal RAM> 2K
UARTx2
SPIx1
I2Cx1
Power supply3.3V
GPIO> 15
Idd_run10mA
Idd_vlps100uA
Temperature-40 ~ 105
PackageQFN20

从图中可以看到MM32F0010A1NV大致可以满足要求,具体功耗参数还需要查看Datasheet,选定这个产品,后面以该产品为例,教大家如何从入门到躺平。

敲黑板,其实现在你已经有一次躺平的机会,某些国产MCU厂家出了和ST一些主流产品兼容的型号,命名规则也类似,甚至可以做到固件级兼容,比如某国内知名上市XX创新公司的XD32系列产品,一度让人有个错觉,这伙计是买Die自己封的。不管怎么说,如果恰巧你的意向产品在兼容列表,恭喜你,只要把型号发给采购就可以躺平了,后面文章就可以不用看了。

躺平可以,但别睡着,采购有可能带着祖宗的问候夜里登门,你要那玩意根本买不到,全村都没货,咱再换一个好不好。

资料下载

学习任何一款MCU,首先要下载相关的资料,建议直接上官网下载,如果官网上毛线没有,文库反到有一些这种,最好考虑好了再用,因为官网不提供手册下载,可能有两点原因:

  1. 产品有创新,怕同行借鉴.

  2. 借鉴的产品,怕同行发现.

如果是原因1,一般需要和厂家签NDA,没签的话后续是否能通过正规渠道拿到货是个问题。

如果是原因2,这种就怕你还没研发完,老板就带小姨子跑了。

必须下载的资料描述
数据手册(Datasheet)数据手册主要介绍器件的规格,包括AC电气特性,功耗,工作温度,潮敏等级,接口时序,Package信息等,硬件工程师需要重点查看该文档
用户手册(User Manual, Reference Manual)用户手册文件一般比较大(可能在10M以上),主要介绍器件如何使用,包括所有外设接口的寄存器定义,芯片上电的复位行为等,软件工程师需要重点看的文档
勘误表(Errata)芯片都会有一些bug,负责任的厂家一定会在已知bug后更新此文档。切记,不提供Errata的产品不建议使用,因为要么是这个产品比较新,要么是这颗料用的人少,所以还没发现bug

这里以灵动微官网为例:



可选的文档下载,主要是一些应用笔记,包括芯片使用过程中需要注意的一些已知问题:


Kit资料下载

通常情况下,MCU厂商针对每个系列产品都会选择顶配型号做对应的开发板,用户可以直接参考开发板的设计来加速产品上市,避免一些未知的坑。



工具下载

国内厂商MCU虽然都提供了IAR和Keil的示例工程,但是这两个主流IDE平台原生很少支持国产MCU,所以往往都需要下载该工具的支持补丁,否则直接打开工程会提示找不到器件。


下载Pack支持包:


安装IAR支持包:


安装完后,打开IAR会看到对应的型号:


安装Keil Pack支持包,貌似MDK原生是可以找到灵动微型号,但点击Install后会提示Failed



灵动微官网也给出了应用笔记,需要安装离线Pack,双击解压后的pack文件一路next即可

SDK下载

MCU厂商也知道,10MB的文档让软件工程会看吐血的,所以都会提供一个SDK,里面会提供所有接口的示例程序,程序猿可以根据示例攒一个工程出来实现自己的应用,这样基本就不需要死磕用户手册了(但真遇到问题还得看)


下载解压后大概就长这个样子,支持IAR和Keil这两个平台:


有了这些利器,软件工程师就可以开始切换平台了,因为国产厂商大部分也都是Cortex-M系列的内核,移植难度相对会小一些,不过,这里绝对是耗时最长的过程,看看国产的SDK,会不会有些眼熟?


上板调试

灵动微官方提供了MM32-LINK作为调试工具,开发板上也标配了这个调试器,如果使用Win7的用户,需要禁止签名并安装设备驱动程序,Win10/Win8 系统下无需安装驱动即可识别设备,安装MM32-LINK仿真器/编程器/开发套件的目的是给Keil安装MM32-LINK的补丁,安装这个软件后在Keil的Debug窗口才可以选择MM32-LINK Debugger




现在就可以下载调试了:

调试完成,终于可以躺平睡一觉了。

然后采购又敲门了......

------------ END ------------

后台回复『嵌入式软件开发与设计』『单片机』阅读更多相关文章。

欢迎关注我的公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

欢迎关注我的视频号:

点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

以上是关于MCU从入门到躺平的主要内容,如果未能解决你的问题,请参考以下文章

为什么越来越多年轻人选择“躺平”?

真正面向 AI 行业应用场景的开源项目来了!

新手如何学习编程?

嵌入式从入门到放弃??

CC1101 433M 315M 简单入门知识

一.Kafka入门到精通-Kafka快速入门