我是靠谱客的博主 虚心金鱼,最近开发中收集的这篇文章主要介绍MCU从入门到躺平,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

7e7fe4ff17c52dba5acd30ba9fcd7fe7.gif

来源 | 工程师的废纸篓

伴随着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
12be3792a8b08728b3b90f049f2b9ac0.png

从图中可以看到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

这里以灵动微官网为例:

7c8b9aeb0229da22adb52af63ae4913f.png

71246eb2ba0ceadde0736becd91503f0.png

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

c432b8461c2fc447f5b1665f55477cc4.png

Kit资料下载

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

6c7654f6b6168fc1b6a193b5420fe857.png

4cd32c1a48638be3438c88127e2f3085.png

工具下载

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

b9537210b93c4531040d0b164e9aeaf1.png

下载Pack支持包:

7e2dec8e960dc8cc8956b6f512559ed3.png

安装IAR支持包:

d7c6be5f84240230be8fd6257dd9f01f.png

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

cf065700a39d35cb5364b529f6d02ca5.png

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

8d4609d9dca016ba0ee3df3a73bd4440.png

d4e5fbf0f46b7b97f912b4fa5006cf20.png

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

5499d57fbc56b64542da0679775117ed.png

SDK下载

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

8c7891dcdfd674645092cc73cc642d86.png


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

33c375c7457fb5c5e99e3c15c97facc2.png


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

e9cc102a1a679478cf205bc3430d8819.png

上板调试

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

d353210cf2f4da09bd17d584a7792428.png


204078b5367e9536898815166c2fc97b.png

da9111057bf6e27447a9c5f48a1d6b01.png

现在就可以下载调试了:

26cff3835182e03a8ef2488907a514d8.png

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

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

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

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

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

欢迎关注我的视频号:

ceb61ad5142d2789a69a307967d7a146.png

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

最后

以上就是虚心金鱼为你收集整理的MCU从入门到躺平的全部内容,希望文章能够帮你解决MCU从入门到躺平所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部