微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 51单片机如何转型到ARM设计?

51单片机如何转型到ARM设计?

时间:10-02 整理:3721RD 点击:
1.ARM的汇编没必要去精通的,能够大概看懂就行了。我一般在调试的时候才需要
看看。如果一个速度要求苛刻到需要你使用汇编的话,我认为可能你更需要的是转
变思路,修改算法。比如使用查表代替计算等。我做了5年ARM开发,完成了n个项
目,至今没写过一句汇编。
2.工业控制方面因为有实时性和成本要求,我一般不使用操作系统,但我会自己实
现一些内存管理,事件管理,邮箱之类的东西。这些需要时间积累,平时写程序注
意尽量通用化,然后建立自己的库,以后再用就爽了。以前使用过一些操作系统,
发现并没有提高我的开发速度,而且还造成了调试困难的问题,出了bug找都没法
找。
3.对于公司来说,如果项目很大需要用到操作系统、网络、gui、文件系统等,自
己做还不如直接买个板子,人家都已经做好了,而且bug很少,自己只要做应用就
行了。量大的话还可以定制,算上开发成本,可能更便宜。如果你是个人兴趣,那
当我没说。
4.现在对于外设一般都有现成的库,我建议能不用还是不要用吧。因为想要用好这
些库,你必须对外设寄存器比较熟悉才行,这时候你自己写一个就行了,而且简单
的一个寄存器赋值,函数库往往需要调用一个函数来实现,太奢侈了。但是对于运
算库还是要用的,比如DSP库等,毕竟人家写的肯定效率要高点。
5.用好中断,这对51和ARM是一样的。能用中断的地方绝对不用轮询,中断是单片
机的灵魂,你的所有程序都应该围绕中断展开。
6.学好C语言,注意形成自己的编程风格,起好函数名和变量名,多写注释。不要
怕麻烦,这些很重要,我一直认为最好的程序风格是使人不需要看注释就能立刻理
解程序的意思也就是:程序即注释。我有时候会写出a=b-2-1之类的东西,不要认
为这很傻,其实是因为2和1分别代表了两个东西,你直接写成3就给理解增加了难
度,而且这也不会降低效率,编译器会把它翻译成a=b-3的。
7.对于C语言多罗嗦一句,用好指针,如果说中断是单片机的灵魂,那么指针就是C
的灵魂。
总之一句话,做ARM和做51差不多,关键还是各种外设的寄存器操作。

谢谢分享经验。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top