第五章主要学习了搭建S3C6410开发板的测试环境。首先要了解到S3C6410是一款低功耗、高性价比的RISC处理器它是基于ARMI1内核,广泛应用于移动电话和通用处理等领域。

  开发板从技术上说与我们经常用的手机类似, 也包含显示屏、 键盘、 Wi-Fi、 蓝牙等模块(可 能有的是选配〉。但与手机不同的是在开发板上安装嵌入式系统要比手机容易得多。而且一般开发 扳都有很多扩展的端口,可以很容易开发定制的硬件, 并与开发板链接。因此,开发板相对于孚机 来说,更适合对程序进行测试,尤其适合对底层的 Linux 程序(如 Linux 驱动〉进行测试。

  目前市面上的开发板型号和种类很多,但目前最流行的是基于三星S3C6410 ARM11架构的开发板。国内很多厂商在S3C6410 ARM11架构的开发板的基础上进行了扩展,开发了扩展板,本博文针对OK6410-A开发板。S3C6410是由三星公司推出的一款低功耗、高性价比的RISC处理器,它基于ARM11内核(ARM1176JZF-S),可广泛应用于移动电话和通用处理等领域。

烧写Android系统

  为了安装Android,需要先把OK6410开发板默认安装的是WinCE6.0,卸载了,再安装android

  使用Eboot擦除 NandFlash的方法:

  1.用串口线或USB转串口线连接开发板和PC,并启动minicom

  2.打开OK6410开发板的电源开关,等待5秒的提示信息,按PC键盘的空格键是开发板停留在Eboot状态

  3.输入“A”可擦除NandFlash

  第1步:准备工作,准备一个2GB或4GB的SD卡,要求FAT32分区格式,插入读卡器并连接PC

  第2步:向Sd卡写入mmc.bin和zImage-sd.bin;这一步需要在windows XP下完成。运行Sd_Writer,OS Type选择“android”,并在Select Root和Select Kernel中分别选择mmc.bin和zImage-sd.bin文件写入SD卡。写入成功,会显示“It's ok"对话框

  第3步:烧写android前的准备工作。首先将android_fs.tar、mmc.bin和zImage文件复制到SD卡上,然后设置开发板上的启动开关

  第4步:开始从SD卡烧写android。 将SD卡插入OK6410开发板的插槽,并设置成SD卡启动,打开开发板,首先会向开发板内存写入一些用于启动android的数据,相当于将boot.bin刷到手机上,出现#提示符,输入.yjsx ,出现“great!!! all jobs is over”信息说明成功安装android

  第5步:安装完后记得关闭开发板,重新启动开发板会要求校准屏幕

配置有线网络

  # ifconfig eth0 192.168.17.150 netmask  255.255.255.0 up

  #route add default gw 192.168.17.254 dev eth0

  # /system/busybox/sbin/ifconfig   查询开发板当前的IP配置

  # /system/busybox/sbin/route     查询路由表

  将所有设置命令放到脚本文件linuxre(视具体情况定)中,保证每次开机都可以自动连接进网络

开发板是开发和学习嵌入式技术的主要硬件,从技术上说,与我们常用的手机类似,也包含显示器、键盘、Wi-Fi、蓝牙等模块,目前市面上的开发板型号和种类很多,但目前最流行的是基于三星S3C6410 ARM11架构的开发板。S3C6410 ARM11是由三星公司推出的一款低功耗、高性价比的RISC(reduced instruction sct computer,精简指令集计算机)处理器,它基于ARM11内核,可广泛应用于移动电话和通用处理等领域。

一、搭建编译环境

所需要的交叉编译工具链:S3C6410X Tool Chain 4.2.2 - EABI V0.0 - cross-4.2.2-eabi.tar

1.解压上述工具链获得文件夹:4.2.2-eabi/

2.在/usr/local/下面创建目录

arm/ (注意,最好是放到这个目录,不然在以后的编译过程中可能出现一些错误)

3.将目录4.2.2-eabi/移动到/usr/local/arm/下面

4.设置环境变量:

编辑/etc/profile文件,在文件末尾添加:PATH="$PATH:/usr/local/arm/4.2.2-eabi/usr/bin"

export PATH

使环境变量生效:在终端输入命令: source /etc/profile

测试环境变量是否设置成功:在终端输入:echo $PATH

如果输出的路径中包含了/usr/local/arm/4.2.2-eabi/usr/bin则说明环境变量设置成功

5.测试交叉编译工具链

在终端输入:arm-linux-gcc –v

二、搭建文件系统镜像制作环境

1.创建根文件系统目录

rootfs及其子目录bin,sbin,boot,root,sys,srv,proc,usr等

2.编译busybox1.7.0:(所需要的源码包:busybox-1.7.0.tar.bz2)

2.1解压源码包,进入源码目录;

2.2配置busybox:在源码目录执行make menuconfig, 如果使用默认配置则直接退出、保存,如果需要配置自己的则更改相应的选项再保存退出。

2.3修改源码目录的Makefile

2.4正式编译busybox:在源码目录执行make编译

2.5安装busybox:执行命令make CONFIG_PREFIX=/***/rootfs(根文件系统目录) install

3.拷贝glibc库相关文件到根文件系统

4.创建配置文件

5.创建设备文件

6.测试已经制作好的根文件系统

http://www.cnblogs.com/caoyutao/

Android深度探索--HAL与驱动开发----第五章读书笔记的更多相关文章

  1. Android深度探索--HAL与驱动开发----第四章读书笔记

    1. 下载.编译.测试源代码 创建存放下载文件的目录(repo) 下载repo脚本文件 创建用于存放源代码的目录 开始下载源代码. 2. 源代码目录含义摘要 Abi 应用程序二进制接口 Device ...

  2. Android深度探索--HAL与驱动开发----第六章读书笔记

    Linux驱动程序与其他类型的Linux程序一样拥有自己的规则,下面给出一个编写基本的Linux驱动的一般步骤: (1)建立Linux驱动的骨架(装载和卸载Linux驱动): (2)注册和注销设备文件 ...

  3. Android深度探索--HAL与驱动开发----第七章读书笔记

    首先创建led驱动的设备文件,可以使用cdev_init,register_chrdev_region,cdev_add等建立主设备号的设备文件.步骤如下: 1使用cdev_init初始化cdev 2 ...

  4. Android深度探索--HAL与驱动开发----第三章读书笔记

    1. 什么是Git? Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开 ...

  5. Android深度探索HAL与驱动开发 第四章 源代码下载和编译

    前面说过Android移植主要就是Linux内核的移植,而Linux内核移植主要是Linux驱动的移植,所以为了开发和测试Linux驱动,有必要学习在Ubuntu Linux下如何搭建两套开发环境:A ...

  6. Android深度探索HAL与驱动开发 第三章 Git入门

    Git功能十分复杂,简单来说它使你的开发更为快捷和可控,尤其是在开源项目上展现的友好的交互和回馈. 熟悉一些git指令操作对开发者的帮助可以避免开发者受到一些外在因素打断开发进度,甚至延误项目的che ...

  7. 《Android深度探索HAL与驱动开发》第一章阅读心得

    首先了解到Android系统架构是由四层构成:其中第一层是Linux内核,他的作用是负责Linux的驱动程序以及内存.进程.电源等管理操作:第二层是C/C++代码库,也就是Linux下.so的文件:第 ...

  8. 《Android深度探索HAL与驱动开发》第二章阅读心得

    按照书中所讲的步骤,第一步先准备好搭建Android开发环境所需要的工具:JDK6或以上版本:Eclipse3.4或以上版本:ADT:CDT:Android SDK:Android NDK;交叉编译环 ...

  9. Android深度探索HAL与驱动开发 第二章 搭建Android开发环境

    通常以应用移植和系统移植的为Andorid系统移植的主要部分.同时为了适应不同平台硬件设备,对源代码进行相应的修改.除了要移植相适应的CPU架构,最重要是移植Linux驱动. 但是由于一些特别的原因, ...

随机推荐

  1. SPSS数据分析—因子分析

    我们知道主成分分析是一种降维方法,但是其本质上只是一种矩阵变换的过程,提取出来的主成分并不都具有实际含义,而这种含义往往是我们所需要的,接下来的因子分析可以解决这个问题 因子分析可以看做是主成分分析的 ...

  2. flume介绍与原理(一)

    1 .背景 flume是由cloudera软件公司产出的可分布式日志收集系统,后与2009年被捐赠了apache软件基金会,为hadoop相关组件之一.尤其近几年随着flume的不断被完善以及升级版本 ...

  3. 二:基础概述netty

    如果不了解netty的,可以百度下,netty社区现在也比较活跃. 现在所谓的大数据,flume,storm等底层都是netty.   netty的性能模型: io模型---->异步非阻塞io ...

  4. Java代理模式/静态代理/动态代理

    代理模式:即Proxy Pattern,常用的设计模式之一.代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问. 代理概念 :为某个对象提供一个代理,以控制对这个对象的访问. 代理类和委 ...

  5. sql数据库表被锁,无法查询

    查看被锁表:   select   request_session_id   spid,OBJECT_NAME(resource_associated_entity_id) tableName    ...

  6. 繁星——jquery的data()方法

    今天在看JQuery文档的时候偶然看到了data()方法,觉得挺好用的,这里做个记录. 这个方法用于在元素上存放数据,返回jQuery对象.在文档中提到V1.4.3 新增用法NEW data(obj) ...

  7. Struts2 Result 类型和对应的用法详解

  8. Erlang中如何在同一台机器上运行多个erlang节点?

    首先打开shell,然后在打开cmd输入:erl -sname bilbo  这样就启动了一个gandal的erlang节点. 如图:

  9. SQL Server数据库性能优化之索引篇【转】

    http://www.blogjava.net/allen-zhe/archive/2010/07/23/326966.html 性能优化之索引篇 近期项目需要, 做了一段时间的SQL Server性 ...

  10. 配置DelegatingFilterProxy使用Spring管理filter chain

    项目环境:JDK7 + Maven3.04 0. 项目使用springmvc作为controller层 1. 引入spring-security <dependency> <grou ...