酷享科技Q-ShareWe.Com更多详情请访问淘宝专营店Q-ShareWe.Taobao.Com,或登录官方网站Q-ShareWe.Com。第1页一个嵌入式工程师的STM32开发日记--酷享科技Summer板官方教程版本号日期作者备注V1.02010-3-11Karlno/YuanYin初始版本V1.12010-7-1Karlno/YuanYin补充内容V1.22010-11-19Karlno/YuanYin补充内容V1.32010-12-10Karlno/YuanYin添加了SWD的说明V1.42011-4-17Karlno/YuanYin勘误V1.52011-4-21Karlno/YuanYin修进酷享科技Q-ShareWe.Com更多详情请访问淘宝专营店Q-ShareWe.Taobao.Com,或登录官方网站Q-ShareWe.Com。第2页目录一个嵌入式工程师的STM32开发日记...................................................................................................................1目录...........................................................................................................................................................................2自序.........................................................................................................................................................................2你需要学什么.............................................................................................................................................................4关于本书.....................................................................................................................................................................6日记.............................................................................................................................................................................72010-3-23阵雨-开始一段新旅程.................................................................................................................72010-3-24阴–调试环境.................................................................................................................................82010-3-29阴–关于项目和库.......................................................................................................................112010-3-29晴–编译原理...............................................................................................................................262010-4-01晴–ROM、RAM、Register........................................................................................................272010-4-12晴–简单的汇编...........................................................................................................................282010-4-13阴–代码工具和中断...................................................................................................................322010-5-14晴–SPI总线.................................................................................................................................392010-7-26晴–SD和文件系统......................................................................................................................412010-7-27晴–Vs1003b.................................................................................................................................422010-8-11晴–LCD........................................................................................................................................432010-8-12晴–Touch......................................................................................................................................442010-8-22雨–OS...........................................................................................................................................44自序我知道每个嵌入式学习者都有自己的梦想,当然我也有,每当我把自己的某些想法用嵌入式系统开发成实物,我心里的愉悦和成就感是无法形容的,我想这就是一直以来我努力追求自己梦想的原动力吧。从我接触嵌入式到现在快有四个年头了,在这四年学习嵌入式的过程中,我经历了很多挫折和失败,而这些挫折和失败,却使我在这四年里迅速成长起来。我先后到过几家不同的公司任职,却苦于找不到一个合适的成长环境;我也曾开发过各种项目,却苦于找不到人投资;我时刻提醒自己要努力的去学习和创造,却苦于无法将自己的能力层次提高到一个新的高度。一开始,我总是会把失败的原因归结到客观因素,或者那些感觉无法改变的主观因素。例如生不逢时啊,性格如此之类。当经历了总总之后,我发现,与其寂寞的等待曙光,不如张开翅膀去寻找光明,有时候,你开始走了,才会有路。事情起源于我想买一款开发板,因为枯燥乏味的重复工作实在让我找不到什么乐趣。然而TAOBAO逛了一圈,竟然没有一款可以看上眼的。我发现自己工作之后,接触的产品多了,看开发板的角度也渐渐不同起来。和几个卖家联系了之后,他们同样的观点就是购买者众口难调,没法开发出一款大家都满意的产品。因为找不到合适的板子,我才决定自己画一款,当然,这之前我还没画过PCB呢。开发板是没有一个让大家都满意的标准的,然而很多真正的嵌入式产品却有相似的标准,这就是我开发酷学玩™的目的。TAOBAO上卖的开发板,设计大多过于呆板,除了写些Demo程序尝尝新鲜感之外,基本就没有其他用处了,完全没办法和真正的成熟嵌入式产品相提并论,而这样的板子,在使用者熟悉之后也基本成了废弃物,丢入角落不闻不问。这些年我先后接触了多款产品,我试着把平时工作中遇到的成熟产品理念带入到酷学玩™的设计中,所以我删去了很多累赘的接口,同时也试着把产品做小(当然不可酷享科技Q-ShareWe.Com更多详情请访问淘宝专营店Q-ShareWe.Taobao.Com,或登录官方网站Q-ShareWe.Com。第3页避免成本也在提高),加入锂电支持等等独特的设计,让酷学玩™即可以当做开发工具,也可以加个壳就变成一款成熟产品(PDA、MP3、电子书、万年历、名片夹、小游戏机、手持示波器)。事实上,在此之前,我并没有接触过STM32的开发工作,可以说此时的我对STM32的了解还不如读者的多。然而因为之前在嵌入式这一行的经验,我相信在不久之后,我便可以迅速的在STM32上开发出我想要的软件系统。而这得益于一直以来我引以为豪的学习方法和学习能力。这将是一段非常奇特的过程,我将以一个成熟嵌入式软件工程师和一个STM32初学者的双重身份来和大家分享我的学习体验。我希望在我写完这本日记或者说在读者读完这本书之后,读者不仅能够对我的学习思想有一个认知,同时也对读者自身的学习思想进行一个总结,我相信这会对你以后的学习和工作大有裨益,这也是我写本书的目的。另外,此日记请配合相应代码进行阅读,这样会让你学得更快。同时,你若对酷学玩系列产品有任何意见和看法,请让我得知,一款产品的进步离不开使用者的反馈和支持,在此表示感谢,联系邮箱:YuanYin1985@126.Com,联系QQ:58081686。袁崟2010/03/11晚酷享科技Q-ShareWe.Com更多详情请访问淘宝专营店Q-ShareWe.Taobao.Com,或登录官方网站Q-ShareWe.Com。第4页你需要学什么在我昀开始学嵌入式的时候,对于一切知识如饥似渴,我总是担心自己接触到的知识面不够多,难以对付实际应用。于是我日以继夜翻看从图书馆借来的书籍,省吃俭用存钱买开发板实践,学完一样马上迫不及待的马上接触另一样。然而这些年来,我越发明白,一个人懂得越多,其不懂的东西就会更多。这种对未知领域的恐慌是没办法战胜的,因为人的精力有限,并且我们需要这种恐慌给我们带来学习的动力。但是,我们却可以克服这种恐慌给我们带来的负面影响,方法很简单,就是掌握对一切问题都行之有效的思维方法。得益于幼时父母对我的良好教育,我从来都是一个善于独立思考的人,我希望所有读者都能和我一样,用自己独特的眼光去观察和分析问题。在我学习嵌入式初期,我也探索过很多学习方法,到昀后却弄得自己很混乱,直到昀后,我才发现,好的学习方法其实没