对iTop-4412开发板系统搭建的菜鸟问题解答

2024-01-09 11:38

本文主要是介绍对iTop-4412开发板系统搭建的菜鸟问题解答,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

4412开发板可以提供linux+QT、Android、ubuntu等多种系统;

提供的视频资料中说明了3种环境的搭建,对其概览有一个简单的了解。

1、首先什么是镜像文件:将源代码编译链接后形成的可执行文件包,开发板的芯片可以加载运行。

2、android环境的搭建:在开发板上烧写好android操作系统,同时在自己的windows系统下安装android的开发环境,一般是安装ecolipse+jdk;开发的时候使用otg线可以进行调试,所以在这个开发板上的调试方法与用自己手机进行调试是一模一样的,可以理解为开发板就是一部手机或者PAD。

3、linux+QT环境的搭建:这里的linux是哪种?,因为后面还有一种ubuntu的操作系统

4、TF卡烧写和OTG的方式都可以烧写linux-qt和android系统

5、OTG烧写方式非常简单,直接使用fastboot工具将相应的uboot文件,zimage内核文件,以及系统文件copy到emmc中了,之后重启就可以了;

6、TF烧写卡建议购买Class10 系列正品TF卡,容量至少2G,也不是越多越好,貌似ubuntu就是要恰好2G

7、TF烧写卡制作后可以重复使用,制作的步骤为 1、使用开发板在uboot模式下将TF卡分区(?为什么要分区呢);2、使用PC机烧写uboot文件到TF卡,先copy到TF卡上,然后解压缩;3、兴建sdupdate文件夹,将镜像文件拷到该文件夹中(含有zimage、ramdisk.img、system.img);4、使用TF卡在开发板上烧写,通过超级终端发送命令

8、linux与android环境烧写的uboot文件是一样的,都是u-boot-iTOP-4412.bin,这个文件应该是与硬件相关的,Linux-QT 系统中 Uboot 呾 Android4.0.3 癿 Uboot 源码是通用癿,编译环境呾编译方法也一样。Linux-QT 系统中 Linux 内核呾 Android4.0.3 中癿 Linux 内核源码是一样癿,编译环境呾
编译方法也一样。仅仅是编译癿旪候使用癿配置文件".config "丌一样
      u-boot是一种普遍用于嵌入式系统中的Bootloader,Bootloader是在操作系统运行之前执行的一小段程序,通过它,我们可以初始化硬件设备、建立内存空间的映射表,从而建         立适当的软硬件环境,为最终调用操作系统内核做好准备。Boot Loader的主要运行任务就是将内核映象从硬盘上读到RAM中,然后跳转到内核的入口点去运行,即开始启动操       作系统。系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的Boot Loader程序。(网络查找得到的解释)

9、ubuntu环境搭建:使用TF卡烧写ubuntu,ubuntu对TF卡的要求较高,需要先测试TF卡的速度;

10、如果emmc的uboot文件损坏,无法对TF卡分区,采用如下方法:我的理解是在PC机上拷贝uboot文件到TF卡中,然后make生成uboot文件,之后将开发板设置成从SD卡加载uboot,这样就将TF卡中的uboot文件加载到内存中,然后执行分区命令,将TF卡分区;我的疑问是分区后TF卡中之前的文件还在么?之后的步骤跟7相似。我另外的一个疑问是给TF卡烧写uboot解压了android源码文件夹中的iTop-4412_uboot_xxx.tar.gz,又添加u-boot-iTOP-4412.bin;为什么要添加这两个文件呢?u-boot-iTOP-4412.bin不就是uboot文件么,为什么还要另外一个? ;难道uboot文件分为多个部分,u-boot-iTOP-4412.bin文件时与硬件相关的,多个系统通用的,而另外一个文件时对于android或者linux或者ubuntu都不相同的文件,两者组合在一起才是完整的uboot文件。

11、apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统,所以使用这条命令的前提是计算机正常联网。

-----------------------------------前面是开发板上的环境搭建,后面是PC上面的环境搭建----------------------------------------

1、交叉编译的概念:交叉编译指的是执行编译任务的宿主机和执行目标程序的目标机的平台不一样,由宿主机执行编译任务,然后将目标代码传送到目标机运行;这个平台不一样针对几种情况,操作系统不同或者是cpu的体系结构不同,比如同是x86的芯片一个是windows一个是linux或者同是linux的系统,一个是x86一个是arm。
       编译工具链一般最简化的为 binutils + gcc + glibc + kernel-header 组合的环境。
2、pc上面ubuntu系统下搭建开发环境的基本步骤,1.安装交叉编译工具 2.修改环境变量 3.安装目标系统的库文件 4.编译uboot和kernel
3、使用手册介绍的一种程序开发方式1.在pc上面的linux使用gcc编译得到执行文件 2.使用ssh将文件拷贝到adb目录下 3.在cmd下使用adb命令将执行文件上传到开发板 4.使用超级终端执行文件;这种方式对应的android操作系统。
4、内核就是控制硬件的东西;小型的操作系统需要有硬件(cpu 硬盘 内存 )+核心(kernel 含有cpu流程 内存管理 磁盘输入输出)+与用户沟通的界面(文字界面shell 图形界面kde)就可以了。
5、kernel可以控制各个硬件的工作;有一个疑问:在于同一个kernel如何适应不同架构的cpu,难道是用针对的编译器编译内核,转换成目标系统的可执行文件,就是我们常说的编译内核么?
6、linux的硬件需求低、系统稳定性强、架构开放等优点。我现在存在的核心问题是不理解操作系统职能的具体执行方式,它是如何为其他软件提供服务的,基于此再去理解它调用硬件的方式,然后与我们在裸机上开发程序进行对比,比较操作系统与裸机开发的不同。
7、GNU自由软件的意思, 其实 usr 是 Unix System Resource,我之前以为是用户;home文件夹下面才是用户;var文件夹下记录默认服务器的登录文件
8、linux中如果文件名前面多一个 点 . 说明这个文件是隐藏文件;chgrp chown chmod
9、 linux中的文件不同于windows,文件后面的后缀没有作用;常见的复杂文件格式都有特定的文件头,可认为是一个“Magic Number”,Linux的file命令通过读取这个头部可以判断文件的类型。
10、linux系统下各种lib的区别:
/lib 系统本身需要用到的库文件,也就是系统使用的库文件
/usr/lib 随系统安装的应用软件用到的库文件,也就是应用程序的库文件
/usr/local/lib 用户自己安装的软件用到的库文件——当然,少数情况下,随系统安装的应用软件的库文件也可能会装到这里。
在ubuntu下,直接通过apt-get安装的软件一般会在/usr下面,自己编译安装的软件(或者通过一些其他的非官方途径)会在/usr/local下面
11、linux环境变量说明的博客:http://www.cnblogs.com/mengyan/archive/2012/09/04/2669894.html
12、硬盘文件的存放方式:1.block中存放文件数据 2.inode存放文件属性以及文件存放在哪个block之类的信息;所以linux系统在读取文件时,开始要在inode中寻找文件存放在哪个区域。
13、linux中的链接方式:硬链接,直接连接到block块,特点:不能链接目录(目录本身仅消耗inode),不能跨文件系统(因为不同文件系统有不同的inode table);符号链接:新建一个文件,会让数据读取操作指向链接的文件。 有个问题我没有搞清楚:目录文件在硬盘中的存储方式是怎样的?书中说目录文件仅消耗inode,那么系统是如何知道某个目录下面有其他的目录或者文件的呢?


这篇关于对iTop-4412开发板系统搭建的菜鸟问题解答的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/586991

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想