​大家好,我是五月。

嵌入式开发

嵌入式开发产品必须依赖硬件和软件。

硬件一般使用51单片机,STM32、ARM,做成的产品以平板,手机,智能机器人,智能小车居多。

软件用的当然是以linux系统为蓝本,以做成各种智能应用系统,比如智能家居系统,智能车库系统,只能安防系统。

用的ARM芯片内核

A系列:A8、A9、A13、A53

比较适合用来跑操作系统,如linux系统、安卓系统、IOS系统;

M系列:M3、M4

一般的用来跑裸机的,以操作寄存区为主;

嵌入式跑Linux系统的原因

嵌入式讲求的是软硬结合,这样一来容易把软件移到硬件当中,而来linux开发出来的软件,兼容性很强。

嵌入式linux系统的特点

  1. Linux有开源的代码,内核源码可以随时修改,方便后期驱动开发

  2. 内核进行裁剪,方便修改内核,移植到一个新的开发平台

  3. 对软件移植强,比如x86平台的软件经过linux系统开发后可以移植到ARM平台

  4. 多任务,多用户,具有TCP/IP协议栈

  5. 免费

如何配置Ubuntu镜像系统

Linux下载地址以及配置步骤:

Linux下载配置步骤

1、镜像下载

用户可以从中下载地址中下载到一个镜像文件:

例如:ubuntu-18.04.1-desktop-amd64.iso

其中,18.04是指18年的4月份发布的,一般半年更新一次新版本。

2、安装虚拟机

根据自己需求选择,vmware12/14是64位,vmware10是32位,一般都是选择64位居多。

3、根据安装步骤,设置Ubuntu的配置参数

4、得到ubuntu目录

xxxx.vmx,这个就是虚拟机配置完参数之后得到的虚拟系统文件。

什么是虚拟机,为什么要用到虚拟机

虚拟机就是在电脑本身的基础上,再模拟出一台新的主机。

但是虚拟机内部的物理内存,硬盘大小的确实实在在存在。

现在很少的开发是用Ubuntu作为主机直接开发的,大多数是在Window作为主机的基础上,用虚拟机开辟一个Ubuntu系统。

使用虚拟机的好处就是可以使得工程师可以在熟悉的环境下进行linux开发。

linux与window之间的差异

linux的特点:

  1. 是一颗树,上级目录与下级目录之间不存在大小关系,只存在一个索引的关系(比如天河区与黄埔区)

  2. 目录的文件与上级目录没有大小关系

  3. 工作路径以“/”分隔开

window的特点:

  1. 是一个容器,上级目录与下级目录之间存在一个大小关系(广州市与黄埔区)

  2. 里面的文件永远要比外面目录的要小

  3. 工作路径以“\”分隔开

window与linux之间如何进行数据交互

答案是:共享文件夹

1、设置windows的挂载点

在数据盘下建立一个新的目录

2、虚拟机:

虚拟机 -- 设置 --- 选项 --- 共享文件夹 --- 总是启用 -- 主机路径:选择刚刚新建的目录 -- 完成确定

3、在linux中,打开一个新的终端窗口访问linux挂载点

打开终端: 组合键: ctrl + alt + T

输入命令:

gec@ubuntu:~ ls

接下来就能看到windows挂载点的名字了。

几个比较容易搞错的专业术语

  • Terminal

终端,是用户与系统之间数据交换的一个窗口

  • bash

解析器程序,作用是用于解析linux命令,当我们开启了一个终端Terminal,终端上就会默认启动一个bash进程

  • shell

是内核与用户之间的一个介质,一般地,shell命令 --> 用户输入完命令,bash解析器解析完之后送进shell的命令。

输入linux命令——bash解析——成为shell命令——通过shell介质到达内核。

小结

一个优秀的程序员,并不是一个只会埋头写代码的呆头,他一定站在现实的山峰上,举着自己热爱的旗帜,不断地向下山的神寻找学习,并且在路上,遇到源源不断的同行者。

要想进一步提升,其实也不难的,你只需要一份靠谱的学习资料,一个学习的deadline以及一个没学完就打爆你狗头的人,很快你就会被自己的才华和能力所惊艳。

我收集了一些linux的资料、算法小抄和计算机基础的资料,仅供个人学习使用,欢迎大家一起学习探讨。

linux保姆级教程完整版文档资料

有一种浪漫,叫接触Linux的更多相关文章

  1. 初次接触Linux

    最近由于工作需求,需要接触Linux系统. 使用VMware虚拟机,安装ubuntu系统.网上教程很多. 配置opencv环境.这是我参考的网上帖子https://blog.csdn.net/fish ...

  2. 4种用于构建嵌入式linux系统的工具_转

    转自:4种用于构建嵌入式linux系统的工具 Linux 被部署到比 Linus Torvalds 在他的宿舍里开发时所预期的更广泛的设备.令人震惊的支持了各种芯片,使得Linux 可以应用于大大小小 ...

  3. 关于vector的erase删除操作的两种不同方法,在linux与visual studio的实现讨论

    关于vector的erase删除操作的两种不同方法,在linux与visual studio的实现讨论 1.前言: 最近在做某一个题时,用到了vector的删除操作,利用的是erase()函数删除符合 ...

  4. 刚接触Linux,菜鸟必备的小知识点(一)

    身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...

  5. MySQL重置root密码的几种方法(windows+Linux)

    重置root密码的方法: windows系统下:1.停止mysql服务:2.新建文件init-root.txt,写上如下内容: update mysql.user set password = pas ...

  6. 说一下三种jar包在Linux的启动方式

    最近在linux上发布了一个SpringBoot项目,研究了一下jar包在Linux上的集中启动方式,特在此分享一下. 这里默认要启动的jar包为demo-0.0.1-SNAPSHOT.jar 第一种 ...

  7. 3种方法来在Linux电脑上查找文件

    如果你不太了解Linux命令,那么在Linux系统里查找文件是比较困难的.只要使用多种不同的终端命令,可以很快地找到文件.Linux命令比其它操作系统的搜索功能更加强大,掌握这些命令就能你完全控制这些 ...

  8. 一种比较low的linux的hung分析

    在调试一个功能的时候,发现了两种hung,以前认为的hung肯定是softlock导致的,后来才发现不一定要有lock这种结构,但是有类似于锁的功能的时候,也可能触发hung,为了避免大家走弯路,故记 ...

  9. 通过NFS、FTP、HTTP三种方法安装Redhat Linux (高清版)

          本节教程讲述了通过在Red Hat Linux服务器端假设NSF Server来进行Linux系统安装的过程,并详细介绍了如何制作网络启动盘的细节.演示直观,讲解通俗易懂,特别适合初学者学 ...

  10. 第一次接触linux系统的你,必须要知道的概念

    linux系统一切皆为文件 linux系统一个多用户系统 没有消息就是好消息 linux系统目录结构 Linux文件系统采用带链接的树形目录结构,即只有一个根目录(通常用"/"表示 ...

随机推荐

  1. 如何提升 API-First 设计流程

    一个 API-First 设计应该具有可复用性.互操作性.可修改性.用户友好性.安全性.高效性.务实性,并且重要的是,与组织目标保持一致.这些基本特征将确保 API 能够有效地为 API- First ...

  2. Spring Secriuty登录失败错误状态999重定向302

    原因是login.html登录页面有不能加载的静态资源,找出来去掉就好了,比如 bootstrap.min.css 环境 使用Spring Boot Security 3做一个登录功能,使用了一个教程 ...

  3. 用户空间协议栈设计和netmap综合指南

    本文分享自华为云社区<用户空间协议栈设计和netmap综合指南,将网络效率提升到新高度>,作者:Lion Long . 协议概念 1.1.七层网络模型和五层网络模型 应用层: 最接近用户的 ...

  4. 交叉编译 Qt5.12 armv8(aarch64) 带 WebEngine - NVIDIA JETSON TX2

    编译平台 Windows10 WSL2 Debian,目标平台 NVIDIA JETSON TX2 (注:Ubuntu <= 16.04 会出现 libclang < 3.8 的问题) 下 ...

  5. 《Python魔法大冒险》 001 序章:少年小鱼的不平凡一天

    在一个普通的城市里,生活着一个名叫小鱼的少年.他是一名初中生,但在班级里,他的学习成绩总是垫底.同学们经常取笑他,有时甚至戏称他为"倒数王". 放学后,小鱼一个人走在回家的路上,他 ...

  6. vue3探索——5分钟快速上手大菠萝pinia

    温馨提示:本文以vue3+vite+ts举例,vite配置和ts语法侧重较少,比较适合有vuex或者vue基础的小伙伴们儿查阅. 安装pinia yarn yarn add pinia npm npm ...

  7. 从MVC到DDD,该如何下手重构?

    作者:付政委 博客:bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 大家好,我是技术UP主小傅哥.多年的 DDD 应用,使我开了技术的眼界! MVC 旧工程腐化严重,迭代成本太高 ...

  8. pandas(进阶操作)-- 处理非数值型数据 -- 数据分析三剑客(核心)

    博客地址:https://www.cnblogs.com/zylyehuo/ 开发环境 anaconda 集成环境:集成好了数据分析和机器学习中所需要的全部环境 安装目录不可以有中文和特殊符号 jup ...

  9. fatal: 无法访问 'https://github.com/nmww/lingyun.git/':Failed to connect to github.com port 443 after 13 ms: Connection refused

    fatal: 无法访问 'https://github.com/nmww/lingyun.git/':Failed to connect to github.com port 443 after 13 ...

  10. vue2.0组件之间传递数据

    vue2.0组件之间传递数据 一,父向子 当父组件向子组件传数据的时候用这种方法比较简单.步骤为: 1,在子组件中声明props 2,在父组件中使用子组件时传入数据 二,组件之间 在组件之间如果两个组 ...