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厂家(以灵动微为例)提供的选型表和自身的需求表格对照,最终选择具体的产品型号
Item | Requirement |
---|---|
MCU Core | > 48MHz |
Internal Flash | > 16K |
Internal RAM | > 2K |
UART | x2 |
SPI | x1 |
I2C | x1 |
Power supply | 3.3V |
GPIO | > 15 |
Idd_run | 10mA |
Idd_vlps | 100uA |
Temperature | -40 ~ 105 |
Package | QFN20 |
从图中可以看到MM32F0010A1NV大致可以满足要求,具体功耗参数还需要查看Datasheet,选定这个产品,后面以该产品为例,教大家如何从入门到躺平。
敲黑板,其实现在你已经有一次躺平的机会,某些国产MCU厂家出了和ST一些主流产品兼容的型号,命名规则也类似,甚至可以做到固件级兼容,比如某国内知名上市XX创新公司的XD32系列产品,一度让人有个错觉,这伙计是买Die自己封的。不管怎么说,如果恰巧你的意向产品在兼容列表,恭喜你,只要把型号发给采购就可以躺平了,后面文章就可以不用看了。
躺平可以,但别睡着,采购有可能带着祖宗的问候夜里登门,你要那玩意根本买不到,全村都没货,咱再换一个好不好。
资料下载
学习任何一款MCU,首先要下载相关的资料,建议直接上官网下载,如果官网上毛线没有,文库反到有一些这种,最好考虑好了再用,因为官网不提供手册下载,可能有两点原因:
产品有创新,怕同行借鉴.
借鉴的产品,怕同行发现.
如果是原因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从入门到躺平的主要内容,如果未能解决你的问题,请参考以下文章