“Build dev enviroment guide”的版本间的差异

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

2020年1月7日 (二) 09:57的最新版本


  • 1.嵌入式Linux开发有哪些内容
  • 2.日常工作中开发流程是怎样
  • 3.搭建开发环境需要做哪些事情
  • 4.烧写系统

嵌入式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:保存于根文件系统上
Build dev enviroment guide 001.png

日常工作中开发流程是怎样

Bootloader、Linux内核、APP等等软件,需要在Ubuntu中编译;
但是阅读、修改这些源码时,在Windows下会比较方便。
所以,我们需要在Windows、Ubuntu上都存有源码。
① 在Windows上阅读、研究、修改源码,修改后上传到Ubuntu
② 远程登录Ubuntu,执行命令:编译程序、制作固件
③ 把制作好的可执行程序下载到开发板上运行、测试。
在整个开发过程中,我们会用到Windows、Ubuntu、开发板,如下图所示:
Build dev enviroment guide 002.png

搭建开发环境需要做哪些事情

以下内容在各开发板的高级用户使用手册中都有描述:

安装VMWare、下载Ubuntu映象

必须做。

安装Windows上各个APP

必须做,这些APP有:SouceInsight、FileZilla、MobaXterm、Notepad++

下载源码和工具链

工具链:必须下载或上传到Ubuntu,并设置好PATH环境变量。(简单地说,工具链就是编译器)
源码:u-boot、Linux内核,学习到时再下载也行,Windows和Ubuntu各存一份。
注意:根文件系统是使用buildroot制作的,它无需放在Windows上。

连接开发板

① 连接电源线到开发板,
② 开发板的串口线,接到Windows电脑;并用MobaXterm连接串口。
③ 开发板的网线,接到路由器或交换机,网络的设置请参考以下文档(可先不做):
Build dev enviroment guide 003.png

烧写系统

如果系统崩溃,或是新到手的板子上没有系统,请根据手册来烧写系统。