关键词:
作为开发和学习嵌入式技术的主要硬件设备,开发板是机器重要的。因为即使可以在PC上开发Linux驱动,并重新编译成ARM架构的Linux驱动模块,但最终还是要在开发板上进行测试。有两个原因:因为ARM架构的开发板可 基于X86架构的PC在CPU指令以及二进制格式上都有所不同;而且驱动需要访问的硬件,有些很难在PC上进行模拟。开发板与手机类似,适合对程序进行测试,尤其是底层的Linux驱动。
5.1是对开发板的简介。
5.2需要安装的串口调试工具是minicom。由于开发Linux驱动程序无法与Android应用程序一般,直接在eclipse上进行调试,所以需要使用其他方式显示Linux驱动程序输出的调试信息,即串口通信。这里需要一根USB转RS232串口线。
1.检测当前系统是否支持USB 转串口
Lsmod | qrep usbserial
2.安装minicom
Apt-get install minicom
3.配置minicom
Minicom -s
进入菜单并按图设置并保存。
4.测试minicom
minicom
启动安卓系统就会接收到信息
5.3烧写Android系统
1.使用Eboot擦除Nandflash:
(1).准备工作:用串口线或USB转串口线连接开发板和PC,并启动minicom。
(2).进入Eboot状态:打开开关,出现等待5s提示,按PC键盘的空格键使开发板停留在Eboot状态。
(3)擦除nandflash:输入A。
2.烧写Android步骤
(1).准备工作:准备一个SD 卡,FAT32分区格式,插入读卡器并连接PC。
(2)向SD卡写入mmc.bin和zImage-sd.bin
(3)烧写Android前的准备工作:讲Android_fs.tar、mmc.bin、zImage文件复制到SD卡上,并设置好开关。
(4)校准屏幕
5.4配置有限网络
可以使用Linux命令ifconfig设置IP和子网掩码,用route命令设置网关。
Ifconfig eth0 192.168.17.150 network 255.255.255.0 up
Route add default gw 192.168.17.254 dev eth0
软件1308班31号 张帆 博客园地址: http://home.cnblogs.com/u/sxauzzz/
《android深度探索》(卷1)hal与驱动开发读后感
第9章:硬件抽象层HAL1.HAL(HardwareAbstractionLayer,硬件抽象层)是建立在Linux驱动之上的一套翻字库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。2.编写一款支持HAL的Linux驱动程序的步骤编写一款支持HAL的Linux驱... 查看详情
android深度探索与hal驱动开发(卷1)--第九章随笔
第9章硬件抽象层:HALHal(HardwareAbstractLayer,硬件抽象层)是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。 编写支持HAL的Linux驱动程序的步骤:第一步:编写Linux驱动第... 查看详情
《android深度探索》(卷1)hal与驱动开发读后感
第10章:嵌入式Linux的调试技术对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试。例如,设置断点、逐步跟踪代码、输出调试信息等。一、打印内核调试信息:printkprintk函数在前面的章节己多次使用过。该函数... 查看详情
android深度探索(卷1)hal与驱动开发阅读心得10
嵌入式Linux的调试技术打印内核调试信息:printk该函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。也就是说,像Linux驱动这样的Linux内核程序只能使用printk函数输出调试信息。Printk函数在... 查看详情
《android深度探索》(卷1)hal与驱动开发读后感
第8章:让开发板发出声音:蜂鸣器一、Linux驱动的代码重用Linux驱动的代码重用有很多种方法。可以采用标准C程序的方式。将要重用的代码放在其他的文件(在头文件中声明)中。如果要使用某些功能,include相应的头文件即可(... 查看详情
android深度探索与hal驱动开发(卷1)--第十章随笔
第10章嵌入式Linux的调试技术通过虚拟文件系统(/proc)进行数据交互在编写代码时应了解一下几点:1、creat_proc_read_entry函数在内部是通过调用creat_proc_entry函数实现的。所谓只读就是通过creat_proc_read_entry函数可以指定处理文件读... 查看详情
android深度探索(卷1)hal与驱动开发阅读心得8
PWM蜂鸣器驱动 C或C++语言中编译多个源代码文件时,如果a.c使用了b.c文件中的函数,需要a.c文件中使用extern预先定义b.c中的函数,extern的作用就是告诉编译器该函数的函数名、参数个数、参数类型和返回值类型。这些信息对... 查看详情
android深度探索(卷1)hal与驱动开发第九章 硬件抽象层:hal读书笔记
HAL是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。HAL的主要目的一个是用来保护"私人财产",另一个是尽量避免应用程序直接访问Linux驱动程序。传统的Linux系统中Linux驱动... 查看详情
andriod深度探索(卷1)hal与驱动开发第九章读书心得
...在Linux驱动之上的一套程序库。刚开始介绍了为什么要在Android中加入HAL,目的有三个,一,统一硬件的调用接口。二,解决了GPL版权问题。三,针对一些特殊的要求。可以利用位于用户空间的HAL代码来辅助Linux驱动完成一些工作... 查看详情
android深度探索(卷1)hal与驱动开发第十章 嵌入式linux的调试技术读书笔记
...码,输出调试信息等。本章主要讲述了如何利用开发板、Android模拟器以及一些函数、工具调试嵌入式Linux内核模块、可执行程序和共享库。1.打印内核调试信息:printk该函数的用法和printf函数类似,只不过printk函数运行在内核空... 查看详情
android深度探索(卷1)hal与驱动开发第八章 让开发板发出声音:蜂鸣器驱动读书笔记
PWM驱动的实现方式不同于LED,PWM驱动由多个文件组成。大多数Linux驱动的标准实现方式都是这种。一个复杂的驱动不会把所有代码都放在一个文件中。相关的代码会放在相应的文件中,在编译Linux驱动时将这些文件进行联合编译... 查看详情
andriod深度探索(卷1)hal与驱动开发第十章读书心得
对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试。例如,设置断点、逐步跟踪代码、输出调试信息等。 Printk函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。也... 查看详情
android深度探索(卷1)hal与驱动开发第六章 第一个linux驱动程序:统计单词个数读书笔记
本章是一个具体的例子,来详细的介绍开发和测试Linux驱动程序的完整过程。尤其是测试Linux驱动。在这个统计单词个数的实例中,重点是该算法的实现技术:即Linux驱动,而不是如何统计的。6.1Linux驱到底是什么Linux驱动的工作... 查看详情
android深度探索(卷1)hal与驱动开发第七章 led将为我闪烁:控制发光二极管读书笔记
本章的实验将会实现真正意义上的Linux驱动,会实现直接与硬件的交互。需要控制4个LED灯。7.1LED驱动的实现原理事实上并不是Linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互。I/O内存是通过各种接口连接到主... 查看详情
andriod深度探索(卷1)hal与驱动开发第八章读书心得
第八章介绍了第二个实验:蜂鸣器驱动,使开发板发出声音将介绍蜂鸣器的实现原理,并实现一个完整的蜂呜器驱动,通过该驱动可以控制蜂鸣器的打开与关闭。蜂鸣器也称为PWM脉冲宽度调制,基本原理就是通过脉冲来控制蜂鸣... 查看详情
《android深度探索(卷1):hal与驱动开发》虚拟实验环境(ubuntulinux)及源代码免费下载,不需要cpu虚拟化支持
...使用。该虚拟环境包含了书中所需的实验环境(除了Android源代码,太大,需要自己下, 查看详情
android深度探索(卷一)hal与驱动开发第十章
通过学习Android深度探索(卷一)HAL与驱动开发的第十章让我知道了嵌入式Linux的调试技术和调试工具有哪些。Printk可以打印内核调试信息,该函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空... 查看详情
android深度探索(卷一)hal与驱动开发第九章
通过学习Android深度探索(卷一)HAL与驱动开发的第九章让我知道了HAL硬件抽象层,为什么要在Android中加入HAL和AndroidHAL架构。HAL是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用... 查看详情