当前位置: 首页 > article >正文

有一种浪漫,叫接触Linux

大家好,我是五月。

嵌入式开发

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

硬件一般使用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保姆级教程完整版文档资料


http://www.kler.cn/a/147369.html

相关文章:

  • 如何编译 Cesium 源码
  • TCP(下):三次握手四次挥手 动态控制
  • Python读写Excel的全面教程
  • 初识Linux · 共享内存
  • redis7.x源码分析:(2) adlist双向链表
  • FingerprintSimilarity和BulkTanimotoSimilarity的区别
  • Verilog基本语法概述
  • 智慧工地管理系统加快推进工程建设项目全生命周期数字化
  • 抽象类的使用—模板设计模式 Java
  • 网络入门---网络的大致了解
  • JVM GC算法
  • pycharm安装PyQt5及其工具
  • Centos Download
  • Xshell连接VMware虚拟机中的CentOS
  • 【开源】基于Vue.js的海南旅游景点推荐系统的设计和实现
  • Java核心知识点整理大全19-笔记
  • 如何理解2023vivo开发者大会,使用Rust语言编写蓝河操作系统(BlueOS)?
  • ELK----日志分析
  • C语言——标识符
  • 为什么需要配置中心
  • Java的ArrayList中关于删除的常用操作及方法
  • 共享模型之不可变
  • C#中的警告CS0120、CS0176、CS0183、CS0618、CS0649、CS8600、CS8601、CS8602、CS8604、CS8625及处理
  • Rust语言入门教程(六) - 字符串类型
  • 百度人工智能培训第一天笔记
  • 多线程04 死锁,线程可见性