​大家好,我是五月。

嵌入式开发

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

硬件一般使用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. docker安装phpmyadmin

    下载docker镜像 docker pull phpmyadmin/phpmyadmin 创建容器 # 假设MySQL服务器的地址为:192.168.0.10,端口3306 # 通过3360端口访问p ...

  2. nlp入门(五)隐马尔科夫模型

    源码请到:自然语言处理练习: 学习自然语言处理时候写的一些代码 (gitee.com) 一.马尔科夫模型概念 1.1 马尔科夫模型:具有马尔可夫性质并以随机过程为基础的模型 1.2 马尔科夫性质:过去 ...

  3. 表格JS实现在线Excel的附件上传与下载

    摘要:本文由葡萄城技术团队于博客园原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 在本地使用Excel时,经常会有需要在Excel中添加一 ...

  4. 带你读论文丨S&P21 Survivalism: Living-Off-The-Land 经典离地攻击

    本文分享自华为云社区<[论文阅读] (21)S&P21 Survivalism: Living-Off-The-Land经典离地攻击>,作者: eastmount . 摘要 随着恶 ...

  5. P3874 砍树 题解

    前置 树形 dp,二分. 题意 本质上是一个树上背包,需要选不少于 \(k\) 个物品,每个物品有一个重量 \(w\) 和价值 \(v\),求性价比最大值. 分析 既然是性价比,显然是分数规划. 先介 ...

  6. 【日常踩坑】修复 chrome 打不开微信或者部分第三方应用内链接

    目录 默认浏览器为 chrome 时,打不开微信或者部分第三方应用内链接(或者没有反应) 修复问题:卸载 KGChromePlugin 参考资料 默认浏览器为 chrome 时,打不开微信或者部分第三 ...

  7. Linux 内核设备树时钟绑定

    这种绑定依然处于开发中,并且基于 benh[1] 的一些实验性工作. 时钟信号源可以由设备树中的任何节点表示.这些节点被指定为时钟提供者.时钟消费者节点使用 phandle 和时钟指示符对将时钟提供者 ...

  8. Unity UGUI的Scrollbar(滚动条)组件的介绍及使用

    Unity UGUI的Scrollbar(滚动条)组件的介绍及使用 一.什么是Scrollbar组件? Scrollbar组件是Unity中UGUI系统提供的一种UI组件,主要用于在UI界面中提供滚动 ...

  9. Towards Network Anomaly Detection Using Graph Embedding笔记

    Towards Network Anomaly Detection Using Graph Embedding 目录 Towards Network Anomaly Detection Using G ...

  10. TiDB的简单介绍以及进行资源限制的方式与方法

    TiDB的简单介绍以及进行资源限制的方式与方法 TiDB的简介 TiDB是一个分布式数据库, 简介为: TiDB 是一个开源的分布式关系型数据库,它兼具了分布式数据库的水平扩展性和传统关系型数据库的 ...