当前位置:
文档之家› 一个嵌入式工程师的Stm32开发日记
一个嵌入式工程师的Stm32开发日记
得益于幼时父母对我的良好教育,我从来都是一个善于独立思考的人,我希望所有读者都能和我一样, 用自己独特的眼光去观察和分析问题。在我学习嵌入式初期,我也探索过很多学习方法,到最后却弄得自 己很混乱,直到最后,我才发现,好的学习方法其实没那么神奇,它就是你在学习过程中保留下来的能够 增强效率的好习惯而已。当这些好习惯积累下来,就是你自己的核心竞争力。
2. 勤于实践。我一直认为书上的东西是死的,看得再多,它还是在书上;别人的东西是别人的,别 人对你讲得再多,也依然是在他的嘴上。要想把知识变为自己的,最行之有效的方法就是实践。 所以师弟问我问题时,我总是会说,让程序再板子上跑一遍即可。所以各位读者,当你遇到问题 时,一定记得去 Try 一次,实实在在的在开发板上做一次,一切对错即明晰。引用邓小平的一句 话:实践是检验真理的唯一标准。
今天开始写第一篇技术日记,pcb 板也在今天画好了,所以给自己的标题是开始一段新旅程。 一般来说,每一个产品开发,每一个开发工程师,都有自己的调试环境和步骤。就我遇到的产品而言, 基本上有两种环境。(有时招聘面试官也会问起这个,嘻嘻)。 第一就是对于底层程序,也就是汇编程序,这类程序的调试必须借助 Jtag,因为 Jtag 可以单步调试啊, 进出循环啊。比如在移植操作系统的时候,如果调试器不支持单步,那真的是一件非常痛苦的事情(不排 除有些牛人不需要单步,呵呵)。 第二就是对于应用类的程序,也就是我们常用的 C 或者 C++,基本都是用串口(UART/UARST)输出 信息来调试板子。这类应用,因为底层基本都写好了,有操作系统啊,有 Bootloader 程序啊,底层是不会 出问题的。而且有现成的 printf 函数,用宏定义把各个模块包起来,需要的时候调用 printf 打印系统信息到 串口,就能够知道系统的运行流程和轨迹,基本上都能够解决问题。如果这种情况下用 Jtag 调单步,基本 能把人搞晕的。所以在一般的产品开发里,都是直接用编译器生成 bin 或者 hex 文件,烧到板卡里,看串口 信息进行调试。而我们生活中的很多产品,比如路由器啊,猫啊,数字设备啊,把外壳拆开,都能见到很 明显的串口引脚。 这里不得不提一下开发板的设计,在众多的开发板中,基本都能见到大大的串口和 max232 芯片,有些 板子还一口气接了两个。实际上,在公司里看见的产品,都不会接出的,产品直接接出 CPU(STM32)的 TX 和 RX 引脚,即 UART 引脚。而一般的程序员都有一个调试小板,就是把 TX 和 RX 转换成电脑的 TTL 电平,接到 PC 的串口,然后在 PC 的超级终端就能看到串口打印的信息。而现在,因为很多电脑主板和笔 记本已经不带串口了,因此酷学玩™系列产品附赠一个“USB To TTL”的模块,通过这个模块,连接开发 板上的 TX、RX 和 GND 到电脑的 USB 口,同样可以在串口软件上看到板卡的串口输出信息。此模块需要 安装驱动,驱动路径:产品光盘\开发环境\USB 转 TTL 驱动。 这本日记,不打算写成长篇累牍的教程,因为在我以前的学习经历中,很多时候,让你茅塞顿开的并 不是繁杂的文档,有时仅仅是过来人的一句话。所以我希望自己的日记更能从思维的角度,让一个初学者 看清楚每个模块到底是怎么回事。有时,事情就是那么简单!
我的学习方法总结起来,有几个核心思想,我先向大家解释一下这些核心思想,当然这些思想,不仅 可以用到嵌入式学习中,同样也可以用到生活学习工作的方方面面。
1. 做聪明的懒人。不记得是什么时候,我发现这个世界是懒人创造的。懒得走路,于是有人发明了 自行车;懒得干手工活,于是发明了机器;懒得洗衣服,于是发明了洗衣机。这个时候也许有朋 友想起自己床底下的臭袜子开始为我这段话自豪起来。但是我想告诉你的是,光做懒人没用,要 做聪明的懒人才行,懒得动手的人,一定勤于动脑。世界上所有的创造力都来源于解决困难和追 求享受两个因素。当你遇到问题时,你是否会静下来思考呢,是否会比较出各种解决方案的差异 呢。如果你生活中常常有这样的步骤,那么可以说你是个很乐趣的人。在我的学习路途中,我一 直做一个懒人。我从来不强迫自己去做不想做的事情,我只是引导自己走最简单的路。我从不记 各种繁琐的常用的知识点,因为我深信用多了自然能记住,于是手头总是有很多参考书,他们在 帮我记。有时我也懒得翻书,于是搜索引擎和网络成了我最好的朋友。有时连搜都懒得搜了,旁 边有高手,什么问题就都问他,既省事,问多了自己不好意思一不小心就记住了。
4. 勤于总结。人每天遇到的问题太多了,特别是学习者,然而人脑是有限的。所以我鼓励朋友们都 和我一样,能够时刻总结自己得到的。写在纸上也好,发到网上也好,刻5. 坚持到底。最重要的一点放到最后说,只有四个字,简单得不能再简单,却不是每个人都做得到。 从我真正想做一件事开始,我放弃的部分大于我坚持的部分,所以失败的部分多余成功的部分。 每每放弃,我总会为自己找到各种理由。这些理由看似坚不可摧,实际上是你给自己摆的障碍而
QXW /酷学玩™
你需要学什么
在我最开始学嵌入式的时候,对于一切知识如饥似渴,我总是担心自己接触到的知识面不够多,难以 对付实际应用。于是我日以继夜翻看从图书馆借来的书籍,省吃俭用存钱买开发板实践,学完一样马上迫 不及待的马上接触另一样。然而这些年来,我越发明白,一个人懂得越多,其不懂的东西就会更多。这种 对未知世界的恐慌是没办法战胜的,因为人的精力有限,并且我们需要这种恐慌给我们带来学习的动力。 但是,我们却可以克服这种恐慌给我们带来的负面影响,方法很简单,就是掌握行之有效的学习方法。
3. 善于引导自己。这个世界上的人有各种不同的兴趣爱好,我想这就是这个世界丰富多彩的原因。 每个人都会发现,做自己不情愿的事情时,效率很低。所以我鼓励我所有的朋友都从事自己感兴 趣的行业,这样的人生才会精彩。当然,有很多朋友已经上了另一条路,才发现自己真正喜欢的 事物。这时转身投入自己感兴趣的行业,一是怕丢了现在已经得到的导致终身遗憾,二是怕起步 太晚赶不上人家。我也有不少这样的朋友,其中有一个大学同学,是学建筑的,发现自己喜欢嵌 入式,我当时极力鼓励他搞自己感兴趣的东西,不要怕,要是怕就努力埋头去做,不给自己的后 悔留路。结果现在也才过去三四年时间,他已经在北京一家软件公司做开发工程师了,懂得东西 比我还多。所以我说,在人生的路上,你一定要明白什么是你最想要的,你要懂得如何引导自己 去走一条正确的路,这样的人生才会有意思。
更多详情请访问淘宝专营店 ,或登录官方网站 。 第 3 页
QXW /酷学玩™
已。到现在,我终于明白,成功的路有千万条,成功的法则有千万句,但是成功的本质只有一句
话,就是坚持到底。另外,教大家一个坚持的方法。当你做一件事情已经厌烦的时候,那就什么
开发板是没有一个让大家都满意的标准的,然而很多真正的嵌入式产品却有相似的标准,这就是我开 发酷学玩™的目的。TAOBAO 上卖的开发板,设计大多过于呆板,除了写些 Demo 程序尝尝新鲜感之外, 基本就没有其他用处了,完全没办法和真正的成熟嵌入式产品相提并论,而这样的板子,在使用者熟悉之 后也基本成了废弃物,丢入角落不闻不问。这些年我先后接触了多款产品,我试着把平时工作中遇到的成 熟产品理念带入到酷学玩™的设计中,所以我删去了很多累赘的接口,同时也试着把产品做小(当然不可 避免成本也在提高),加入锂电支持等等独特的设计,让酷学玩™即可以当做开发工具,也可以加个壳就变 成一款成熟产品(PDA、MP3、电子书、万年历、名片夹、小游戏机、手持示波器)。
事实上,在此之前,我并没有接触过 STM32 的开发工作,可以说此时的我对 STM32 的了解还不如读 者的多。然而因为之前在嵌入式这一行的经验,我相信在不久之后,我便可以迅速的在 STM32 上开发出我 想要的软件系统。而这得益于一直以来我引以为豪的学习方法和学习能力。这将是一段非常奇特的过程, 我将以一个成熟嵌入式软件工程师和一个 STM32 初学者的双重身份来和大家分享我的学习体验。我希望在 我写完这本日记或者说在读者读完这本书之后,读者不仅能够对我的学习思想有一个认知,同时也对读者 自身的学习思想进行一个总结,我相信这会对你以后的学习和工作大有裨益,这也是我写本书的目的。另 外,此日记请配合相应代码进行阅读,这样会让你学得更快。
同时,你若对酷学玩系列产品有任何意见和看法,请让我得知,一款产品的改进离不开使用者的反馈 和支持,在此表示感谢,联系邮箱:YuanYin1985@,联系 QQ:58081686。
袁崟 2010/03/11 晚
更多详情请访问淘宝专营店 ,或登录官方网站 。 第 2 页
都不想,麻木的去做,适应了这种麻木,成功就不远了。一句话,忍无可忍,就重新再忍。
更多详情请访问淘宝专营店 ,或登录官方网站 。 第 4 页
QXW /酷学玩™
日记
2010-3-23 阵雨 - 开始一段新旅程
QXW /酷学玩™
自序
我知道每个嵌入式学习者都有自己的梦想,当然我也有,每当我把自己的某些想法用嵌入式系统开发 成实物,我心里的愉悦和成就感是无法形容的,我想这就是一直以来我努力追求自己梦想的原动力吧。
从我接触嵌入式到现在快有四个年头了,在这四年学习嵌入式的过程中,我经历了很多挫折和失败, 而这些挫折和失败,却使我在这四年里迅速成长起来。我先后到过几家不同的公司任职,却苦于找不到一 个合适的成长环境;我也曾开发过各种项目,却苦于找不到人投资;我时刻提醒自己要努力的去学习和创 造,却苦于无法将自己的能力层次提高到一个的高度。一开始,我总是会把失败的原因归结到客观因素, 或者那些感觉无法改变的主观因素。例如生不逢时啊,性格如此之类。当经历了总总之后,我发现,与其 寂寞的等待曙光,不如张开翅膀去寻找光明,有时候,你开始走了,才会有路。
QXW /酷学玩™
一个嵌入式工程师的 STM32 开发日记
-- 酷学玩 Summer 板官方教程
文档版本 1.0 最后更新日期 2010-10-25
更多详情请访问淘宝专营店 ,或登录官方网站 。 第 1 页
更多详情请访问淘宝专营店 ,或登录官方网站 。 第 5 页