折腾了很久,终于烧写成功。不废话,咱们说说流程吧。

首先,我们需要有一个基于tiny4412的kernel,从友善之臂官网获取。

然后解压:

1、tar -xvf  linux-3.5 ....

然后cp  tiny4412-android_deconfig  .config

接下来make zImage 在 arch/arm/boot/生成对应的zImage ,这个也就是我们的kernrl。

当然在此之前,我们需要安装交叉编译工具arm-linux-gcc。没有的话就装上这个环境,arm-linux-gcc-4.5.1-v6-vfp-20120301(过程略)

2、下来安卓文件系统

从友善之臂官网下载对应的安卓文件系统,我下的是安卓5.0:android-5.0.2-fs-20150325.tar.gz

同样的用tar 命令解压。

1、到安卓主工程目录下,如图:


2、然后在命令行下输入. setenv后会出现:

生成相应的环境配置脚本

3、接下来lunch full_tiny4412-eng:

获取版本信息以及相应的安卓工作和命令等等。。。

4、接下来就是直接在工程下敲make -j4

系统就会开始编译啦,漫长的等待............(如果你电脑好的话,4核也需要编译5-6个小时的时间)

5、编译成功后./gen-img.sh执行这个脚本会生成安卓的img,如果执行出错的话就去安装uboot的mkimage工具。

具体如下,到官网去下载uboot_tiny4412-20130729.tgz

然后以下步骤:

tar xzf uboot_tiny4412-20130729.tgz
cd uboot_tiny4412/
make tiny4412_config
make
sudo cp tools/mkimage /usr/bin/

6、生成的img有

ramdisk-u.img 、 system.img 、 userdata-4g 、 还有其它,我们主要需要前面这三个加上上面的zImage就可以了,

还有我们还需要Superboot4412、FriendlyARM.ini这两个文件,最前面那个是bootloader,后面那个是下载的配置脚本。

准备完成后,接下来:(以下是copy网友的,有侵权请联系我注明,谢谢。)

、使用SD-Flasher工具烧写Superboot到SD卡

本步骤将执行以下操作:

SD-Flasher.exe会对SD卡进行分区,第一个分区为130M用于存放Superboot4412,剩下的空间格式化为FRIENDLYARM分区,用于存放系统文件images。有些小于256M的SD卡是无法使用的,我们推荐使用至少4G的SD卡。

以下是详细步骤,基于Windows7环境:

Step1:打开光盘tools目录,解压SD-Flasher-1327.7z得到SD-Flasher.exe烧写软件,启动它,请注意,你需要通过管理员身份来打开该软件才行,如图

启动SD-Flasher.exe软件时,会弹出“Select your Machine...”对话框,请在其中选择“Mini4412/Tiny4412”项:

点Next后将弹出SD-Flasher主界面,点击一下Scan,将列出你的SD卡,选中它,然后点“ReLayout”对SD卡进行分割,注意,本操作会将SD卡内的数据清空然后重新分区。

分割完成后,再点一下“Scan”,你会看到Available已变为可用状态,表示已分割完成:

Step2:点按钮找到所要烧写的Superboot4412.bin(默认位于光盘images/目录下,如光盘目录已移动过,注意不要放在中文目录下),如图:

Step3:点“Fuse”,Superboot4412.bin就会被安全地烧写到SD卡的无格式区中了,以后你再使用SD-Flasher制作SD卡时,无需再执行ReLayout操作,FAT32分区中的数据会得以保留。

Bootloader被写入SD卡后是无法看到的,该如何检测呢?

方法是把SD卡插到已连接串口的开发板上,并把开发板上S2开关设置为“SDBOOT”模式,开机后,串口上有信息输出,例如:

表示Bootloader已被写入SD卡,如果串口没有输出,说明没有烧写成功。

以下几种原因均有可能导致不行,并有解决方法:

1.使用了笔记本自带的读卡器,建议使用外接的usb读卡器,注意,有的外接usb读卡器也是不行的

2.使用了山寨的SD卡,请使用正品,最好是4G或以上的SDHC

3.使用了microSD+卡套,请使用普通的SD卡,因为卡套的方式非常容易导致接触不良

4.因接触不良导致无法使用SD卡启动的可能性比较大,建议多插拔几次试试,这包括(1)核心板和底板的接触,(2)SD卡座本身的接触

1.2、注意事项

由于用户一般都会使用SD卡来存放一些其它的数据,因此,基于此考虑,SD-Flasher软件在Vista/Winows7中运行时,会把SD卡自动分割为普通的FAT32格式区(自动命名卷标为“FriendlyARM)和无格式区(占130M)两部分,烧写软件将会依据卷标名称作为标志,把bootloader烧写到无格式区,这样就不会破坏普通FAT32格式区中的数据了。

实际上,Vista/Windows7系统本身的安全性很高,普通用户是无法在Vista/Windows7系统上强制烧写SD卡的,因此必须要先分割才能写入。

另外,烧写Superboot4412.bin请务止使用Windows7运行SD-Flasher来操作,如果使用Windows XP,可能会烧写失败导致无法通过SD卡启动。

1.3、复制光盘的images目录到SD卡上

如需要使用SD卡脱机烧写系统功能,则可以将光盘上的images目录整个拷贝到SD卡的根目录下:

2、Linux环境下超级终端的配置(以minicom为例介绍)

想要对嵌入式开发板进行开发和操作,都需要进行文件传输或者是控制,这时基本都是需要通过串口线或者是网线进行连接的,在Windows下是使用超级终端通过串口对开发板进行操作的,而在Linux下,最后最常见的串口调试工具就是minicom。minicom的安装过程还是比较简单的,对于操作过程也就是一个熟悉的过程,在其中的操作都是字符界面下的,只要知道熟悉,就能熟练运用了。

2.1、minicom的安装

在终端中输入sudoapt-get install minicom安装。

2.2、minicom的配置

第一次启动前,在终端中输入sudo minicom -s,对minicom进行第一次的配置。在弹出的对话框内,选择Serial port setup一项,

然后按下a键,修改为/dev/ttyUSB0,就是选择了UART0,然后按下回车;再按e,修改为115200 8N1,设置传输的比特率等设置,然后按下回车;再按f,把Hardware Flow Control修改为No,然后按下回车。再在刚才的主菜单中选择Save setup as dfl,保存为默认配置,最后选择Exit from minicom,退出配置菜单。

或者选择Exit直接进入minicom:

3、使用SD卡脱机烧写Linux系统

注:此步骤假设你的SD已经烧写了Superboot4412.bin,并且从光盘中拷贝了相应的烧写文件到SD卡上,拷贝方法是将光盘中整个images目录拷贝到SD卡的根目录下。

3.1、修改烧写配置信息文件

把SD卡插入电脑,双击打开”imagesFriendlyARM.ini”文件,将FriendlyARM.ini的内容修改成如下内容(默认已经如此):

#This linecannot be removed. by FriendlyARM(www.arm9.net)

CheckOneButton=No

Action = Install

OS = Linux

LowFormat = No

VerifyNandWrite= No

LCD-Mode = No

CheckCRC32=No

StatusType =Beeper | LED

###################Linux ####################

Linux-BootLoader= Superboot4412.bin

Linux-Kernel =Linux/zImage

Linux-CommandLine= root=/dev/mmcblk0p1 rootfstype=ext4 console=ttySAC0,115200 init=/linuxrcctp=2

Linux-RamDisk =Linux/ramdisk-u.img

Linux-RootFs-InstallImage= Linux/rootfs_qtopia_qt4.img

注意,使用Tiny4412SDK 1308底板的用户,Android-CommandLine上还要加上uhost0=y,在使用Tiny4412SDK 1306底板的用户则无需指定。

使用电阻屏的用户,需要在Linux-CommandLine上,设置ctp=0及skipcali=n。

底板的版本在这里查看:

3.2、检查烧写文件是否齐全

检查SD上至少存在如下文件,如果没有,从光盘中拷贝到SD卡(将光盘的images目录整个目录拷到SD卡的根目录即可):

3.3、SD卡脱机烧写

取出SD卡插到开发板的SD插槽上,参照下图把开发板串口线和电源线接好,将S2开关切换至SD卡启动,

然后上电开机,开始烧写系统时,LCD和串口终端会有进度显示。

烧写系统过程中,开发板“滴”一声,表示开始烧写系统,当发出两声“滴”,此时系统已经烧写完毕。在minicom中可以看到如下log信息,显示OS‘LINUX’ Installed:

4、烧写完重启进入系统

系统烧写完成后,参照下图把开发板S2开关设置为“Nand”启动,然后重新开机即可启动新的Linux系统了。

此时可以在minicom中看到如下信息,表示系统烧写成功:

通过ls命令可以顺利进入系统的文件根目录:

接下来就可以进行其他操作了!

还有一种是不需要用SD卡进行下来,直接通过DNW线就可以了,具体的,在FriendlyARM.ini中加一句:

USB-Mode = yes

表示用USB模式来下来,这样我们就可以直接用MiniTool这个工具来下载我们刚刚的那些.img了,驱动是自动识别的,不需要我们自己去安装,接下来下载的步骤请参考"Tiny4412用户手册",百度一搜就有,照着做就可以成功了。

然后就等待你的开发板启动成功,下面这个是我的开发板:

友善之臂tiny4412-1306开发板安卓系统烧写的更多相关文章

  1. iTOP-4418开发板Ubuntu系统烧写方法分享

    开发平台:迅为iTOP-4418开发板    系统:Ubuntu   1. TF卡读写速度测试 烧写 Ubuntu 对于 TF 卡的要求比较高,很多老旧的卡都无法烧写 Ubuntu,下面提供一种 相对 ...

  2. [转载]iTOP-4418开发板Ubuntu系统烧写方法分享

    本文转自迅为论坛:http://topeetboard.com 开发平台:iTOP-4418开发板系统:Ubuntu 1. TF卡读写速度测试烧写 Ubuntu 对于 TF 卡的要求比较高,很多老旧的 ...

  3. iTOP-4412 开发板镜像的烧写

    镜像就是源代码编译并连接以后生成的可执行文件包,把这些镜像文件烧写到开发板的存储芯片里,开机就可以运行了. 烧写方式有两种,通过TF卡烧写以及使用OTG接口烧写 OTG方式:只能在WIN7 或者XP ...

  4. RK3399开发板Android镜像烧写之Windows系统映像烧写

    4.1.1 l RKTool  驱动安装(基于迅为iTOP-3399开发板)DriverAssitant_v4.5.zip 文件,打开 驱动安装成功,如下图: 注意事项:1.目前支持的操作系统包括:X ...

  5. 迅为iTOP-4412开发板Ubuntu操作系统烧写方法

    本文转自:http://www.topeetboard.com Ubuntu系统烧写硬件平台:iTOP4412开发板 需要准备:串口线.读卡器.一张SD卡最好是2G(自备).另外一张卡(大于等于2G都 ...

  6. android操作系统在itop4412开发板上的烧写

    ITOP4412启动模式: 1.EMMC启动模式:拨码开关1-3为011 2.SD卡启动模式:拨码开关1-3为100uboot:初始化内存控制器,访问存储器,把操作系统内核从存储器读取出来放到内存中, ...

  7. iTOP-4418开发板TF卡烧写-引导uboot

    基于迅为iTOP-4418开发板 将 TF 卡接入开发板,将拨码开关设置为 TF 卡启动,进入 uboot 模式,如下图所示. 如下图所示,使用命令“fastboot”,接着就可以通过 OTG 给 e ...

  8. 友善之臂arm9、 smart210监控版本,烧写系统

    第一次接触嵌入式开发,就拿210练手了,第一天折腾,先烧系统. 准备:板子,8GB或者以上的SD卡,网上找下minitools以及系统小红帽,Android或者ubuntu,debian都可以.[ub ...

  9. iTOP-4412开发板---Linux系统学习下载步骤

    本文转自迅为论坛:http://www.topeetboard.com 1.cd /home/topeet/Linux-simple/console  下建立.c文件 2. 编译命令,就在此目录下 # ...

随机推荐

  1. 初步配置阿里云ECS服务器

    阿里云服务器配置记录01 购买阿里云学生服务器9.9元每月 创建ubuntu64位实例系统,注意必须添加安全组设置才可远程登入(设置课访问端口及IP范围 putty 软件在windows10下远程登入 ...

  2. MySQL LIKE 子句

    MySQL LIKE 子句 我们知道在MySQL中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录. WHERE 子句中可以使用 ...

  3. 0426html常用标签属性

    一.基础语法 标签:作为网页的最小单元 1.双标签 内容的容器 2.单标签 控制性内容 注释    每一个模块都要写清楚注释 二.基本结构 <!DOCTYPE html>          ...

  4. Vulkan的分层设计

    Vulkan驱动层提供了简单高效的API.作为Vulkan API的使用者,我们要严格遵循Vulkan API的使用规则.如果我们违反了这些规则,Vulkan只会返回很少的反馈,它只会报告一部分严重和 ...

  5. Excel下拉框多列显示,如何只显示一列

    小编最近接手一个项目,之于需要导数据,但是我们需要提前把表头什么的设置好,更方便其他小伙伴们帮助我们导入数据,小伙伴们都知道,在excel中设置下拉菜单很简单,直接用数据有效性-序列就可以实现,今天小 ...

  6. 高端技巧:如何使用#define定义变量

    Introduction 想在源文件中定义一个跟行号有关的变量,每次都手动输入实在是太慢了,本文介绍如何使用宏定义来定义与行号有关的变量. 例如:我们想在源代码的第10行定义A_10这样的一个整形变量 ...

  7. jdbc批量插入

    分享牛,分享牛原创.有这样一个需求,文本文件中的数据批量的插入mysql,怎么用jdbc方式批量插入呢? jdbc默认提供了批量插入的方法,可能用一次就忘记了,这里做笔记记录一下jdbc批量插入吧. ...

  8. 如何获得Android手机的软件安装列表

    Android的PackageManager类用于检索目前安装在设备上的应用软件包的信息.你可以通过调用getpackagemanager()得到PackageManager类的一个实例.对查询和操作 ...

  9. [nginx]查看安装了哪些模块

    有时候安装的时候不知道哪些模块忘了安装需要查看下已经安装的模块. 查看安装了哪些模块 $ nginx -V nginx version: nginx/1.4.6 (Ubuntu) built by g ...

  10. [Django]bulk_create 探究

    使用django orm大批量插入的时候我们可以不使用for循环对一个一个的save而是使用 bulk_create来批量插入,可是使用了这个方法还需要在自己添加一个事务吗? 还是django本身对这 ...