对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

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境