“Build dev enviroment guide”的版本间的差异
(创建页面,内容为“=搭建开发环境之引导= *1.嵌入式Linux开发有哪些内容 *2.日常工作中开发流程是怎样 *3.搭建开发环境需要做哪些事情 *4.烧写系…”) |
|||
第1行: | 第1行: | ||
− | |||
*1.嵌入式Linux开发有哪些内容 | *1.嵌入式Linux开发有哪些内容 | ||
*2.日常工作中开发流程是怎样 | *2.日常工作中开发流程是怎样 | ||
*3.搭建开发环境需要做哪些事情 | *3.搭建开发环境需要做哪些事情 | ||
*4.烧写系统 | *4.烧写系统 | ||
− | + | =1.嵌入式Linux开发有哪些内容= | |
− | 我们的学习过程涉及Linux的整套系统:bootloader、Linux内核(含驱动程序)、根文件系统、部署在根文件系统上的APP。 | + | 我们的学习过程涉及Linux的整套系统:bootloader、Linux内核(含驱动程序)、根文件系统、部署在根文件系统上的APP。<br> |
− | 注意:u-boot是一种非常流行的bootloader | + | 注意:u-boot是一种非常流行的bootloader<br> |
+ | 嵌入式Linux系统,就相当于一套完整的PC软件系统。<br> | ||
− | + | 以Windows为例:<br> | |
− | 以Windows为例: | + | ①电脑一开机,那些界面是谁显示的?<br> |
− | + | 是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它。<br> | |
− | 是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它。 | + | 类似的,这个BIOS对应于嵌入式Linux里的bootloader。<br> |
− | 类似的,这个BIOS对应于嵌入式Linux里的bootloader。 | + | Bootloader的作用就是去Flash、SD卡等设备上读入Linux内核,并启动它。<br> |
− | Bootloader的作用就是去Flash、SD卡等设备上读入Linux内核,并启动它。 | + | ② Windows系统必需的软件,比如IE、文件浏览器等保存在哪里?<br> |
− | ② Windows系统必需的软件,比如IE、文件浏览器等保存在哪里? | + | 在C盘上,里面有各种系统软件。<br> |
− | 在C盘上,里面有各种系统软件。 | + | 对应的,系统运行必需的文件在Linux下我们称之为根文件系统。<br> |
− | 对应的,系统运行必需的文件在Linux下我们称之为根文件系统。 | + | ③ windows能识别出C盘、D盘,那么肯定有读写硬盘的能力。<br> |
− | ③ windows能识别出C盘、D盘,那么肯定有读写硬盘的能力。 | + | 这个能力我们称之为驱动程序。当然不仅仅是操作硬盘,还有网卡、USB等等其他硬件。<br> |
− | 这个能力我们称之为驱动程序。当然不仅仅是操作硬盘,还有网卡、USB等等其他硬件。 | + | 嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。<br> |
− | 嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。 | + | ④ Windows启动之后,我们就是聊QQ、玩游戏了,这些就是APP,它们存在磁盘上<br> |
− | ④ Windows启动之后,我们就是聊QQ、玩游戏了,这些就是APP,它们存在磁盘上 | + | 同样的,嵌入式Linux系统中我们也有各种APP,它们位于根文件系统上。<br> |
− | 同样的,嵌入式Linux系统中我们也有各种APP,它们位于根文件系统上。 | ||
− | 简单地说,嵌入式LINUX系统里含有: | + | 简单地说,嵌入式LINUX系统里含有:<br> |
− | ① bootloader:用于启动Linux内核 | + | ① bootloader:用于启动Linux内核<br> |
− | ② Linux内核(含有驱动程序):提供进程管理、文件管理、硬件驱动等 | + | ② Linux内核(含有驱动程序):提供进程管理、文件管理、硬件驱动等<br> |
− | ③ 根文件系统:系统运行必需的文件、程序 | + | ③ 根文件系统:系统运行必需的文件、程序<br> |
− | ④ APP:保存于根文件系统上 | + | ④ APP:保存于根文件系统上<br> |
− | + | =2. 日常工作中开发流程是怎样= | |
− | Bootloader、Linux内核、APP等等软件,需要在Ubuntu中编译; | + | Bootloader、Linux内核、APP等等软件,需要在Ubuntu中编译;<br> |
− | 但是阅读、修改这些源码时,在Windows下会比较方便。 | + | 但是阅读、修改这些源码时,在Windows下会比较方便。<br> |
− | 所以,我们需要在Windows、Ubuntu上都存有源码。 | + | 所以,我们需要在Windows、Ubuntu上都存有源码。<br> |
− | ① 在Windows上阅读、研究、修改,修改后上传到Ubuntu | + | ① 在Windows上阅读、研究、修改,修改后上传到Ubuntu<br> |
− | ② 在Ubuntu上编译、制作 | + | ② 在Ubuntu上编译、制作<br> |
− | ③ 把制作好的可执行程序下载到开发板上运行、测试。 | + | ③ 把制作好的可执行程序下载到开发板上运行、测试。<br> |
− | 在整个开发过程中,我们会用到Windows、Ubuntu、开发板,如下图所示: | + | 在整个开发过程中,我们会用到Windows、Ubuntu、开发板,如下图所示:<br> |
− | + | =3. 搭建开发环境需要做哪些事情= | |
− | 以下内容在各开发板的高级用户使用手册中都有描述: | + | 以下内容在各开发板的高级用户使用手册中都有描述:<br> |
===3.1 安装VMWare、下载Ubuntu映象=== | ===3.1 安装VMWare、下载Ubuntu映象=== | ||
− | 必须做。 | + | 必须做。<br> |
===3.2 安装Windows上各个APP=== | ===3.2 安装Windows上各个APP=== | ||
− | 必须做,这些APP有:SouceInsight、FileZilla、MobaXterm、Notepad++ | + | 必须做,这些APP有:SouceInsight、FileZilla、MobaXterm、Notepad++<br> |
===3.3 下载源码和工具链=== | ===3.3 下载源码和工具链=== | ||
− | 工具链:必须下载或上传到Ubuntu,并设置好PATH环境变量。(简单地说,工具链就是编译器) | + | 工具链:必须下载或上传到Ubuntu,并设置好PATH环境变量。(简单地说,工具链就是编译器)<br> |
− | 源码:u-boot、Linux内核,学习到时再下载也行,Windows和Ubuntu各存一份。 | + | 源码:u-boot、Linux内核,学习到时再下载也行,Windows和Ubuntu各存一份。<br> |
− | 注意:根文件系统是使用buildroot制作的,它无需放在Windows上。 | + | 注意:根文件系统是使用buildroot制作的,它无需放在Windows上。<br> |
===3.4 连接开发板=== | ===3.4 连接开发板=== | ||
− | ① 连接电源线到开发板, | + | ① 连接电源线到开发板,<br> |
− | ② 开发板的串口线,接到Windows电脑;并用MobaXterm连接串口。 | + | ② 开发板的串口线,接到Windows电脑;并用MobaXterm连接串口。<br> |
− | ③ 开发板的网线,接到路由器或交换机,网络的设置请参考以下文档(可先不做): | + | ③ 开发板的网线,接到路由器或交换机,网络的设置请参考以下文档(可先不做):<br> |
==4. 烧写系统== | ==4. 烧写系统== | ||
− | 如果系统崩溃,或是新到手的板子上没有系统,请根据手册来烧写系统。 | + | 如果系统崩溃,或是新到手的板子上没有系统,请根据手册来烧写系统。<br> |
2019年9月24日 (二) 16:32的版本
- 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. 烧写系统
如果系统崩溃,或是新到手的板子上没有系统,请根据手册来烧写系统。