tiny4412开发板支持linux吗

author author     2023-04-16     481

关键词:

Android和 Linux 是两码事,Android系统是基于 Linux 内核的。我们编译的 Android源码是 Android 系统本身的源码,而内核是指通过原生 Linux 源码移植过来的内核源码,所以它们需要我们分别编译。并且 Android 系统的版本号和 Linux 源码的版本号是没有严格意义上的对应关系的,只要某个版本的 Linux 内核能支撑起某个版本的 Android 系统,那么它们就可以组合使用。内核就不多说了,它在 Android 中的作用跟在其它 Linux 发行版中的作用没什么区别,我们简单介绍一下 Android 文件系统的结构。Linux 系统的启动过程:bootloader(GRUB)---->zImage(Kernel)---->ramdisk(临时根,在内存中)---->rootfs(永久根,在磁盘上)Android 的启动过程:bootloader(厂商提供)---->zImage(Kernel)---->ramdisk(永久根,为了提速所以放在内存中)那么 Android 的 ramdisk 中存放了什么呢,通常分为四个分区:[fat32] 内置存储空间。fat32 不是名字,是分区格式。[system] 系统启动时挂载到system目录[data] 系统启动时挂载到data目录[cache] 相当于swap分区其中 system 分区和 data 分区是 Android 系统中非常重要的两个分区,我们简单介绍一下它们常用的作用。system:  [app] xxx.apk | 系统自带的软件安装目录,普通用户无权卸载。像电话本、拨号器、短信等等系统应用都安装在这里。还有许多定制版手机被无良厂商预装了各种无法被卸载的垃圾程序都放在这里。这里的程序都是用 Java 编写的。  [framework] xxx.jar | 存放用 Java 编写的库  [bin] xxx | 存放本地程序,一般都是由 C/C++/asm 编写  [lib] xxx.so | 存放用 C/C++/asm 编写的库data:  这个目录在内存中,是android系统的家目录。系统配置文件都在这个分区中,恢复出厂设置通常就是格式化该分区。好了,android 的文件系统就先简单介绍到这了,下面开始今天的正题吧,编译 Linux 内核源码。我手上用的是 Linux 3.5 的内核,并且已经被大神们移植过了,所以我就不再执行 make menuconfig 了,而是直接用大神给做好的配置文件进行编译了。自己还没有研究过怎么移植内核,上次折腾到半夜还失败了,所以这次先老老实实的拿大神移植好的内核做实验,等过段时间研究好了内核移植再拿出来分享。既然有了大神移植好的内核,那么编译起来也就简单多了,过程当中也没有遇到什么坑。[yuhuashi@local android]$ tar xzf linux-3.5-20140422.tgz[yuhuashi@local android]$ cd linux-3.5/[yuhuashi@local linux-3.5]$ cp tiny4412_linux_defconfig .config[yuhuashi@local linux-3.5]$ make -j4......此处省略一万字OBJCOPY arch/arm/boot/zImageKernel: arch/arm/boot/zImage is readyOK,看到上面这两句话我们就知道编译成功了,并且编译好的内核放在了 arch/arm/boot/zImage 这里。可以开始烧写系统到开发板了,鸡冻ing...====================华丽的分割线====================接下来我们将编译好的数据拷贝到SD卡上,然后就可以通过SD卡烧写系统了。首先将友善之臂(Tiny4412 开发板的制造商)提供的 Superboot(就是个 bootloader) 烧写到 SD 卡上,使我们的 SD 卡可以引导起来。1.插入 SD 卡2.查看 SD 卡对应的设备文件[yuhuashi@local tools]$ sudo fdisk -lDisk /dev/sdc: 7948 MB, 7948206080 bytes19 heads, 10 sectors/track, 81704 cylinders, total 15523840 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Device Boot Start End Blocks Id System/dev/sdc1 155217 15523839 7684311+ b W95 FAT32可见我的 SD 卡是 /dev/sdc,各位在后面看到我的命令中包含 /dev/sdc 或 /dev/sdc1 时,需要替换成你机器上查询出来对应的设备文件路径,千万不要写错了!====前方高能预警,请无关人员立即撤离,相关人员必须在意识清醒的情况下谨慎操作!!!====3.将 Superboot 烧写到 SD 卡上其实可以自己用 read(2)、write(2) 函数等方式烧写,我已经有一个现成的工具了,所以直接就拿来用了。各位如果没有烧写工具可以自己写一个,因为我没有该工具的源码所以就不贴源码了,注意别把分区表覆盖了就行。另外 bootloader 是烧写在设备上的(即/dev/sdc),而不是烧写在分区上的(/dev/sdc1)。[yuhuashi@local tools]$ ./write4412boot Usage:<./write4412boot> <boot.bin> <dev>[yuhuashi@local tools]$ sudo ./write4412boot ../images_all/Superboot4412.bin /dev/sdc start ...........end ...........4.将 ramdisk-u.img、system.img、userdata.img 以及 linux 内核 linux-x.x/arch/arm/boot/zImage 以及 Superboot4412.bin 拷贝到SD卡images目录下。[yuhuashi@local android-4.2.2_r1]$ mkdir -p /media/yuhuashi/2CAA-71B6/images/Android4.2.2/[yuhuashi@local android-4.2.2_r1]$ cp ramdisk-u.img system.img userdata-4g.img /media/yuhuashi/2CAA-71B6/images/Android4.2.2/[yuhuashi@local android-4.2.2_r1]$ cp userdata-16g.img userdata-8g.img userdata.img /media/yuhuashi/2CAA-71B6/images/Android4.2.2/[yuhuashi@local android-4.2.2_r1]$ cd ..[yuhuashi@local android]$ cd linux-3.5/[yuhuashi@local linux-3.5]$ cp arch/arm/boot/zImage /media/yuhuashi/2CAA-71B6/images/Android4.2.2/[yuhuashi@local android-4.2.2_r1]$ cp ~/arm/class_boot/source/images_all/Superboot4412.bin /media/yuhuashi/2CAA-71B6/images/我们前面已经将 Superboot 烧写到 SD 卡上了,之所以还要再拷贝 一份到 SD 卡上,是因为之前烧写 Superboot 是为了让 SD 卡可以启动,而现在拷贝到 SD 卡上的这份 Superboot 是为了一会儿烧写进 eMMC 中在开发板上引导我们的 Android 系统。注意我拷贝的一个镜像叫做 userdata-4g.img,昨天说过在 Android 编译完成后,我们执行 ./gen-img.sh 命令生成了几个 img 文件,其中包含 userdata-16g.img、userdata-4g.img、userdata-8g.img、userdata.img,这几个镜像适用于不同大小的 eMMC 的设备。一般来说使用 userdata.img 就可以了,但是 友善之臂 的开发板有些特殊,4GB eMMC 的板子必须使用 userdata-4g.img 才行。5.在 SD 卡的 images 文件夹中创建 FriendlyARM.ini 文件[yuhuashi@local images]$ vim FriendlyARM.ini#This line cannot be removed. by FriendlyARM(www.arm9.net)CheckOneButton=NoAction = InstallOS = AndroidLowFormat = NoVerifyNandWrite = NoLCD-Mode = NoCheckCRC32=NoStatusType = Beeper | LED################### Android 4.2.2 ####################Android-BootLoader = Superboot4412.binAndroid-Kernel = Android4.2.2/zImageAndroid-CommandLine = console=ttySAC0,115200n8 androidboot.console=ttySAC0 ctp=2 skipcali=y vmalloc=512m ethmac=1C:6F:65:34:51:7E lcd=S70 uhost=nAndroid-RamDisk =Android4.2.2/ramdisk-u.imgAndroid-RootFs-InstallImage = Android4.2.2/system.imgAndroid-UserData-4G = Android4.2.2/userdata-4g.imgAndroid-UserData-8G = Android4.2.2/userdata-8g.imgAndroid-UserData-16G = Android4.2.2/userdata-16g.imgAndroid-UserData = Android4.2.2/userdata.img注意第一行的注释不要删掉,不然 Superboot 可能无法引导。 完成后卸载掉 SD 卡,然后将卡插入到开发板的插槽中,将启动模式开关拨动到 SD 卡启动。[yuhuashi@local images]$ cd ~[yuhuashi@local ~]$ umount /media/yuhuashi/2CAA-71B6 参考技术A Tiny4412开发板支持-ARM-Linux,友善提供的Linux还带了一个QT图形界面。关于Tiny4412开发板的使用和学习,您可以关注 上海嵌入式家园-开发板商城的 申嵌视频-4412篇,可以对照视频讲座来学习。 参考技术B Tiny4412是一款高性能的四核Cortex-A9核心板,一般都是上系统的(Linux,Android等),单片机一般都是裸程序运行的

tiny4412-1312__uboot移植(代码片段)

开发环境:win1064位 +VMware12+Ubuntu14.0432位工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabi要移植的u-boot版本:u-boot-2016-11Tiny4412开发板硬件版本为:  底板:  Tiny4412SDK1312B  核心板:Tiny4412-1306 ... 查看详情

tiny4412--uboot移植时钟(代码片段)

开发环境:win1064位 +VMware12+Ubuntu14.0432位工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabi要移植的u-boot版本:u-boot-2016-11Tiny4412开发板硬件版本为:  底板:  Tiny4412SDK1312B  核心板:Tiny4412-1306 ... 查看详情

博客文章分类导航

嵌入式开发基础开发板硬件配置   Tiny4412开发板硬件版本为:   底板:Tiny4412/Super4412SDK1506   核心板:Tiny4412-1412           &nbs 查看详情

armcortex-a9(tiny4412)(代码片段)

要求移植linux增加系统调用并烧写至开发板详细步骤一、搭建linux编译环境1、GCC编译器的安装:tarxzvfarm-linux-gcc-4.5.1-v6-vfp-20120301.tgz-C/arm-linux-gcc-v//查看GCC版本2、gedit~/.bashrcexportPATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin3、rebo 查看详情

tiny4412--uboot移植串口(代码片段)

开发环境:win1064位 +VMware12+Ubuntu14.0432位工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabi要移植的u-boot版本:u-boot-2016-11Tiny4412开发板硬件版本为:  底板:  Tiny4412SDK1312B  核心板:Tiny4412-1306 ... 查看详情

exynos4412的外部中断是如何安排的?

...email protected] 平台Linux4.9tiny4412 概述结合tiny4412开发板分析一下Exynos4412的外部中断是如何组织的。 正文在Exynos4412的用户手册第9章InterruptController列出了支持的外部中断: 图1 第1列是按Shared PeripheralInte 查看详情

tiny4412sdk1161下的hd700驱动设置

...台:Tiny4412SDK1161B+HD700kernel:linux3.5手头有一块友善之臂的开发板,需要使用HD700屏来显示图片,但是移植好内核后/dev/fb0设备并不能用,看屏幕显示了三排小企鹅,并且存在色差,怀疑lcd驱动并不配套HD700之个型号,故需要做调整... 查看详情

17.2搭建嵌入式qt运行环境

17.2 搭建嵌入式QT运行环境17.2.1采用的嵌入式开发板介绍嵌入式开发板: 采用友善之臂Tiny4412  Tiny4412开发板的内核、uboot、交叉编译器均采用友善之臂光盘自带的包。交叉编译器的版本是arm-linux-gcc4.5.1 ,该编译... 查看详情

uboot移植前奏

  Tiny4412开发板硬件版本为:     底板: Tiny4412/Super4412SDK1506      核心板:Tiny4412-1412 1、下载u-boot源代码,建立u-boot代码仓库   参考:h 查看详情

嵌入式开发板itop-4412开发板初学arm开发板首选!提供技术支持!

摘要:ARM开发板迅为三星Exynos嵌入式开发平台超强GPS模块iTOP-Exynos4412开发板采用Exynos4412的主芯片,具有更高的主频和更丰富外设,配置2GB双通道DDR3的内存及16GB存储,具有稳定性强、可靠性高,能适用于对性能和处理能力有更高... 查看详情

exynos4412交叉编译环境搭建(代码片段)

Exynos4412交叉编译环境搭建交叉编译:在PC机(x86平台)上开发程序,在ARM板上运行,提高开发、编译速度。环境:Tiny4412SDK1506开发板需要软件:arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz检测系统是否已经安装有交叉编译环境:#arm-linux-gcc-vba... 查看详情

嵌入式开发板学习新手在itop4412开发板无界面linux操作系统使用can模块遇到问题,求解决方法?

最近想使用迅为的iTOP4412精英版开发板做关于CAN总线相关的程序设计。遇到的问题是,将购买的CAN模块连接到开发板上时,在系统界面使用ifconfig-a命令,没有发现can的信息。看起来系统没有识别这个模块。想请教下大神们,这个... 查看详情

4418开发板和4412开发板的区别在哪里

...系荣品电子了解。参考技术A俩者的区别最直接的说,4412开发板更接触于对嵌入式有兴趣的新手,4418比较实用于产品研发。至于说芯片停产的问题,我觉得可以不关注。这俩者并没有大的竞争。个人推荐学习板4412开发板 参考技... 查看详情

2020毕业设计选用4412开发板,实战教程,小成果不放过

...智能家居,门禁系统,WEB服务及远程控制,手机远程控制开发板,GPS定位系统,智能网关,机顶盒部分视频观看地址(更多视频教程可在B站上搜索‘迅为电子’)iTOP-4412精英版开发板硬件连接    https://www.bil... 查看详情

tiny4412u-boot烧写及根文件系统制作(不进入终端问题)

...n.net/article/details?id=51400196(转) VMware12环境:ubuntu12.4开发板:tiny4412首先烧写bootloader,我用一个8G的内存卡,现在不说sd卡的制作过程了,网上可以参考。现在就把我给arm的emmc烧写过程开始说。用sd卡启动,开发板的右下角... 查看详情

基于tiny4412的andorid开发-------简单的led灯控制

...考资料:《Andriod系统源代码情景分析》《嵌入式Linux系统开发完全手册_基于4412_上册》  作者:彭东林邮箱:[email protected]  平台介绍:主机:Win732位虚拟机:VM 查看详情

itop-4412开发板网盘资料介绍

iTOP-4412开发板网盘视频资料内容如下:01-烧写、编译以及基础知识视频02-嵌入式Linux视频03-iTOP-4412开发板硬件设计指导视频04-Android应用程序视频05-Android应用教程201506-裸机程序实验文档以及工具文件07-Linux-x86-Qt5.3.2以及QtE4.7.1应用... 查看详情

linux小项目-数码相册设计(代码片段)

1.前言这是基于Linux系统开发板设计一个小项目-数码相册,在LCD屏上可以显示完成常见的图片显示,翻页、旋转、缩放等功能。开发板采用友善之臂的Tiny4412开发板,CPU是三星的4412,最高主频1.5GHZ。板子配有8G的EMM... 查看详情