专栏中心

EEPW首页 > 专栏 > 我眼中的嵌入式linux开发

我眼中的嵌入式linux开发

发布人:lionwq 时间:2008-02-25 来源:工程师 发布文章
说到linux开发,大家可能有不同的观点。在我看来开发人员大致分为3类:应用程序开发、驱动程序开发、内核开发。

1.应用程序开发
此类开发和在PC平台上开发基本一致,如不考虑硬件的差异问题,也就是一模一样了。比如在PC的RH9里面用GCC编译了个HELLO WORLD程序,到了ARM或其他平台,只需要使用ARM-LINUX-GCC重新交叉编译一次即可。代码完全可以重用。
需要的技术可以是最简单的编程技术,当然如果做的比较好,涉及到多进程多线程、资源共享等高级编程技术,需要对操作系统的运行机制有一定了解。

2.驱动程序开发
这是目前嵌入式linux开发领域最热门的,编程和调试相对复杂。驱动程序开发顾名思义是要驱动某个设备,我们主要强调是驱动某个硬件实体设备。由于驱动程序针对的是具体的硬件设备,而该设备在PC平台往往又无法模拟的,因此调试过程必须在目标系统里完成。如果你在PC平台里面交叉编译好了一个设备的驱动程序,该驱动程序必须下载到目标系统里面完成调试。

驱动程序开发人员需要对内核的运行机制有深入的了解,还需要明白驱动程序模型。驱动程序不像应用程序结构框架任意定,一个能用的驱动程序要严格按照内核提供的框架来写。如何申请设备、注册设备、申请内存、申请中断、申请DMA等等,这些都是内核规定好的,不按照规范来,驱动将来就很难稳定运行。驱动程序由于是和CPU架构无关,如果你的PC平台和目标系统能够满足相同的设备配置,那你的驱动开发将和应用程序开发一样容易。

驱动程序编写出了可以参考《linux device drivers》(已经到第三版了)这本书外,最好就是看内核/drivers目录下面的源码。驱动程序可以编写在模块中,也可以直接写入内核,不管哪种,驱动程序都不是内核!

3.内核开发
linux程序开发的最高境界,少数人能及。内核开发说白了就是如何写一个操作系统,开发人员需要对软件工程有很高的造诣并对硬件平台有手册级的了如指掌。在此,我把内核开发再次细分为核开发和核移植两种任务。

核开发也就是最先出现的linux系统,那是针对X86平台的。核开发的完成给linux系统奠定了一个操作系统需要完成的各个任务的框架。比如进程管理、内存管理、文件系统、设备管理、中断和DMA等,在一个内核出来后就基本确定了所采用的思想和原理。

核移植是在第一个基于X86平台的内核上完成向ARM、PPC、M68K等平台上的移植,或者在同一个平台内在不同的处理器之间移植。针对不同的处理器,要完成相同的任务多少会有些区别,核移植人员要有十分强的“盗版”能力。有些核开发人员同时也是核移植人员,在此向他们致敬。
内核开发就是写操作系统,如果你接触过uc/os等其他简易的系统,你就明白系统开发的过程了。内核开发多是基于一块裸板,开发过程需要该CPU的仿真器支持,或者CPU本身就有调试能力。


目前大部分人在做1和2工作,其实3工作只需做一次就可以了,毕竟CPU的数量和硬件的平台数目有限。除非你用的是一款新设计的CPU,linux-2.6已经提供的大部分的CPU支持,再重复去做内核就是浪费了。

原来偶一直认为在做嵌入式linux开发,动辄就说是内核开发,毕竟驱动有时也是内核的一部分,说内核开发还可以提高从事工作的技术含量。真正的细细看来,从纯技术角度看,只能算是个驱动程序开发。

原作者:good02xaut@hotmail.com

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

华为、安徽电信完成全国首条高铁5G-A 3CC全线部署:下行速率超700Mbps

PowerPCBTOGerber

资源下载 2007-03-22

“hanshuyujifen2”的uCGUI移植成功演示视频

视频 2012-05-04

赛灵思平台开发高级副总裁 Victor Peng 畅谈 Vivado

视频 2012-05-03

真漂亮

Naiqa 2002-08-01

PROTEL99SE_putline

资源下载 2007-03-22

RTX 5090核心面积史上第三庞大!但其实在开倒车

PROGTECH

资源下载 2007-03-22

RF检波器揭秘

视频 2012-05-02

三星携手OpenAI巩固电视霸主地位,探索个性化内容、翻译等AI功能

消费电子 2025-01-17

TI C665x 概览视频与专家咨询系列短片

视频 2012-05-03

iOS 18.3 Beta 3上线:苹果禁用通知摘要功能

英伟达 GTC 2025 首度引入“量子日”活动,3 月 20 日举行

泛华测控左毅畅谈军用测试需求

视频 2012-05-04

用好 DMA控制器这两种模式 MCU效率大大提高!

rc_for_applets1

资源下载 2007-03-22

联想正式迈入机器人智能制造领域:生产下线六足机器人 全自研

如何使用高性能监控电路来提高工业功能安全合规性?

台积电董事长:我们不是美积电 最先进制程不会搬到美国

EDA/PCB 2025-01-17

I3C在集成电路间通信中的优势特性分析及其性能展示

嵌入式系统 2025-01-17
更多 培训课堂
更多 焦点
更多 视频

技术专区