嵌入式软件工程师入门

2010年10月09日 13:43    发布者:ouyangtengjie
我是一名新手,想成为一名嵌入式软件工程师,主要从事什么方面,需要学什么。谢谢了

网友评论

ouyangtengjie 2010年10月09日
麻烦各位有经验的来讲讲啊,我要学习的步骤啊
renmingcan 2010年10月10日
:lol 呵呵 我是来赚分的。
ouyangtengjie 2010年10月10日
赚分也行,帮顶啊
fangka 2010年10月10日
学习嵌入式Linux吧。。。
熟悉开发环境,搭建自己的开发环境后,就先从嵌入式Linux应用程序入手吧。。。
然后再做Linux驱动。。。最后还是要研究内核吧,慢慢来吧
ouyangtengjie 2010年10月11日
回复5楼fangka: 嵌入式应用程序指哪些,能不能细点,谢谢了
redswat 2010年10月12日
帮顶阿,帮顶
wangqi490789 2010年10月12日
顶一下
markscat 2010年10月12日
你是想學那一方面?硬體還是軟體?
硬體的話,也沒有什麼太大的技術,反正就是一堆Layout的理論就是了。

軟體的話,就必須要釐清你對『嵌入式系統』的定義。
依照你期望的『嵌入式系統』,來準備你所需要的工具。

一般而言,最基礎的就是C,不管是有沒有OS,C語言是最起碼的條件。
接著就是依照你的硬件來去學習如何寫一個驅動程式,可以用組合來寫,也可以用C來寫。
如果你的系統需要有個OS掛在那邊的話,我的建議是,去瞭解一下Linux。
不能說最好用,但那是大家最常用的嵌入式作業系統。

  剩下還需要什麼?
  一點點的硬體概念,一些電路理論,清晰而又確實的邏輯概念;還有拿起烙鐵和示波器碳棒的技術和勇氣。
  別笑,一堆軟體工程師當他們要寫驅動程式的時候,就是沒那個膽量去拿烙鐵和使用示波器,所以拖了一大堆時間。
ouyangtengjie 2010年10月13日
回复9楼markscat:
感谢大侠
dalfer 2010年10月14日
新人,受教了!
grc521 2010年10月14日
路过,顶~~~~~~~~~~~~
zlq0416 2010年10月15日
你是想學那一方面?硬體還是軟體?
硬體的話,也沒有什麼太大的技術,反正就是一堆Layout的理論就是了。

軟體的話,就必須要釐清你對『嵌入式系統』的定義。
依照你期望的『嵌入式系統』,來準備你所需要的工具。 ...
markscat 发表于 2010-10-12 15:41 http://www.eechina.com/images/common/back.gif

不要认为硬件没什么技术,你应该是做软件的吧。
lovedaka 2010年10月15日
好好学习,天天向上!
lxmwish111 2010年10月24日
路过
zhuzhucat 2010年10月25日
小弟也对嵌入式方面的知识比较匮乏
laber 2010年10月25日
帮顶~
logiccat 2010年10月27日
bangding~搭车同问~
qzc0927 2010年10月28日
首先打好C语言!
berger008 2010年10月30日
毫无疑问 是C
找个开发板多练练
q416044562 2010年11月18日
我也想学学。但是我们自己学习和在大学里专业学习会有什么区别?是不是在同样的情况下,大学生和我们是不是一个小孩一个大人一样!
pury1987 2010年12月01日
我也想学,但是晓不得应该怎样上手啊,听别人说要先把C语言弄得熟练,至少C代码要自己亲自写了很多,然后C++最好也会,操作系统Linux也要会,感觉太笼统了
liuweifeng0214 2010年12月13日
嵌入式软件的开发语言大多是C。
嵌入式软件简单可分为基于操作系统的开发和不基于操作系统的开发。
不基于操作系统那一定是和硬件打交道,读写各类I/O外设,过程就是根据数据手册读写一堆寄存器。在完成I/O外设交互的基础下,完成一些应用逻辑设计,这类设计常见于小型的工业控制器或者简单的消费类电子。
基于操作系统的开发又可分为底层开发(BSP和驱动层)和应用层开发(这和windows下的程序员差不多);底层开发相类似于上面的不基于操作系统的开发,读写一些寄存器,但稍稍复杂一些,要了解操作系统的结构,主要是填写操作系统向你调用的读写设备和控制设备的接口函数;应用层开发最好能有所实现功能的专业知识背景(尤其是一些数学知识,因为可能要涉及到一些工程算法)和系统架构能力。
看你想选择什么方向。如果原来是做windows下应用层的开发,那就转linux下的应用开发,本质区别不会太大,但刚开始会感觉变得麻烦,但过一段时间后,你会有很多全新的乐趣。
如果有一定硬件背景,最好是单片机方面的基础,那就选一款主流又不太复杂的单片机,推荐ARM,从没有操作系统开始,先搞清芯片的启动流程,中断方式,和常见各类外设的基本操作(典型的是驱动一个I/O口点亮LED以及串口打印一个字符)。接下来学一个操作系统,推荐uCOSII,比较容易入门而且源码开源,主要掌握系统的boot,以及内核的基本功能。接下来学学linux,主要扩充一下驱动结构的标准化,MMU等操作系统通用的一些机制。完成这些后基本算入门了,然后就是不断的熟练,最后成为一名嵌入式软件工程师。
wave 2010年12月14日
不花钱是不行的 ,
没有经济支持的话,学习速度是很慢的。

毫无疑问 是C
找个开发板多练练
berger008 发表于 2010-10-30 10:20 http://www.eechina.com/images/common/back.gif
wangqi490789 2010年12月15日
想学习者,跟顶一下!
macmanaman 2010年12月15日
想学习者,跟顶一下!
WHM020427 2010年12月15日
一边看书一边找开发板练,理论指导实践,实践总结经验!
hmzhuang 2010年12月21日
16#你是想學那一方面?硬體還是軟體?
硬體的話,也沒有什麼太大的技術,反正就是一堆Layout的理論就是了。

這人太便激,如果讓你去做火箭,也會說火箭簡單,就是屁股後面冒火!卻不知裡面有多深,讓你搞一個無線偉輸的板試試!EMI
huanque 2010年12月25日
可以
jimmy6120 2010年12月26日
学习linux
99tang 2010年12月27日
路过~~看经验~~
dellsyyx 2010年12月27日
正在 学习
zw1350203 2011年01月05日
赚分啦
sun_sport1001 2011年01月06日
BIOS
hustych 2011年01月09日
假设你对硬件有一定的了解:至少知道cpu的结构和常用外设接口;其次假设你对C语言比较熟练。那么,首先是学着写简单的单片机硬件驱动程序,然后自己尝试着写个简单的OS,再然后是综合自己的OS+硬件驱动,做几个简单的项目。比如:实时性要求不高的人机交互界面:键盘+液晶屏;实时性一般的数据网络传输,网络可以用CAN或者在RS485的基础上用Modbus协议,can在工控领域里用的比较多,但是缺乏上层协议,而modbus协议属于比较简单的上层协议,对学习复杂的协议,比如TCP/IP协议是个预热;实时性很强的控制类算法,比如用PID调节的降压占波电路。这些都学会了,也就差不多了。
当然,在做这些项目当中,还会穿插着看看编译器和链接器的原理,学着C和汇编的混合式编程。学着做代码优化。
建议在一个硬件平台上完成这些学习内容,之后的跨平台对你而言很容易。
qingfeng1 2011年01月11日
也在听呵呵
shenyan 2011年01月21日
了解
hszx 2011年01月23日
:call:
hszx 2011年01月23日
:dizzy:
fantianchen 2011年01月23日
谁不挣分啊
bb_l_2012 2011年01月25日
学习中
ljc424 2011年02月16日
路过
ywwork2011 2011年02月19日
多谢赐教
回复9楼markscat:
Yao2011 2011年02月19日
行不行啊
xia_318 2011年02月20日
有同感,我也想学,不知道从那里入手!
ywwork2011 2011年02月23日
ywwork2011 2011年02月24日
恩,好说
zlq0416 2011年02月24日
你是想學那一方面?硬體還是軟體?
硬體的話,也沒有什麼太大的技術,反正就是一堆Layout的理論就是了。

軟體的話,就必須要釐清你對『嵌入式系統』的定義。
依照你期望的『嵌入式系統』,來準備你所需要的工具。 ...
markscat 发表于 2010-10-12 15:41 http://www.eechina.com/images/common/back.gif

一看就是搞软件的吧。硬件没什么太大的技术!?估计也就你看到一堆layout的理论了。不知天高地厚的。。。
rieman 2011年02月24日
同意楼上的看法。1、掌握C;2、买个ARM开发板,几百元就够了,把例子跑通;3、掌握基本的mCU及外设知识;4、学习并掌握和应用一个嵌入式操作系统,最好是简单一点的,先用起来。   到此,就入门了。
lianwazi 2011年02月26日
来顶一下!!!
bynow 2011年02月26日
黑 黑 我也是新手
jsxzghy 2011年02月27日
也想了解嵌入式
lhj76310 2011年02月28日
先从C开始,在学操作系统
bashao 2011年03月05日
不知道你的基础,如果从最基本的开始就是51单片机----->AVR单片机----->ARM7
这里会涉及到操作系统学校三星的,同时要DSP和CPLD/FPGA兼顾。______>最后就是ARM9,linux,高级DSP,SOPC。这就是一个完整的体系。
LI163169 2011年03月05日
c语言,电子制板软件,模电、数电、单片机
qisl 2011年03月07日
新人,学习了。
lhj76310 2011年03月09日
henhao
tuohaiparker 2011年03月09日
买个开发板自己捣鼓。
fangka 2011年03月10日
顶起来
nwnu_ 2011年03月10日
路过。飘~~~~~
lianfutiana 2011年03月11日
困难中,一堆东西,不知道该从哪下手
hopper_ 2011年03月11日
学习了
lzhijian2 2011年03月12日
学习,留名
z_lzdq 2011年03月19日
先从51单片机入手
handsomelufeng 2011年03月21日
很有乐趣,但是太难了,除非你耐得住寂寞
GDSZJL 2011年03月21日
找开发板多实练!
lilxc 2011年03月24日
路过, 顶
hsugc 2011年03月24日
全国软考有一门考试  嵌入式系统设计师
你可以买那个教程 一本书  虽然讲的不是太多 但是告诉了 你需要掌握哪些知识
整体的思路很清晰
sjg 2011年03月29日
路过。。。。。。。。。。
初级工 2011年03月30日
顶68楼
sw9518 2011年04月26日
:)
mikl58 2011年04月26日
楼主有QQ没
zhuifeng8466 2011年04月26日
路过,顶~~~~~~~~~~~~
chenyz1214 2011年04月28日
我也很想需要大虾的指点
wubinxun 2011年04月29日
嵌入式有两种:嵌入式控制器和嵌入式处理器,前者在国内又叫单片机(如8051系列、16位单片机),后者包括DSP、ARM等等。如果你想成为软件工程师除了要学习c语言外,我建议你一定要学习汇编,它能让你对编程和嵌入式硬件的关系更加清晰,如果你学精了c语言编程,那么学习汇编便有画龙点睛之效。总之重在精,不可贪多,单片机的8051是一款很不错的入门单片机,有了它坚实的基础,在学习其他类型的嵌入式相对容易!祝你早日成功啊!加油
309shuai 2011年04月30日
:handshake
gnmxd 2011年05月01日
wuyujing 2011年05月01日
bang ding
lbz842 2011年05月01日
学ARM LINUX
BILLY_HU 2011年05月02日
有同感,我也想学,不知道从那里入手!
zhujunfeng0117 2011年05月09日
买个开发板多动手
zhujunfeng0117 2011年05月09日
我是来刷分的
lbz842 2011年05月10日
我也想干这个
fdjlz78 2011年05月12日
先弄清楚自己想学硬件还是软件
ckq1988 2011年05月22日
C语言  汇编
招财宝贝 2011年05月23日
新人 受教了!
bapi0908 2011年05月24日
嵌入式本身是一个比较通用化的技术,如果只有嵌入式的技术还不能够拿到太高的薪水,你应该进入一个行业了解一个行业,把这些通用技术和该行业的工艺联系起来才能做的比较有兴趣
tangyaopan 2011年05月27日
我也想知道
ssddss5678 2011年05月28日
搭建自己的开发环境后,就先从嵌入式Linux应用程序入手吧。。。
然后再做Linux驱动。。。最后还是要研究内核吧
hxh993217 2011年05月30日
硬件其实也会导致很多意想不到的问题出现的!
chenyz1214 2011年06月02日
路过赚积分的。哈哈
ckq1988 2011年06月04日
呵呵 我是来赚分的。
飞雪 2011年06月04日
有一个门槛哦
shalione 2011年06月06日
:)
mqxc 2011年06月11日
好好学习,天天向上!
huajinsong 2011年07月01日
路过帮顶一下~~
lqzh1872 2011年07月03日
I don't known.
Is it real?
lelee007 2011年07月03日
热贴,哥也来顶一把:lol:victory:
xyls463 2011年07月10日
我也来顶一下
thunderccx 2011年07月11日
有机会做个项目,用到什么学什么,很快就OK了,为了学而学,效率很低。
bcf9088 2011年07月11日
需要学习的很多。
qq847185808 2011年07月13日
路过,受教!
lygpetter 2011年08月15日
路过~~~
cc188 2011年08月19日
純支持了。
王兴梅 2011年08月21日
实时多任务操作系统。
wzwl 2011年08月23日
好的
vvjjii 2011年08月26日
:victory:
Yao2011 2011年08月31日
学习学习:lol
oyang0516 2011年09月09日
先熟悉下嵌入式的开发流程,在多练练应用
43834285 2011年10月09日
来赚分的。。。
gwolf2004 2011年10月16日
C吧
wljcom 2011年10月17日
ffffffffffff
Vanko 2011年12月11日
我感觉他们说的,都不具体。
xiexing1110 2011年12月14日
路过
taojl2006 2012年01月10日
基础很重要啊
asyou 2012年01月10日
还是先学好C语言最重要!
guochangfei20 2012年02月15日
赚分的,顶。。。
wx243248777 2012年02月17日
好的玩学吧
diirtydog 2012年03月07日
帮不上啥忙,不过说实话我也想学学呢~
kaifuzhang 2012年06月20日
路过
lixiancang215 2012年06月25日
学了好长时间linux,感觉懵懵懂懂,谁在具体指点一下
lixiancang215 2012年06月25日
特别需要指导
Fundyqds 2012年06月27日
顶楼上
xb_d85@163.com 2012年06月29日
越看越觉得有好多东西要学啊。
chenzehongczh 2012年06月29日
daizhi1970 2012年08月07日
O(∩_∩)O谢谢:lol
daizhi1970 2012年08月07日
O(∩_∩)O谢谢:)
qq544215846 2012年08月14日
这么多人学的啊  
zhangliang571 2012年08月29日
C是必须精通的
woyaoba125 2012年09月20日
目前国内嵌入式主要还是偏软件,硬件是现成的嘛
eduxr 2013年04月21日
楼主所问到的,我们公司有专业老师给你回答,我们公司是专业为个人和企业实施嵌入式培训和技术咨询服务,可以免费试听课程免费咨询,有兴趣的加嵌入式交流群(80060765已满)(301626053新群)共同交流、学习
JZS 2014年07月15日
想入手
red178 2020年05月11日
同问