找回密码
 注册
关于网站域名变更的通知
查看: 675|回复: 8
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-5-12 14:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1.ARM的汇编没必要去精通的,能够大概看懂就行了。我一般在调试的时候才需要看看。如果一个速度要求苛刻到需要你使用汇编的话,我认为可能你更需要的是转变思路,修改算法。比如使用查表代替计算等。我做了5年ARM开发,完成了n个项目,至今没写过一句汇编。1 }$ c4 p9 ^( ~9 U& [$ T
2.工业控制方面因为有实时性和成本要求,我一般不使用操作系统,但我会自己实现一些内存管理,事件管理,邮箱之类的东西。这些需要时间积累,平时写程序注意尽量通用化,然后建立自己的库,以后再用就爽了。以前使用过一些操作系统,发现并没有提高我的开发速度,而且还造成了调试困难的问题,出了bug找都没法找。
, l7 z, u1 B5 f: M- m3.对于公司来说,如果项目很大需要用到操作系统、网络、gui、文件系统等,自己做还不如直接买个板子,人家都已经做好了,而且bug很少,自己只要做应用就行了。量大的话还可以定制,算上开发成本,可能更便宜。如果你是个人兴趣,那当我没说。
9 P4 K0 ]& F( Y! y4.现在对于外设一般都有现成的库,我建议能不用还是不要用吧。因为想要用好这些库,你必须对外设寄存器比较熟悉才行,这时候你自己写一个就行了,而且简单的一个寄存器赋值,函数库往往需要调用一个函数来实现,太奢侈了。但是对于运算库还是要用的,比如DSP库等,毕竟人家写的肯定效率要高点。# m- m0 v1 x4 z" V! A0 s: D7 H4 n
5.用好中断,这对51和ARM是一样的。能用中断的地方绝对不用轮询,中断是单片机的灵魂,你的所有程序都应该围绕中断展开。
" x  P6 ]5 r$ u; W$ {8 K6.学好C语言,注意形成自己的编程风格,起好函数名和变量名,多写注释。不要怕麻烦,这些很重要,我一直认为最好的程序风格是使人不需要看注释就能立刻理解程序的意思也就是:程序即注释。我有时候会写出a=b-2-1之类的东西,不要认为这很傻,其实是因为2和1分别代表了两个东西,你直接写成3就给理解增加了难度,而且这也不会降低效率,编译器会把它翻译成a=b-3的。
8 ]- n$ t1 {6 k5 |: W; r7.对于C语言多罗嗦一句,用好指针,如果说中断是单片机的灵魂,那么指针就是C的灵魂。5 K0 ?4 f6 w6 I  i, e0 ^" D& n
总之一句话,做ARM和做51差不多,关键还是各种外设的寄存器操作。  E/ Q+ J& [4 X& N* m1 X1 f2 o

该用户从未签到

2#
发表于 2016-6-7 17:45 | 只看该作者
好人啊 感恩感恩6 L; M) p' c# D/ C; T. c# p/ ^) y

该用户从未签到

3#
发表于 2016-8-25 10:52 | 只看该作者
谢谢分享,必须赞一个~' `; Z- G. P$ S; N4 ^9 P6 B

该用户从未签到

4#
发表于 2016-8-25 10:58 | 只看该作者
谢谢O(∩_∩)O哈哈~谢谢O(∩_∩)O哈哈

该用户从未签到

5#
发表于 2016-8-26 14:14 | 只看该作者
资源多,学习不止步,共同进步+ v+ Q' E( j& Y( W4 v  `$ P

该用户从未签到

6#
发表于 2016-8-26 14:46 | 只看该作者
学习中,谢谢分享' a  d: w( T' Y; E
  • TA的每日心情
    开心
    2024-5-24 15:34
  • 签到天数: 2 天

    [LV.1]初来乍到

    9#
    发表于 2018-2-7 14:20 | 只看该作者
    Thank you for your sharing
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 13:19 , Processed in 0.156250 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表