1. 嵌入式

1.1 嵌入式的定义

嵌入式系统是以应用为中心,以现代计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗、环境等方面有严格要求的专用计算机系统。

(1)以应用为中心:专用的应用场景

(2)以计算机技术为基础

         软件(系统):

                                PC端:Windows、Ubuntu(Linux系统)、MacOS

                                移动端:Android、iOS、鸿蒙、塞班

         硬件:

                  输入设备:鼠标、键盘

                  存储器:内存、硬盘

                  处理器:CPU

                  控制器

                  输出设备:eg.显示器、音响、打印机、投影仪

(3)软硬件可裁剪:针对专用功能对软硬件进行裁剪,例如路由器会裁剪掉显示器等

(4)对功能、可靠性、成本、体积、功耗、环境等方面有严格要求:设计嵌入式系统需要考虑的

2. Linux操作系统

2.1 Linux操作系统的相关知识

(1) Linux操作系统的定义

Linux操作系统是一个以Linux内核为核心的、开源的类Unix操作系统的总称。

(2)Linux与Ubuntu的关系

Linux是一个开源的操作系统内核,而Ubuntu是建立在Linux核心之上的一个完整的操作系统发行版。

2.2 Linux常见命令

2.2.1 pwd  (Print Work Directory)

          功能:显示当前所在目录的完整绝对路径。   

linux@ubuntu:~$ pwd
/home/linux  

        linux                    //用户名
        @                        //at  ---在
        ubuntu                 //主机名 
         ~                         //~ 代表在 用户的主目录下 --- 家目录 
         $                         //表示当前是一个普通用户 
       /home/linux           //路径 --- linux系统下的路径 (第一个“/”是根目录,第二个“/”是目录分隔符)

2.2.2 ls

          功能:列出目录内容

linux@ubuntu:~$ ls        //查看当前位置 下的内容 
linux@ubuntu:~$ ls 目录名  //查看指定目录下的内容 

        蓝色 文件夹 
        白色 普通文件
        绿色 可执行文件 
        红色 压缩包 

2.2.3 cd   (Change Directory)

          功能:切换工作目录

 linux@ubuntu:~$ cd 目录名         //切换到指定的目录下
 linux@ubuntu:~$ cd /home         //以根目录作为起点 开始   ---绝对路径 
 linux@ubuntu:~$ cd home          //以当前位置作为起点      ---相对路径 
 linux@ubuntu:~$ cd ~             // /home/linux 用户家目录 
 linux@ubuntu:~$ cd /home/linux   // /home/linux 用户家目录 
 linux@ubuntu:~$ cd .             // 点 代表当面目录 
 linux@ubuntu:~$ cd ..            //点点 上一级目录 
 linux@ubuntu:~$ cd -             //减号 上一次操作的目录 

 2.2.4 mkdir  (make directory)

           功能: 创建目录 

 linux@ubuntu:~$ mkdir 123  //在当前位置 创建123目录 

2.2.5 touch

          功能: 创建一个空白文件 

linux@ubuntu:~$ touch 1.txt //在当前位置 创建1.txt

2.2.6 cp(CoPy)

          功能: 复制源文件 目标文件

linux@ubuntu:~$ cp 1.txt  2.txt           //将当前位置下的1.txt 复制为 2.txt   
linux@ubuntu:~$ cp 1.txt  dir1            //将当前位置下的1.txt 复制到 dir1目录中
linux@ubuntu:~$ cp 1.txt  dir1/back_1.txt //将当前位置下的1.txt 复制到 dir1目录中 并命名为back_1.txt
linux@ubuntu:~$ cp dir1  dir2  -r         //将当前位置下的dir1 复制为 dir2
linux@ubuntu:~$ cp dir1  dir2  -r         //dir2 如果存在,则是将dir1 拷贝到dir2中                     

注意:如果源文件是一个目录文件,cp时需要在后面加 “ -r ”。

2.2.7 mv(move)

          功能: windows剪切功能

linux@ubuntu:~$ mv 1.txt 2.txt  //将当前位置下的1.txt 移动为 2.txt 
linux@ubuntu:~$ mv 1.txt dir1   //将当前位置下的1.txt 移动为 当前位置下的dir1中
linux@ubuntu:~$ mv dir1  dir2   //dir2如果不存在,此时重命名 
linux@ubuntu:~$ mv dir1  dir2   //dir2如果存在,则将dir1 移动到dir2中

注意:移动和拷贝区别:
           移动之后 源文件不存在 
           拷贝之后 源文件存在

2.2.8 rm(remove)                      

          功能:删除文件或目录

linux@ubuntu:~$ rm 1.txt    //删除当前位置下的1.txt
linux@ubuntu:~$ rm dir1  -r //如果删除的是目录,需要递归层层删除要加 -r

2.3 Linux系统下编程

2.3.1 编写代码vim

(1)进入命令模式

linux@ubuntu:~$ vi hello.c  //敲回车 进入vim 

(2)进入编辑模式

         按 “ i ”

(3)保存文件

         退出编辑模式 --- ESC --- 默认又回到命令模式
         按shift+: 进入 "底行模式"
         输入保存相关的命令:
             w   //write 
             q    //quit
             wq //保存并退出

2.3.2 编译代码gcc

(1)编译代码

inux@ubuntu:~$ gcc hello.c //编译代码 

(2)运行代码

 linux@ubuntu:~$ a.out  //Linux默认生成的可执行文件的名字 
                        //可运行的程序 

2.3.3 调试代码gdb


 

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐