“Linux command and tools”的版本间的差异
第84行: | 第84行: | ||
第4个工具,不需要任何文档来介绍怎么使用它,太简单了。<br> | 第4个工具,不需要任何文档来介绍怎么使用它,太简单了。<br> | ||
=搭建开发环境之引导= | =搭建开发环境之引导= | ||
+ | *1.嵌入式Linux开发有哪些内容 | ||
+ | *2.日常工作中开发流程是怎样 | ||
+ | *3.搭建开发环境需要做哪些事情 | ||
+ | *4.烧写系统 | ||
+ | ==1.嵌入式Linux开发有哪些内容== | ||
+ | 我们的学习过程涉及Linux的整套系统:bootloader、Linux内核(含驱动程序)、根文件系统、部署在根文件系统上的APP。 | ||
+ | 注意:u-boot是一种非常流行的bootloader | ||
+ | |||
+ | 嵌入式Linux系统,就相当于一套完整的PC软件系统。 | ||
+ | 以Windows为例: | ||
+ | ① 电脑一开机,那些界面是谁显示的? | ||
+ | 是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它。 | ||
+ | 类似的,这个BIOS对应于嵌入式Linux里的bootloader。 | ||
+ | Bootloader的作用就是去Flash、SD卡等设备上读入Linux内核,并启动它。 | ||
+ | ② Windows系统必需的软件,比如IE、文件浏览器等保存在哪里? | ||
+ | 在C盘上,里面有各种系统软件。 | ||
+ | 对应的,系统运行必需的文件在Linux下我们称之为根文件系统。 | ||
+ | ③ windows能识别出C盘、D盘,那么肯定有读写硬盘的能力。 | ||
+ | 这个能力我们称之为驱动程序。当然不仅仅是操作硬盘,还有网卡、USB等等其他硬件。 | ||
+ | 嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。 | ||
+ | ④ Windows启动之后,我们就是聊QQ、玩游戏了,这些就是APP,它们存在磁盘上 | ||
+ | 同样的,嵌入式Linux系统中我们也有各种APP,它们位于根文件系统上。 | ||
+ | |||
+ | 简单地说,嵌入式LINUX系统里含有: | ||
+ | ① bootloader:用于启动Linux内核 | ||
+ | ② Linux内核(含有驱动程序):提供进程管理、文件管理、硬件驱动等 | ||
+ | ③ 根文件系统:系统运行必需的文件、程序 | ||
+ | ④ APP:保存于根文件系统上 | ||
+ | |||
+ | |||
+ | ==2. 日常工作中开发流程是怎样== | ||
+ | Bootloader、Linux内核、APP等等软件,需要在Ubuntu中编译; | ||
+ | 但是阅读、修改这些源码时,在Windows下会比较方便。 | ||
+ | 所以,我们需要在Windows、Ubuntu上都存有源码。 | ||
+ | ① 在Windows上阅读、研究、修改,修改后上传到Ubuntu | ||
+ | ② 在Ubuntu上编译、制作 | ||
+ | ③ 把制作好的可执行程序下载到开发板上运行、测试。 | ||
+ | 在整个开发过程中,我们会用到Windows、Ubuntu、开发板,如下图所示: | ||
+ | |||
+ | ==3. 搭建开发环境需要做哪些事情== | ||
+ | 以下内容在各开发板的高级用户使用手册中都有描述: | ||
+ | ===3.1 安装VMWare、下载Ubuntu映象=== | ||
+ | 必须做。 | ||
+ | ===3.2 安装Windows上各个APP=== | ||
+ | 必须做,这些APP有:SouceInsight、FileZilla、MobaXterm、Notepad++ | ||
+ | ===3.3 下载源码和工具链=== | ||
+ | 工具链:必须下载或上传到Ubuntu,并设置好PATH环境变量。(简单地说,工具链就是编译器) | ||
+ | 源码:u-boot、Linux内核,学习到时再下载也行,Windows和Ubuntu各存一份。 | ||
+ | 注意:根文件系统是使用buildroot制作的,它无需放在Windows上。 | ||
+ | |||
+ | ===3.4 连接开发板=== | ||
+ | ① 连接电源线到开发板, | ||
+ | ② 开发板的串口线,接到Windows电脑;并用MobaXterm连接串口。 | ||
+ | ③ 开发板的网线,接到路由器或交换机,网络的设置请参考以下文档(可先不做): | ||
+ | |||
+ | ==4. 烧写系统== | ||
+ | 如果系统崩溃,或是新到手的板子上没有系统,请根据手册来烧写系统。 |
2019年9月24日 (二) 16:17的版本
下载安装VMWARE,下载ubuntu映象、打开
请参考各开发板的高级用户使用手册,这些手册可以使用git工具下载,
GIT的使用方法请参 http://wiki.100ask.net 中的 初学者学习路线。
首先参考各开发板的高级用户使用手册,去百度网盘中下载VMWARE软件,下载 100ask-vmware_ubuntu18.04.7z
。
然后安装VMWare安装,VMware有两个软件,它们都可以使用,建议使用第2个:
- 1. Vmware Workstation Pro:这是收费的,可以试用30天
- 2. Vmware Workstation Player:这是免费的
最后解压100ask-vmware_ubuntu18.04.7z,用VMWare打开它,就可以开始下面的练习了。
Linux基本操作(在ubuntu中练习)
Linux常用命令的练习,既可以看视频,也可以看WIKI上的文档;
录制视频时写的文档可以使用GIT命令下载,需要使用、修改这些文档的学员,尽可使用,没有版权限制。
这些命令的操作视频,大部分是我同事王辉录制的,是之前2017年录制的S3C2440加强版裸机视频的一部分。
这些视频是在 ubuntu16.04 上操作的,跟现在使用的ubuntu18.04没有显著差别。
- 视频可以从网盘中下列红框所示的目录下载:
- 录制视频时所写文档,可以使用GIT下载,它位于如下图红框中所示位置:
- Linux命令的wiki内容如下:
ubuntu桌面简单操作
- 1. Ubuntu和Windows的最大差别:目录
- 2. 启动终端
- 3. 设置屏幕
1. Ubuntu和Windows的最大差别:目录
Windows中每一个分区都对应一个盘符,盘符下可以存放目录与文件:
注意:目录就是文件夹。
Windows下某个文件的绝对路径以盘符开始,比如:C:\abc\def\hello.txt,这是在C盘的abc目录下,有def子目录;而def中有hello.txt文件。
Ubuntu中,以树状结构表示文件夹与文件,没有盘符的概念。
比如:/abc/def/hello.txt,这表示在根目录下有abc子目录,而abc下又有def目录;def中有hello.txt文件。
从名字/abc/def/hello.txt
中你无法知道hello.txt文件位于磁盘哪一个分区。
注意:要想查看某个分区挂载在哪一个目录下,可以执行命令:df -h
对于普通用户,在Ubuntu下不再关心分区、盘符。需要关心的是哪个目录存什么:
Ubuntu中的目录遵循FHS标准(Filesystem Hierarchy Standard,文件系统层次标准)。
它定义了文件系统中目录、文件分类存放的原则、定义了系统运行所需的最小文件、目录的集合,并列举了不遵循这些原则的例外情况及其原因。
FHS并不是一个强制的标准,但是大多的Linux、Unix发行版本遵循FHS。
这些目录简单介绍如下:
虚拟机和Ubuntu的网络设置
Windows、Vmware上的Ubuntu、开发板,三者的网终互通问题是初学者经常碰到的。
Ubuntu的上网问题,也是初学者经常碰到的。
针对这些问题,我们录制过视频,但是效果不好。
后来写了一个文档,直接列出了所有情况,看文档的效果更好。
本节内容不录视频,请直接看文档。
下载本视频的GIT文档后,可以在下图所示目录观看文档:
开发工具的使用
在开发过程中,我们会用到如下工具:
- 1.
MobaXterm
:可以用来远程登录Ubuntu,可以操作串口。 - 2.
SourceInsight
:源码阅读、编辑工具,非常好用!特别是在分析大型软件时,它能提供函数、变量的快速查找、跳转功能。
- 3.
FileZilla
:Windows和Ubuntu之间转文件的工具。
- 4.
Notepad++
:文本编辑工具,比记事本好用。
前3个工具,在各开发板的高级用户使用手册里都有介绍,我就不录制视频了。有时候看文档比看视频效率高。
第4个工具,不需要任何文档来介绍怎么使用它,太简单了。
搭建开发环境之引导
- 1.嵌入式Linux开发有哪些内容
- 2.日常工作中开发流程是怎样
- 3.搭建开发环境需要做哪些事情
- 4.烧写系统
1.嵌入式Linux开发有哪些内容
我们的学习过程涉及Linux的整套系统:bootloader、Linux内核(含驱动程序)、根文件系统、部署在根文件系统上的APP。 注意:u-boot是一种非常流行的bootloader
嵌入式Linux系统,就相当于一套完整的PC软件系统。 以Windows为例: ① 电脑一开机,那些界面是谁显示的? 是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它。 类似的,这个BIOS对应于嵌入式Linux里的bootloader。 Bootloader的作用就是去Flash、SD卡等设备上读入Linux内核,并启动它。 ② Windows系统必需的软件,比如IE、文件浏览器等保存在哪里? 在C盘上,里面有各种系统软件。 对应的,系统运行必需的文件在Linux下我们称之为根文件系统。 ③ windows能识别出C盘、D盘,那么肯定有读写硬盘的能力。 这个能力我们称之为驱动程序。当然不仅仅是操作硬盘,还有网卡、USB等等其他硬件。 嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。 ④ Windows启动之后,我们就是聊QQ、玩游戏了,这些就是APP,它们存在磁盘上 同样的,嵌入式Linux系统中我们也有各种APP,它们位于根文件系统上。
简单地说,嵌入式LINUX系统里含有: ① bootloader:用于启动Linux内核 ② Linux内核(含有驱动程序):提供进程管理、文件管理、硬件驱动等 ③ 根文件系统:系统运行必需的文件、程序 ④ APP:保存于根文件系统上
2. 日常工作中开发流程是怎样
Bootloader、Linux内核、APP等等软件,需要在Ubuntu中编译; 但是阅读、修改这些源码时,在Windows下会比较方便。 所以,我们需要在Windows、Ubuntu上都存有源码。 ① 在Windows上阅读、研究、修改,修改后上传到Ubuntu ② 在Ubuntu上编译、制作 ③ 把制作好的可执行程序下载到开发板上运行、测试。 在整个开发过程中,我们会用到Windows、Ubuntu、开发板,如下图所示:
3. 搭建开发环境需要做哪些事情
以下内容在各开发板的高级用户使用手册中都有描述:
3.1 安装VMWare、下载Ubuntu映象
必须做。
3.2 安装Windows上各个APP
必须做,这些APP有:SouceInsight、FileZilla、MobaXterm、Notepad++
3.3 下载源码和工具链
工具链:必须下载或上传到Ubuntu,并设置好PATH环境变量。(简单地说,工具链就是编译器) 源码:u-boot、Linux内核,学习到时再下载也行,Windows和Ubuntu各存一份。 注意:根文件系统是使用buildroot制作的,它无需放在Windows上。
3.4 连接开发板
① 连接电源线到开发板, ② 开发板的串口线,接到Windows电脑;并用MobaXterm连接串口。 ③ 开发板的网线,接到路由器或交换机,网络的设置请参考以下文档(可先不做):
4. 烧写系统
如果系统崩溃,或是新到手的板子上没有系统,请根据手册来烧写系统。