1.开发前软硬件连接设置。
在开发之前可能需要进行一些硬件的连接。
1)跳线设置:默认出厂跳线,boot 跳线(nand flash 启动模式)。
2)电源连接:
可通过实验箱配件提供电源线接到220v 交流电源插座上(接口为箱体左侧电源插口)。
3)usb线连接:
将实验箱配件提供的 mini usb线插到embv210 实验平台usb otg接口,另一端接在pc 机usb接口上,主要用于系统映像的固化、android下 usb adb功能和应用程序调试。
4)网络连接:
通过实验箱配件提供的交叉网线将embv210 实验平台的 100m 网卡接口与 pc 端的网络接口进行连接。
5)串口连接:
通过实验箱配件提供的交叉串口线实现embv210实验平台的 com0与 pc机上的串口连接。
6)超级终端设置:
windows xp:在pc机上运行超级终端串口通信程序(开始→所有程序→附件→通讯→超级终端),选择所用到的串口并设置如下参数(设定状态:波特率115200,数据位8位,停止位1位,校验位无,数据流控制无)
软件: android 2.3版本(软件。
系统的固化与使用。
embv210实验平台android映像固化在nand flash中,具体存储分配图如下:
系统移植前的准备工作:
1) 安装dnw的usb驱动(参照附录dnw的usb驱动安装)。
2) 如果启动系统可以在超级终端看到 uboot 的启动信息,则可进行android 系统映像的固化,否则先进行uboot的恢复,再进行烧写步骤。
3. android 系统固化
以下步骤将通过usb 方式固化android 系统映像,固化前请先确认embv210实验平台上面的boot跳线处于nand flash 启动方式:
1) 正确设置超级终端并打开(开始→所有程序→附件→通讯→超级终端),打开dnw工具;
2) 给 embv210 实验平台上电,在超级终端可以看到 uboot 的启动信息,按下pc 的空格键(速度要快)进入到 uboot的命令行模式:
3)在超级终端的uboot命令行模式窗口输入以下命令进行nand flash 的格式化:
4) 在超级终端的uboot命令行模式窗口输入以下命令开始传输新的uboot文件:
命令:dnw 30000000(激活usb传输)
切换到dnw软件界面,此时dnw 标题状态栏会显示“usb:ok”(没有提示,请检查usb驱动是否安装正确, 安装参照附录dnw的 usb 驱动)。
在 dnw 标题栏选择“usb port ->transmit ->transmit”,弹出窗口选择要传送的文件在/2.3目录下)。传送完毕,在超级终端可以看到传送的信息:
5) 接下来在超级终端的 uboot 命令行模式窗口输入以下命令开始将传送的文件固化到 nand flash中,固化完毕会提示成功:
6) 接下来将固化android 内核映像文件zimage, 可以参考u-boot的固化步骤 (步骤 4) ~5))
7) 接下来将固化 android 文件系统映像文件 embv210_可以参考 u-boot 的固化步骤(步骤4)~5)):
8) 这样整个android 系统映像即固化完毕,这时候可以重启embv210实验平台启动android系统了。
embv210实验平台通过dnw 固化系统映像时需要安装usb驱动,安装步骤如下:
1)在第一次提示安装dnw驱动时会弹出对话框,要求安装sec s3c6400x test b/d的驱动:
2) 在接下来会弹出对话框指定驱动的位置(..dnw)。
3) 选择好驱动后,点击下一步系统将会自动安装驱动。
4) 验证驱动安装是否争取,可以右键单击“我的电脑→管理→设备管理器”,可以看到出现sec soc smdk board 的驱动设备,即表示驱动安装成功。
补充: android系统的编译。
源码的部署。
embv210开发平台的linux系统底层源码的编译,android的编译,制作android的文件系统。涉及u-boot、kernel的编译,android的编译,制作android的文件系统,可以生成三个映像和embv210_根文件系统映像。
安装完ubuntu虚拟机后,默认实验环境设置如下:
工作目录:/usr/local/src/emobile/embv210
u-boot源码路径: /usr/local/src/emobile/embv210/uboot-embv210
linux内核源码路径: /usr/local/src/emobile/embv210/kernel-embv210
android的源码包:/usr/local/src/emobile/embv210/froyo-embv210
ubuntu虚拟机默认已将这些源码解压到目录/usr/local/src/emobile/embv210下。
配置交叉编译工具链。
embv210开发平台的linux开发使用的是arm-2009q3编译器,ubuntu虚拟机默认已经安装,在工作目录/usr/local/src/emobile/embv210/arm-2009q3下。在做下面几个实验之前,需要设置编译器环境:
1)在ubuntu中单击菜单“应用程序->附件->终端”,打开终端。
2)每次在终端编译**之前,需要设置一下环境变量:
export path=/usr/local/src/emobile/embv210/arm-2009q3/bin:$path
3)可以通过查看编译器信息来看看编译器的环境变量是否设置成功:
arm-none-linux-gnueabi-gcc -v
using built-in specs.
target: arm-none-linux-gnueabi
configured with: /scratch/julian/2009q3-respin-linux-lite/src/gcc-4.4/configure x-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap
-di-extra-sgxxlite-multilibs --with-arch=armv5te --with-gnu-as --with-gnu-ld --withbi=*|ffreestanding|nostdlib:;:funwind-tables}
-with-sysroot=/opt/co-build-sysroot=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-g-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-spin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usrstatic,-lstdc++,bdynamic -lm' -with-cloog=/scratch/julian/2009q3-respin-linux-nueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directorie9q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin --with-build-time-toolstall/arm-none-linux-gnueabi/bin
thread model: posix
gcc version 4.4.1 (sourcery g++ lite 2009q3-67)
如果打印消息为arm-none-linux-gnueabi-gcc找不到,则表示交叉编译工具链没有设置成功。
编译uboot
1)输入cd /usr/local/src/emobile/embv210进入embv210源码目录:
cd /usr/local/src/emobile/embv210
2)在ubuntu开发环境下运行终端,执行以下命令来编译u-boot源码生成
export path=/usr/local/src/emobile/embv210/arm-2009q3/bin:$path
cd uboot-embv210
make distclean
make smdkv210single_config
configuring for smdkv210single board...
make
编译成功后,将会在/usr/local/src/emobile/embv210/uboot-embv210目录下看到编译生成的映像文件。
编译linux内核。
1)输入cd /usr/local/src/emobile/embv210进入embv210源码目录:
cd /usr/local/src/emobile/embv210
2)在ubuntu嵌入式开发环境下运行终端,执行以下命令来编译内核kernel源码生成uimage映像:
export path=/usr/local/src/emobile/embv210/arm-2009q3/bin:$path
cd kernel-embv210
make distclean
cp .config
make zimage
实验1Linux系统环境初步
实验1 linux 系统环境初步。一 实验目的。1 初步了解linux的命令格式 2 学习如何连接到linux系统 3 练习常用的linux命令 4 学会如何获取命令的帮助信息 二 背景知识。1 登录linux系统。在正常运行的情况下,linux系统可以自行引导,引导起来以后,系统管理员和用户就可以...
1Linux内核移植要点
第20章 linux内核移植。软件移植的概念简单地说就是让一套软件在指定的硬件平台上正常运行。移植至少包括了两个不同的硬件或者软件平台。对于应用软件来说,移植主要考虑操作系统的差异,重点在修改系统调用。本章的重点是linux内核移植,需要考虑硬件平台的差异,涉及较多知识。主要内容如下 linux内核...
实验1Linux入门
实验类型 验证性实验。1 了解linux运行环境。2 熟悉linux的常用基本命令。3 熟悉和掌握linux下常用编辑工具vi。1 登录linux。2 熟悉linux的常用基本命令如ls who pwd ps等。3 通过windows操作系统中的ftp程序,练习windows和linux之间的文件交...