对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

相关文章

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

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

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

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

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具