本帖最后由 Veiko 于 2015-5-13 10:34 编辑
从大学时期大一下学期与电子结缘开始,到现在很大一部分时间都在学习嵌入式相关的东西,当然这并不是说我在嵌入式领域懂得就一定多,因为嵌入式太庞大了…… 在这里,分享一下自已这些年开发MCU的一些粗陋的经验,当成是给新手的建议,也希望高手看到后指正我的不足,分享更加高效的方法。 如果你只是想入门某系列的MCU,暂不考虑这款MCU实现某些算法上面的性能指标,我想你首先应该对你接下来要做的事情有个大致的规划,比如: 1. 这款MCU资料的收集。对于资料的收集一般官网会进行整,然后在对应的芯片页面下给出链接。需要注意的是,大家在下载的时候一定要根据链接的名字来命名下载后的文件(大部份链接点开后下载的文件名会发生变化),以便后期更快地找到相应的资料进行开发。在下载资料的过程当中尤其要注意芯片手册(DataSheet)、参考手册(Reference Manual)、用户手册(user's manual)、编程手册(PROGRAMMING MANUALS)以及固件库和例程(一般固件库中就会有每个模块对应的例程)。同时在收集的过程当中还应当了解开发的环境,如常用的Keil,IAR等等…… 2. 对器件资源及你关心的资源(外设)的再了解。这个不用说,你要学掌握一个芯片的开发,肯定要了解资源的配置情况,大概看一下,不一定会全部使用到,这可以帮你进一步了解芯片的性能或及性价比。 3. 找一个例程,先将例程生成的文件下载到MCU让MCU运行起来,并注意观察。 4. 不要急着在例程的基础上开发太多的东西,可以简单改写一下,看看效果,最重要的是,了解例程里面文件的组织情况,你要以能够根据这个织组情况,自已新建工程,这个新建工程是指依靠基本的器件支持文件来新建,这样对以后开发会有一定的帮助。 5. 重新开始了解芯片。我觉得这个时候你应该能够根据模块的说明和固件库进行简单应用的开发了,这个时候如果你想测试某个模块的功能时,也不会因为对开发环境的不了解或者其他一些工具链上的错误影响开发进程。这个时候也才真正开始这款MCU的学习,带有目的地学习任何东西都应该有个规划,这也是我这里讲的核心的东西。我建议大家在学习MCU的时候尽量把以下几个东西搞清楚,再去搞其他的东西,开发速度会加快很多,这些东西就是:(1)时钟树;(2)中断结构体系;(3)芯片整体的总线结构。相信搞定了这三个东西,你再去学其他的模块时就会轻松很多了…… 6. 根据你的最终应用,分先后顺序了解需要的模块并验证。在验证外设及模块的时候尽还是从结构框图开始,了解其时钟及信号的来源,再看说明了解各种模式工作的原理和配置要求,最后才是根据寄存器说明写程序。 以上这几点,是我现在去了解一款MCU的步骤,在这里分享出来,希望对大家有一定的帮助,但我也深知自已现在站的层面有限,希望看到的大神、大仙、大侠们也都来指点,分享你的经验,同时谢谢能够看完我这篇贴子的朋友们。
最后,还有一点建议,学习一个外设的功能的时候一定要结合一个运用,比如定时器的捕获功能,运用在红外接收当中,亦或者有些USART外设也是支持红外接口的,你也可以在实际的应用当中来测试一下,这样你对这个外设的工作原理也许会更加透彻。
如果觉得本文还可以,希望能得到您的宝贵一票
投票地址:
|