2016年7月7日

第十章

摘要: 对于复杂的Linux驱动HAL等程序库,需要使用各种办法对其进行调试。 对于嵌入式Linux内核模块,可执行程序,共享库的调试可能更加复杂一些,因为在大多数情况下需要至少两台机器。 首先介绍使用printk函数,该函数与printf函数类似,printk函数运行在内核空间,printf函数运行在用户 阅读全文

posted @ 2016-07-07 13:23 cchaa 阅读(86) 评论(0) 推荐(0) 编辑

第九章

摘要: HAL(硬件抽象层)是建立在Linux驱动上的一套程序库,这套程序并不属于Linux内核,而是属于Linux内核之上的应用层。HAL的作用除了尽量避免应用程序直接访问Linux驱动之外,还有就是保护“私人财产”。 编写一款支持HAL的linux驱动程序:1、在为linux驱动添加HAL,要想尽量保护 阅读全文

posted @ 2016-07-07 13:18 cchaa 阅读(148) 评论(0) 推荐(0) 编辑

第八章

摘要: Linux驱动的代码重用有很多方法,将重用的代码放在其他文件里(在头文件里声明),如果想用某种功能,直接在include里即可(静态重用)。 如果一个Linux驱动里只有一个源代码文件,obj-m变量的值可以与源代码文件同名。如果Linux驱动包含多个文件,就需要使用model-y来指定所有的目标文 阅读全文

posted @ 2016-07-07 13:10 cchaa 阅读(101) 评论(0) 推荐(0) 编辑

2016年6月5日

第六章

摘要: 编写Linux驱动程序的步骤: 1,建立Linux驱动骨架(装载和卸载Linux驱动) 2,注册和猪血设备文件 3,制定与驱动相关的信息 4,制定回调函数 5,编写业务逻辑 6,编写makefile文件 7,编译Linux驱动程序 8,安装和卸载Linux驱动 Linux驱动程序大多是需要在Linu 阅读全文

posted @ 2016-06-05 16:08 cchaa 阅读(127) 评论(0) 推荐(0) 编辑

第七章

摘要: 尽管Linux驱动直接与硬件打交道,但并不是Linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存(I/O Memory,位于内核空间)进行交互。所谓I、O内存是通过各种接口(PCI,USB,蓝牙,以太网接口等)连接到主机的硬件在主机内存中的映射。 Linux内核提供了多个与I/O内存交互的 阅读全文

posted @ 2016-06-05 15:59 cchaa 阅读(89) 评论(0) 推荐(0) 编辑

第五章

摘要: 开发板是开发和学习嵌入式技术的主要硬件设备,尽管可以在PC上开发linux驱动,然后重新贬义词ARM架构上的linux驱动模块。但最终都是要在开发板上进行测试的。这主要是因为arm架构的开发板是基于X86架构的PC 在CPU指令以及二进制格式上都有所不同。而且如果Linux驱动需要访问硬件(如LCD 阅读全文

posted @ 2016-06-05 15:25 cchaa 阅读(95) 评论(0) 推荐(0) 编辑

2016年4月26日

第四章

摘要: Android移植主要就是Linux内核的移植。而Linux内核移植主要是Linux驱动的移植。所以为了开发和测试Linux驱动。需要在Ubuntu Linux下搭建两套开发环境:Android应用程序开发环境和Linux内核开发环境。 配置Android源代码下载环境,在下载之前必须要在Linux 阅读全文

posted @ 2016-04-26 11:43 cchaa 阅读(102) 评论(0) 推荐(0) 编辑

第三章

摘要: Linux内核代码及很多著名的项目都是用了Linux之父Linus编写的Git进行源代码管理。Linus以一个文件系统专家和内核设计者的视角对Git进行了设计,其独特的设计让Git拥有非凡的性能和最为优化的存储能力,Git在各方面都优于其他同类型的源代码管理软件。 在使用Git之前应该首先安装Git 阅读全文

posted @ 2016-04-26 11:14 cchaa 阅读(124) 评论(0) 推荐(0) 编辑

第二章

摘要: Android底层开发环境的搭建,主要包括Android应用程序开发环境,Android NDK开发环境和交叉编译环境。 首先要下载安装JDK,可以从官网直接下载,并进行配置。 安装Android应用程序的第一步就是下载并安装Android SDK,然后安装Eclipse,注意安装的是32位版本还是 阅读全文

posted @ 2016-04-26 10:33 cchaa 阅读(93) 评论(0) 推荐(0) 编辑

第一章

摘要: 目前在世界上有两种流行的手机操作系统,Android和 IOS ,其中,IOS由于限定了只能在苹果系列的设备上才能安装,而Android则由于具有良好的可移植性因而占有了智能手机的大多数,往深处的原因则是任何人都可以利用Android的源代码定制完全属于自己的嵌入式系统,而不需要想Google交一分 阅读全文

posted @ 2016-04-26 09:56 cchaa 阅读(97) 评论(0) 推荐(0) 编辑

导航