嵌入式开发基础总结

学习目标

1.了解嵌入式开发

2.开发环境的搭建

3.Linux操作系统的基本操作

一、了解嵌入式开发

以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

1.嵌入式可以干什么?

嵌入式技术主要用于各种电子产品的研发和生产。

岗位:单片机工程师、驱动工程师、嵌入式Linux工程师等。

2.运用嵌入式的电子产品有哪些?

带操作系统:嵌入式Linux(手机、平板、车载系统等)

无操作系统:微处理器开发(MCU:单片机;STM32;智能手环、小型无人机、工控行业)

3.本次实训项目的功能与需求分析

功能分析:

嵌入式智能家居系统:LCD屏编程、触摸屏编程、多线程编程

需求分析:

硬件开发平台:6818开发板、LCD显示、触摸屏、

软件开发平台:C语言编辑器、代码编译器(gcc)、VM虚拟机、Linux系统包(ubuntu)

二、开发环境搭建

虚拟机安装步骤:

第一步:双击点击 VMware-workstation-full-16.2.1-17801498.exe (安装点击这个、卸载也是点击这个)

第二步:跳出安装向导界面后点击下一步

第三步:勾选许可协议,点击下一步

第四步:安装位置可根据自己需求进行修改(不修改也可以),再点击下一步

第五步:如果不想经常出现更新体验提示,可一个去掉下图中的两个勾选,再点击下一步

第六步:勾选桌面,点击下一步

第七步:点击安装

第八步:输入许可证密钥激活虚拟机

第九步:点击完成

如何使用虚拟机加载我们已经压缩好的ubuntu系统 第一步:    以管理员身份 打开虚拟机----》选择《打开虚拟机》---》选择刚才解压出来的 文件夹,找到 Ubuntu16.04.vmx并打开

第二步:点击“开启此虚拟机”

第三步:点击“我已复制该虚拟机”

第四步:登入Ubuntu账号

三、Ubuntu的使用

Linux系统主要以命令行进行人机交互

1、命令行在哪里输入?

在命令终端中输入

打开命令终端:方法一:Ctrl + Alt + T方法二:右键———>open terminal分屏打开多个终端:Ctrl + Shift + T全屏终端:F11终端字体放大:Ctrl + Shift + '+'
终端字体放小:Ctrl + '-'

2、命令提示符    
打开终端就会默认显示一个命令行。

gec        @        ubuntu      :       ~         $ 
用户名    分隔符      主机名    分隔符   家目录    普通用户权限

普通权限和管理员权限切换

gec@ubuntu:~$ sudo -s[sudo] password for gec:   //密码为123456,  root@ubuntu:~# su gec      //root表示管理员用户名,#表示当前处于管理员权限gec@ubuntu:~$  

四、windows跟Linux的目录架构
1、Windows系统
Windows系统中的目录也就是文件夹,文件夹是一个容器,文件夹内的内容是包含与被包含的关系,里面的内容永远小于这个文件夹的大小。
在windows系统中有几个跟目录?
可以有多个根目录,一个磁盘就是一个跟,用“\”表示。

2、Linux系统
Linux系统的目录架构是一个树,目录与目录之间是索引关系
在Linux系统中有几个跟目录?
有且只有一个根目录,用“/”表示。根目录是所有文件的起源。

                                                linux系统的目录结构

相对路径:从当前路径开始到目标路径。
绝对路径:从根目录开始到目标路径。

哪个方便?
目标路径离哪个近,就哪个方便。

windows:
    C:\Windows\System
    
linux:
    /home/gec  ---绝对路径,只有第一个(最前面) / 代表根目录,后面的/都是表示分隔符

/  表示根目录
~  表示家目录
.  表示当前目录
.. 表示上一级


五、Linux基本命令
1、修改目录  
命令:cd
用法:cd  要切换的目录名
cd  /               去根目录
cd  ~               去家目录
cd                  去家目录
cd  /home/gec       去家目录
cd  ..              去上一级目录
cd  .               去当前目录
cd  -               去上次所在的目录

2、列出目录下内容
命令:ls
用法:ls             --->列出当前所在目录的文件信息
      ls  目标目录名  ---> 列出目标目录的文件信息
      
ls -l   --->以详细的方式列出文件信息
ls -a   --->显示所有文件,包括隐藏文件
ls -la  --->以详细的方式列出所有文件,包括隐藏文件

   d             rwx                  r-x                   r-x         2 gec  gec     4096 Jun  5 17:10 Desktop

 文件类型   所有者权限   所有者组权限   其他组权限

前面十个字符:
第一个字符表示文件类型:-:普通文件   d:目录文件
后面九个字符每三个为一组,由r、w、x、-组成
r:可读  权限值4    w:可写  权限值2  x:可执行 权限值1   -:无权限  权限值0

3、创建文件  touch/mkdir
1)创建普通文件
命令:touch
用法:touch  要创建的文件的路径名
touch 1.txt              --->在当前路径下创建1.txt文件
touch ~/Desktop/2.txt    --->在~/Desktop下创建2.txt文件

2)创建目录
命令:mkdir
用法:mkdir  要创建的目录的路径名
mkdir demo              --->在当前路径下创建demo目录
mkdir ~/Desktop/test    --->在~/Desktop下创建test目录

4、删除
命令:rm
1)删除普通文件
用法:rm  要删除的文件名
rm 1.txt              --->删除当前目录下的1.txt文件
rm ~/Desktop/2.txt    --->删除~/Desktop下的2.txt文件

2)删除目录
用法:rm  要删除的目录名  -rf  
                        //-r:递归处理,将指定目录下的所有文件和子目录一并处理
                        //-f:强制删除文件
rm demo -rf           --->删除当前目录下的demo目录及其下面的所有文件和目录

sudo  rm  /* -rf

5、复制
命令:cp
1)复制普通文件
用法:cp  要复制的文件名  目标路径
cp 1.txt  ~/Desktop/      --->将当前目录的1.txt复制到~/Desktop下

 2)复制目录
 用法:cp  要复制的目录名  目录路径  -r
 cp demo  ~/Desktop/ -r   --->将当前目录下的demo目录复制到~/Desktop下 
6、移动&重命名
命令:mv
1)移动
用法:mv  要移动的文件或目录   目标路径
mv 1.txt ~/Desktop/      --->将当前目录的1.txt移动到~/Desktop下  mv demo ~/Desktop/       --->将当前目录下的demo目录移动到~/Desktop下 
2)重命名
用法:mv  文件1  文件2  --->将文件1重命名为文件2
mv 1.txt  2.txt   --->将当前目录下的1.txt重命名为2.txt

练习:在家目录中创建一个demo目录和一个test目录,再在demo目录中创建一个a.c文件,再将a.c文件复制到test目录下,再将test目录移动到demo目录下,再删除demo目录。

- find : 查找
find /usr -name "*.h" ==> 在/usr中查找以.h结尾的文件
- cat : 显示文件内容
cat file.txt ==> 显示文本文件内容
cat -n a.c   ==> 显示文本文件内容(并显示行号)
cat -A a.c   ==> 显示文本文件内容(含不可见字符)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2868993.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

[蓝桥杯练习题]确定字符串是否包含唯一字符/确定字符串是否是另一个的排列

确定字符串是否包含唯一字符 #include<bits/stdc.h> using namespace std; int main(){ios::sync_with_stdio(0);cin.tie(nullptr);cout.tie(nullptr);map<char,int>m;string s;cin>>s;for(int i0;i<s.size();i){if(isalpha(s[i]))s[i]tolower(s[i]);if(…

第十三届蓝桥杯(C/C++ 大学B组)

目录 试题 A: 九进制转十进制 试题 B: 顺子日期 试题 C: 刷题统计 试题 D: 修剪灌木 试题 E: X 进制减法 试题 F: 统计子矩阵 试题 G: 积木画 试题 H: 扫雷 试题 I: 李白打酒加强版 试题 J: 砍竹子 试题 A: 九进制转十进制 九进制正整数 ( 2022 )转换成十进制等于多…

C语言例:设 int x=100; 则表达式 x++>100?x+20:x+10 的值

代码如下&#xff1a; #include<stdio.h> int main(void) {int x100, y;y x>100?x20:x10;printf("表达式x>100?x20:x10 的值为&#xff1a;%d\n",y); //111printf("x %d\n",x); //101return 0; } //三目逻辑运算符&#xff0c;条件…

基于springboot实现酒店客房管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现酒店客房管理平台系统演示 摘 要 随着人们的物质水平的提高&#xff0c;旅游业和酒店业发展的速度越来越快。近年来&#xff0c;市面上酒店的数量和规模都在不断增加&#xff0c;如何提高酒店的管理效率和服务质量成为了一个重要的问题。伴随着信息技术的发…

记一次实战项目所学(JWT篇)

记一次实战项目所学&#xff08;JWT篇&#xff09; 5. 登录验证功能 先获取公钥准备将前端输入的进行加密 //获得公钥GetMapping("/rsa-pks")public JsonResponse<String> getRsaPublicKey(){String publicKeyStr RSAUtil.getPublicKeyStr();return new Js…

基于springboot+vue实现艺术水平考级报名系统【项目源码+论文说明】计算机毕业设计

基于springbootvue实现艺术水平考级报名系统演示 摘要 本次毕业设计基于SpringBoot框架开发了一款艺术水平考级报名管理系统。该系统为考生提供了线上报名、准考证管理等核心功能&#xff0c;并为系统管理员提供了在线发布考试信息、对报名考生进行审核等管理功能。通过该系统…

数据安全之认识数据库加密系统

文章目录 一、什么是数据库加密系统二、数据库加密系统的工作原理三、数据库加密系统的核心功能四、数据库加密系统的特点和优势五、数据库加密系统的部署方式1、在线透明部署2、旁路代理模式 六、数据库加密系统的应用场景 数据库作为计算机信息系统的核心组成部分&#xff0c…

Java-并发编程--ThreadLocal、InheritableThreadLocal

1.ThreadLocal 作用 作用&#xff1a;为变量在线程中都创建副本&#xff0c;线程可访问自己内部的副本变量。该类提供了线程局部 (thread-local) 变量&#xff0c;访问这个变量&#xff08;通过其 get 或 set 方法&#xff09;的每个线程都有自己的局部变量&#xff0c;它独立…

vuex购物车案例

store/index.js // 导入vue import Vue from vue // 导入vuex import Vuex from vueximport cart from ./module/cartVue.use(Vuex)// 创建仓库store const store new Vuex.Store({strict: true,modules: {cart} })// 导出仓库 export default storestore/modules/cart impo…

外包干了28天,技术退步明显......

说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入深圳某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&a…

python-在图片上标实心圆点

代码&#xff1a; from PIL import Image, ImageDraw# 打开图像 image_path path_to_your_image.jpg image Image.open(image_path)# 创建一个可以在上面绘图的对象 draw ImageDraw.Draw(image)# 设置圆点的坐标和颜色 x 100 # 圆点的x坐标 y 100 # 圆点的y坐标 color …

电商系统秒杀一 秒杀的各种解决方案以及存在的问题

一 业务场景介绍 1.1 正常电商流程 1.2 活动和场次关系 秒杀活动表&#xff1a;sms_flash_promotion DROP TABLE IF EXISTS sms_flash_promotion; CREATE TABLE sms_flash_promotion (id bigint(20) NOT NULL AUTO_INCREMENT,title varchar(200) CHARACTER SET utf8 COLLAT…

【C语言步行梯】各类操作符、类型转换与原码、反码、补码详谈

&#x1f3af;每日努力一点点&#xff0c;技术进步看得见 &#x1f3e0;专栏介绍&#xff1a;【C语言步行梯】专栏用于介绍C语言相关内容&#xff0c;每篇文章将通过图片代码片段网络相关题目的方式编写&#xff0c;欢迎订阅~~ 文章目录 算术运算符原码、反码、补码介绍移位运算…

sparksession对象简介

什么是sparksession对象 spark2.0之后&#xff0c;sparksession对象是spark编码的统一入口对象&#xff0c;通常我们在rdd编程时&#xff0c;需要SparkContext对象作为RDD编程入口&#xff0c;但sparksession对象既可以作为RDD编程对象入口&#xff0c;在sparkcore编程中可以通…

react可视化编辑器 第二章 自由拖动

完整代码 这里介绍 currentDiv 和 useRef的俩中用法&#xff0c;看自己需求使用 import React, {useState,DragEvent,useRef,useEffect,MouseEvent, } from react;interface Demo {id: number;x: number;y: number; }const App: React.FC () > {const [demos, setDemos] u…

RabbitMQ学习总结-基础篇

1..RabbitMQ 本身是一个消息中间件&#xff0c;在服务应用中&#xff0c;可解决高性能&#xff0c;高并发&#xff0c;高应用的问题&#xff0c;极大程度上解决了应用的性能问题。 2.MQ的使用分为生产者和消费者&#xff0c;生产者生产消息&#xff0c;消费者去消费消息。 3.…

管理类联考–复试–政治--二十大--记忆宫殿

文章目录 整体记忆宫殿门床头柜床书桌阳台 口诀记忆法 整体 记忆宫殿 要有逻辑的放到房间了 何为逻辑&#xff0c;如下大佬总结的便是&#xff0c;或者可自行总结&#xff0c;有前后顺序&#xff0c;做事逻辑即可 第一步&#xff1a;将逻辑的点放到房间里的点&#xff0c;…

从零开始搭建游戏服务器 第二节 Actor模型与应用

目录 复习本节内容正文什么是Actor模型如何应用创建Actor基类创建RootActor创建AkkaContext创建ConnectActorManager和ConnectActor生成actor并发送消息给它 课后作业结尾 复习 上一节我们使用gradle构建了一个多模块系统。 并且在登录服启动了Netty服务&#xff0c;监听confi…

渗透测试框架权限维持技术——Persistence模块

测试环境&#xff1a; kali win7 测试步骤&#xff1a; 1.利用MSF编写远控程序 msfvenom -p windows/meterpreter/reverse_tcp lhost10.0.0.163 lport55555 -f exe -o 5555.exe-p 漏洞利用payload lhost 监听地址&#xff08;kali地址&#xff09; lport 监听端口&#xf…

劲仔食品三年倍增,抢先打响鹌鹑蛋“健康”属性品牌之争?

如果说&#xff0c;进入2024年后&#xff0c;在股价继续陷入回调状态的食品板块中有个股走势表现相对亮眼&#xff0c;那么劲仔食品必是其中之一。 从去年发布2023年三季度业绩公告以来&#xff0c;其强劲的业绩表现就带动了股价走出小趋势。2023年10月23日至今2024年3月13日收…