有经验的请进来,高分请教:驱动开发与嵌入式开发的区别

javaglory 2008-09-06 10:52:03
加精
在"硬件/嵌入式开发"的大版下,有“驱动开发/核心开发” ,"嵌入开发",两个小版,可见两者是有区别的。

我想知道,“驱动开发”和"嵌入式开发"有什么联系与区别? 按我的理解,驱动开发和嵌入式开发,都是面向底层硬件的控制的。

作为一个想入门的人,如果我的方向是Linux的,那么学"Linux驱动开发"和"嵌入式Linux开发"有什么不同,各要掌握哪些知识呢?哪个职业的前景会好一些?

我的问题比较多,希望知道的比我多的人都帮我解答一下。谢谢。

...全文
6641 64 打赏 收藏 转发到动态 举报
写回复
用AI写文章
64 条回复
切换为时间正序
请发表友善的回复…
发表回复
大磊大 2012-08-11
  • 打赏
  • 举报
回复
驱动主要是x86架构和ARM 就够有什么不同 啊~~

与时俱进go 2012-06-05
  • 打赏
  • 举报
回复
嵌入式包括的太多了,裸班驱动,有系统驱动,linux应用都属于嵌入式的开发。
ericrack 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

“驱动开发/核心开发”就是开发电脑中运行的驱动程序。
“嵌入式开发”是指微机系统的各种嵌入式应用的相关开发。

至于前景就不好说了,我个人不看好Linux。
[/Quote]我想请问一下 大侠你个人不看好linux看好什么呢?
star6112 2012-03-09
  • 打赏
  • 举报
回复
[Quote=引用 51 楼 perfectlife_2009 的回复:]
驱动开发目前有两种:
1. 无内核驱动程序: 这一层是最贴接硬件的,直接操作物理地址,如:flash, nand flash, sd/mmc,..etc. 硬件初始化(最底层的,基本是汇编代码),然后是PC/开发板接口初始化(针对不同板子的,分开来以便用户扩展功能).(如:windows的bios,linux的u-boot). 因为没有内核,所有的接口驱动程序在PC/开发板接口初始化后接上去,如……
[/Quote]
听起来,应该是做硬件出身的,不知道是否做过内核的驱动开发,有没有详细的经验分享!
Frog1228 2012-01-31
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 objlinking 的回复:]
引用 19 楼 javaglory 的回复:
引用 9 楼 wanyeye 的回复:
1 我理解你的意思是,在嵌入式设备上作驱动开发也分两种,1 面对不带操作系统的 2 面对带操作系统的。凡是有操作系统的,都是调用系统留的开发接口的,是这样吧? 如果没有操作系统的呢?技术运用上有何不同呢,你能介绍一下吗

没系统,直接看datasheet啊, 按协议来做嘛,我个人觉得比带系统好开发

……
[/Quote]
我也想去国外读个EE的Master哎。
xingz1234 2011-12-11
  • 打赏
  • 举报
回复
不能说什么东西有前途,只能说在国内什么东西都搞不了多深就是停留在皮毛的情况下,搞什么都没前途
nightkids_008 2011-05-13
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wanyeye 的回复:]
记住了, 一切都是为了应用

自己琢磨吧, 工作10年了,自己该做什么还不清楚么???
有机会就去做 咨询 或管理吧

俺现在在学习绘画, 准备去搞服装了 嘿嘿
[/Quote]
我靠 艺术家
kevinjang04 2011-03-07
  • 打赏
  • 举报
回复
高薪寻找编写 硬盘驱动程序高手


有意者请联系:739066059
tristan1 2011-02-26
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 javaglory 的回复:]
引用 9 楼 wanyeye 的回复:
1 我理解你的意思是,在嵌入式设备上作驱动开发也分两种,1 面对不带操作系统的 2 面对带操作系统的。凡是有操作系统的,都是调用系统留的开发接口的,是这样吧? 如果没有操作系统的呢?技术运用上有何不同呢,你能介绍一下吗

没系统,直接看datasheet啊, 按协议来做嘛,我个人觉得比带系统好开发



请问哪位高手能贴出一个datasheet……
[/Quote]

这要看些什么样的 驱动程序了,如果简单的,看datasheet没有问题,例如在单片机上实现个串口什么的,但是复杂一点的,例如网络设备驱动,一般自己编是比较困难的。大多数情况下是由芯片供应商提供一个demo板,同时提供驱动程序的可用模板,外加datasheet,而我们的工作主要是在上面进行一些修改,优化。或者增加一些接口什么的。
即使是这样很多情况下都需要技术支持的帮助,因为一个东西做出来不是能运行就ok了,要充分考虑其性价比。
  • 打赏
  • 举报
回复
呵呵,路过看看,敢问路在何方,路在脚下。。。
你真有本事,就得是全才,这样就足够了,还怕工资不高!
其实并不难,但是难的是坚持!
YBXAYBXA 2010-08-14
  • 打赏
  • 举报
回复
偶也学驱动的 看了这么多 受益匪浅啊
wdl1127 2010-04-14
  • 打赏
  • 举报
回复
驱动开发,是最底层的程序,比如串口、LCD、触摸屏、SD卡等等这些直接驱动硬件的程序,叫驱动,那么当然对这些程序就叫做驱动开发,嵌入式开发是一个很广泛的定义,可以理解为任何一个在嵌入式装置上开发的系统,都叫做嵌入式开发,一般主要是指应用程序的开发,有两种情况,一个是在有操作系统下的开发,另一个就是裸机下开发。。。不要想的那么复杂,就是这些概念。希望对你有帮助
hanshuangfly 2010-01-23
  • 打赏
  • 举报
回复
可以肯定的是两者不用。
驱动开发,不管是嵌入式系统还是PC系统都需要。
而嵌入式开发,就有应用开发和驱动开发很多层面的内容了。
hk_mars 2009-07-05
  • 打赏
  • 举报
回复 1
驱动开发目前有两种:
1. 无内核驱动程序: 这一层是最贴接硬件的,直接操作物理地址,如:flash, nand flash, sd/mmc,..etc. 硬件初始化(最底层的,基本是汇编代码),然后是PC/开发板接口初始化(针对不同板子的,分开来以便用户扩展功能).(如:windows的bios,linux的u-boot). 因为没有内核,所有的接口驱动程序在PC/开发板接口初始化后接上去,如:SPI,UART,USB,video,audio等,这一层是驱动开发人员根据具体的开发板datasheet开发手册进行开发的,如三星的s3c64XX CPU系列板子. 这种驱动开发是针对那些不需要很强的用户UI操作,不需要很强的扩展能力的产品开发的,对实时控制能力要求高,更多的是关注硬件的速度,但要想开发更有创意更智能化的产品,提供更多的服务的话,在这一层后load进操作系统内核,文件系统,利用操作系统来开发,那是无所不能的.但同时也增加了开发的人员的负担,因为他们还得去撑握操作系统内核是如何运作的,这样就出现不同层次的驱动开发人员.
2. 有内核驱动程序: 上面已说过一点,这一种开发的话,基本上前面那些无内核驱动部分已有通用的工具可使用,只需要懂得配置这些工具,把内核移植进来就可开发,但也并不是那么容易,需要看很多资料,源代码。然后,可在内核里加入你的驱动程序,操作硬件更接口,同时利用操作系统的UI API或开源UI包可开发出很好的UI,使产品升值,这一层对软件的设计要求很高,所以要很多测试人员进行代码测试.

按楼主的意思,"驱动开发/核心开发"应该就只有上面两种了.未来有内核驱动开发是很有前途的,但是无内核驱动开发是有内核驱动开发的前沿,有内核开发主要是为了开发出更多有价值的产品,在本人看来,两种开发都要一定时间,难度一种向硬件,一种向软件,只要你会无内核驱动开发先,撑握有核开发会更快,有机会成为软硬兼备的大师级人物.谢谢.
banqhu 2009-07-02
  • 打赏
  • 举报
回复
googd
xxuxxakai 2008-09-19
  • 打赏
  • 举报
回复
其实嵌入式开发里包含有驱动开发,但是驱动开发不仅仅只有嵌入式驱动开发。嵌入式开发是针对特定的功能进行的系统开发,包括硬件设计,底层驱动开发,中间层应用开发,应用程序接口开发,界面实现等等。其中的嵌入式驱动开发针对性强,功能不是很多(因为要考虑资源的分配和运行的效率),只有一些特定的实现。而驱动开发呢,就是把硬件要实现的功能通过接口用程序实现出来。
thomas.he 2008-09-19
  • 打赏
  • 举报
回复
学习学习··············
brilliantmelody 2008-09-18
  • 打赏
  • 举报
回复
GGGRWT
brilliantmelody 2008-09-18
  • 打赏
  • 举报
回复
GRETYWEY3
brilliantmelody 2008-09-18
  • 打赏
  • 举报
回复
GGGRWT
加载更多回复(42)

21,599

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧