1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
我记得刚开始学习嵌入式的时候,我使用的是友善之臂S3C2440芯片的一款产品----对,我跳过了单片机阶段,直接开始linux系统的学习;所以在学习阶段,我跳过了建设地基,直接开始了建设高楼,导致我对嵌入式的理解一直是有缺陷的(现在也在丰富中)。
幸好当时我意识到了这个问题,所以我在选择第一家公司的时候,偏向于做单片机产品,兼顾linux系统的公司,结果是我的运气非常不错。我入职的第一家公司有从单片机(Cortex-M3)到系统linux(Cortex-A9)的产品,所以在第一家公司工作的时间里,我真正学习了寄存器的控制一直到系统的驱动编写;当然当时的系统驱动编写也只是一些简单的驱动,但是让我对嵌入式有了比较深的了解。 好了,闲话聊到这里,说说我总结的经验。 如果你是刚开始学习嵌入式,那么接下来的方法希望可以帮助到你;如果你已经是开发过很多项目的老手,那希望我所说的能够引起你的共鸣。 一、首先确定你所学习或开发项目的目标、需求、功能点是什么。 二、查看学习所用开发板的原理图(如果有PCB图更好),或开发项目时厂商提供的开发板原理图(厂商一般不提供PCB图)。 查看并确认原理图是非常重要的一个步骤,因为你可以在原理图上学习并确定你的需求原理,当知道功能的原理时开发时就事半功倍。 如果你在查看原理图中遇到不懂的问题,一定要询问公司的其他同事(硬件工程师最好),不要吝啬自己的笑脸。 三、编写代码原则就是书本上的要点(这里我是个搬运工): 1.中断服务程序尽量简短; 2.循环体工作量最小化; 3.将频繁使用的变量设置为---寄存器变量。(个人感觉使用中并不常用) 4.采用合理高效的算法。 5.函数模块化。 6.系统的关中断/关调度范围尽可能最小化。(针对系统) 四.其他注意事项 1.嵌入式软件工程师在开发过程中需要和硬件工程一起配合开发,所以在硬件工程师改动过项目板后,嵌入式软件工程师一定要仔细的查看对照引脚对应; 2.不管你编写的程序是简短还是庞大,最好是将驱动代码和应用代码分开编写;并且和函数名一样需要见名知意; 3.对于一些并不确定引脚的功能点,最好使用宏的形式进行确定,有助于修改;最好的方式是所有功能的引脚都使用宏来替代,便于修改与移植。 今天的分享就到这里,希望对大家有帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
3310 浏览 9 评论
2991 浏览 16 评论
3492 浏览 1 评论
9055 浏览 16 评论
4086 浏览 18 评论
1174浏览 3评论
603浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
596浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2333浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1894浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 16:34 , Processed in 1.149812 second(s), Total 78, Slave 59 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号