友善之臂tiny4412-1306开发板安卓系统烧写

简介: 折腾了很久,终于烧写成功。不废话,咱们说说流程吧。首先,我们需要有一个基于tiny4412的kernel,从友善之臂官网获取。然后解压:1、tar -xvf  linux-3.5 .... 然后cp  tiny4412-android_deconfig  .config 接下来make zImage 在 arch/arm/boot/生成对应的zImage ,这个也就是我们的kernrl。

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

首先,我们需要有一个基于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用户手册",百度一搜就有,照着做就可以成功了。


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





目录
相关文章
|
7月前
|
Android开发
手把手教你深度定制tiny4412安卓5.0系统(一)---开发板如何预置文件到android系统
手把手教你深度定制tiny4412安卓5.0系统(一)---开发板如何预置文件到android系统
122 0
|
10月前
|
Linux Shell Android开发
【Linux系统开发】Study210开发板刷安卓系统
【Linux系统开发】Study210开发板刷安卓系统
141 0
|
Java Android开发 程序员
全志A33开发板的安卓控制LED-2-JNI基础
虽然您可以完全使用Java编写应用程序,但有些情况下Java本身并不能满足您的应用程序的需求。当应用程序不能完全用Java编写时,程序员使用JNI编写Java本机方法来处理这些情况。以下示例说明何时需要使用Java本机方法: 标准Java类库不支持应用程序所需的与平台相关的功能。
1431 0
|
Android开发
Headless Android开发板的调试及远程显示和控制
最近在调试msm8996的开发板,由于主板和LCD子板还没回来,所以先回的核心板算是个Headless的Android Device。核心板有独立供电,另外还有USB Type-C、FAN、HDMI、TF Card和KEY等硬件模块,目前都已调通,效果如下图所示。
1703 0
|
Android开发
手把手教你深度定制tiny4412安卓5.0系统(一)---开发板如何预置文件到android系统
想要预置文件,首先要了解Android源码中device这个目,打开这个目录我们看到,这个目录厂家会针对不同的开发板做一些修改: 在这个目录中,我们看到有不同的厂家定制的信息,我们这款开发板是友善之壁提供的,那么我们只要进入friend-arm这个目录下就可以了,进到这个目录,看到tiny4412,我们切换进入看到: 要预置相关的文件,前面有一篇文章专门讲过怎么预置,一般是在device.mk中进行,但是平台不同,供应商会整合到其它地方: 文章如下,下面我们将参考这篇文章进行预置。
1596 0
|
Android开发
安卓selinux权限修改(基于tiny4412开发板)
在源代码根目录下: system/core/init/init.c   找到 static void selinux_initialize(void) 函数将boot is_enforcing = selinux_is_enforcing();改成boot is disabled = selinux_is_disabled();security_setenforce(is_disabled); 重新编译即可。
1039 0
|
Android开发
安卓修改上层UI界面默认显示为竖屏显示(基于tiny4412开发板)
在Android 5.0源代码根目录下: 找到 :famerawork/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.
1202 0
|
Ubuntu 测试技术 Linux
使用Android、S3C6410开发板和Ubuntu测试Linux驱动
开发可统计单词个数的Android驱动程序(2) 八、 指定回调函数       本节讲的内容十分关键。不管Linux驱动程序的功能多么复杂还是多么“酷”,都必须允许用户空间的应用程序与内核空间的驱动程序进行交互才有意义。
983 0
|
3天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库

推荐镜像

更多