zoukankan      html  css  js  c++  java
  • Android深度探索--HAL与驱动开发----第五章读书笔记

    第五章主要学习了搭建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与驱动开发----第五章读书笔记

  • 相关阅读:
    Java实现最大流量问题
    Java实现最大流量问题
    Java实现最大流量问题
    Java实现最大流量问题
    Java实现行列递增矩阵的查找
    Java实现行列递增矩阵的查找
    Java实现行列递增矩阵的查找
    Java实现行列递增矩阵的查找
    Java实现行列递增矩阵的查找
    通过QML Profiler分析程序性能问题
  • 原文地址:https://www.cnblogs.com/l233ee/p/5561676.html
Copyright © 2011-2022 走看看