文 / 杜洋 洋桃电子
到洋桃电子全部文章:http://www.doyoung.net/YT/index.html
这篇文章PDF百度云下载:https://pan.baidu.com/s/1hsqyVZI
这篇文章是我的ARM入门教程的第2期,刚刚看到的朋友可以找上一个月的杂志从第1期连载开始看起。上一期我 们了解了ARM公司和ARM框架,知道要学什么,能做什么。喜欢的朋友自然会等我的连载,如果出了第2期,就是为你们而写的。我接触ARM比较早,那时是2006年,我在一家专门研发ARM开发板的公司上班。老板对我很好,让我学到了很多。可是私下里我依然玩着8051单片机,原因可能是一种执着,也可能是对ARM的畏惧。当年的ARM很麻烦,不仅有很多个芯片选择,而且用于开发的软件都不友好。学习上的资料除了官方的数据手册,几乎没有别的。学ARM的人不多,我们公司的开发板也卖得不好。
一转眼过去了11年,现在的ARM芯片市场相比从前有着质的差别。因为ARM框架的优势越来越明显,加上以苹果为首的智能手机市场的兴起,ARM的时代开启了。在这十多年里,很多公司看到了做ARM的利润,纷纷生产ARM芯片,但是随之而来的是选择越来越少了。为什么呢?因为竞争带来了优胜劣汰,大公司吃掉了小公司。就好像点击量高的视频就会有更多人点击,优质的ARM芯片很快占领市场的绝大部分,其他小厂商死伤一片。如今的ARM市场在嵌入式处理器这个领域,ST公司是毫无疑问的第一,就像苹果手机在智能手机中的地位,也像美第奇家族在文艺复兴时期的欧洲的地位一样。说到家族,我觉得STM32就像一个家族,它有自己的家谱,大家族里有小家庭,家庭里有兄弟姐妹,每个成员有其个性和擅长的能力。下面请大家跟我一起了解一下STM32的家谱。
不背熟贾氏家谱,就难读懂《红楼梦》。不了解STM32家谱,就很难明确你在学什么。家谱就像地图,让你知道身处何处,目标在哪。有些初学者只钻研一款型号的芯片,学了很久,经验很多。不论是做低功耗产品还是做高性能应用,都固执地用这款芯片。独爱一人是专一而美好,但兼爱天下更能宽阔心胸、通达人生大道。钻研一款芯片把它用于极致自然好,可是科技在进步,不知何年何月你的芯片就被淘汰了。现在还有些人坚持用AT89C51(20世纪80年代的古老产品),还不知已经脱离了时代。终一人而有生死,达天下者得永恒。不要把目光盯在一款芯片上,也不要盯在STM家族上。看得越远,你站得就越高。
命名的原理
说家庭的谱系,最方便的入口就是从名字开始研究。不论是人类的家谱还是STM32的家谱都有姓名的规律。以我的家谱为例,我父亲“杜贵权”这个名字,“杜”是家族编号。老话曾说过,同姓者500年前都是一家人,所以我听说哪个朋友姓杜都会有种亲切感。“贵”是辈分编号,一般都是按设计好的句子顺序排列,比如“富 贵荣华”。“权”是个人编号,通过它来区分兄弟姐妹,“杜贵兰”是我姑,“杜贵林”是我叔。按家谱算的话,我应该叫“杜荣洋”,还好家谱退出了历史,个人可以随意取名字,但姓还得保留。
不按家谱取名,别人很难判断你的社会关系。就像ARM的Cortex框架,明明应该按规律叫ARM12,却非要用单词代替,让不了解的人不知道它在ARM家族中的位置。ARM公司之所以弃用“家谱”,可能也是想求新求变,毕竟现在流行个性化。STM32系列的家谱非常明晰,目前还没有例外的命名。我猜是因为芯片名是用户造型(开发产品时研究考虑选择哪一款型号的芯片)的重要依据,随意取名对选型非常不利,这是任何公司都不希望看到的。名字的每一个字符都有明确而有规律的含义,学习了解这些含义就是掌握STM32 家谱的方法。具体问题需要具体分析,为此我制作了一个图表。图1所示是对一款STM32微控制器ÿ