对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

相关文章

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

基于Qt实现系统主题感知功能

《基于Qt实现系统主题感知功能》在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观,Qt作为一个跨平台的C++图形用... 目录【正文开始】一、使用效果二、系统主题感知助手类(SystemThemeHelper)三、实现细节

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境