嵌入式操作系统与底层驱动代码的关系

2024-11-16 01:24:21
推荐回答(3个)
回答1:

目前uclinux已不多用。因为ARM9已成为很普遍的东西,所以,主要用linux了。

linux下的编程与windows的编程一样,分应用层和驱动层编程,应用层的编程与windows的程序编程差不多。驱动层则与windows有较大区别。在linux中,一般来说,驱动层的程序会产生一个设备文件,在应用层中就可以通过打开关闭读写这个设备文件来对底层的硬件进行操作。因此,linux下的底层驱动程序又被称为设备驱动程序。驱动程序分几类类型,我们常用的有字符型设备驱动,块设备驱动。你所说的控制管脚电平,中断等功能,都可以在字符型设备驱动中完成。

关于linux驱动程序的编写,请看一下著名的《linux驱动程序 第三版》

回答2:

  嵌入式应用程序开发:精通Linux操作系统的概念和安装方法、Linux下的基本命令、管理配置和编辑器,包括VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具等知识;精通C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识、数据结构的基础内容,包括链表、队列等;掌握面向对象编程的基本思想,以及C++语言的基础内容;精通嵌入式Linux下的程序设计,精通嵌入式Linux开发环境,包括系统编程、文件I/O、多进程和多线程、网络编程、GUI图形界面编程、数据库;熟悉常用的图形库的编程,如QT、GTK、miniGUI、fltk、nano-x等。
  嵌入式驱动程序开发:熟练掌握Linux操作系统、系统结构、计算机组成原理、数据结构相关知识。熟悉嵌入式ARM开发,至少掌握Linux字符驱动程序开发。具有单片机、ARM嵌入式处理器的移植开发能力,理解硬件原理图,能独立完成相关硬件驱动调试,具有扎实的硬件知识,能够根据芯片手册编写软件驱动程序。

回答3:

可以理解为:底层驱动是嵌入式操作系统的一部分。很多驱动是直接编入到嵌入式系内核中去的,或者动态加载驱动到内核。有了驱动,才可以让硬件工作起来。