粤嵌6818嵌入式开发入门教程

学习目标

1.了解嵌入式开发

2.开发环境的搭建

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

一、了解嵌入式开发

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

1.嵌入式可以干什么?

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

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

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

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

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

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

功能分析:

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

需求分析:

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

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

软件以及开发工具链接:

链接:https://pan.baidu.com/s/1rajNgvXWcgKvZN-AfPveoQ?pwd=11xk 
提取码:11xk

二、开发环境搭建

虚拟机安装步骤:

第一步:双击点击 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   ==> 显示文本文件内容(含不可见字符)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面部表情参考图

创造表情形变 | Character Creator | Reallusion 皮笑肉不笑?读取情绪的AI说:我太难了_面部

Vue.js+SpringBoot开发农家乐订餐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核心代码4.1 查询菜品类型4.2 查询菜品4.3 加购菜品4.4 新增菜品收藏4.5 新增菜品留言 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的农家乐订餐系统&#xff0c…

详细分析Java中的BeanCopier属性复制(附Demo)

目录 前言1. 基本知识2. 同属性Demo3. 不同属性Demo4. 实战场景 前言 基本知识推荐阅读: 浅拷贝和深拷贝的深度理解java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新&…

PHP魔术方法详解

php魔术方法是一些特殊的方法&#xff0c;由特定的环境来进行触发。 这些魔术方法让开发者能够更好地控制对象的行为&#xff0c;特别是在处理不常见的操作或者需要自动化处理某些任务时非常有用。 1、_construct()构造函数&#xff1a; <?php highlight_file(__FILE__);…

小白DB补全计划Day1-LeetCode:SQL基本操作select

前言&#xff1a;找工作&#xff08;主人&#xff09;的任务罢了 链接&#xff1a;1757. 可回收且低脂的产品 - 力扣&#xff08;LeetCode&#xff09; 584. 寻找用户推荐人 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 对DB篇的SQL章不太知道怎么写…

2023年蓝桥杯省赛——幸运数字

目录 题目链接&#xff1a;0幸运数字 - 蓝桥云课 (lanqiao.cn) 解法 思路 高级思路 总结 题目链接&#xff1a;0幸运数字 - 蓝桥云课 (lanqiao.cn) 解法 首先是我写了差不多一个小时的解法&#xff0c;裂开了&#xff0c;为什么我如此废物 思路 寻找第2023个在二进制、八…

每日一题——LeetCode2789.合并后数组中的最大元素

方法一 倒序遍历&#xff1a; 将数组倒序过来看&#xff0c;就是从最后一个数开始&#xff0c;如果它前面一个数小于等于它就可以把前面一个数吃掉同时加上前一个数的值形成一个新的数&#xff0c;如果碰到一个更大的数就吃不动了&#xff0c;那么就换那个更大的数去继续吃前面…

API接口:获取歌曲、小姐姐图片以及视频

文章目录 前言一、成果展示二、接口演示 1、歌曲2、图片和视频三、创造难点四、总结 前言 上次利用QQ音乐官网做了一个根据qq号获取暗恋人喜欢的歌单以及收藏歌曲&#xff0c;但是感觉功能还是太单薄了&#xff0c;于是我再次利用网上提供的免费API接口补充了一些功能。 一、成…

数据库精通之路:国产GBASE数据库学习网站全攻略

介绍&#xff1a;GBASE是一个包含多种产品的数据库系列&#xff0c;由南大通用数据技术有限公司推出&#xff0c;以其高性能和高可用性在国内数据库市场享有较高的品牌知名度。以下是GBASE系列的主要产品特点&#xff1a; GBase 8a&#xff1a;这是一个面向大数据分析的高性能数…

Unload-labs-pass-03

这里是设置了黑名单不能传.asp.aspx.php.jsp文件 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.asp,.aspx,.php,.jsp);$file_name trim($_FILES[upload_file][name]);$file_name deldot($file_name);//删…

vue2+vant2+Laravel7 实现多图上传到七牛云

后端接口 1、路由&#xff0c;在 routes/api.php 中 Route::resource(photos, PhotoController)->only(store);2、创建对应控制器 <?php namespace App\Http\Controllers; use Illuminate\Http\Request;class PhotoController extends Controller {/**** 上传图片* p…

LangChain: 调研报告

概述 LangChain是一个用于开发由语言模型驱动的应用程序的框架。它允许创建能够连接到上下文源&#xff08;如提示指令、少量示例、内容基础等&#xff09;的应用程序&#xff0c;并且能够进行推理&#xff08;基于提供的上下文如何回答问题、采取何种行动等&#xff09;。提供…

最佳实践:Postman 怎么调试 WebSocket

WebSocket 是一个支持双向通信的网络协议&#xff0c;它在实时性和效率方面具有很大的优势。Postman 是一个流行的 API 开发工具&#xff0c;它提供了许多功能来测试和调试 RESTful API 接口&#xff0c;最新的版本也支持 WebSocket 接口的调试。想要学习更多关于 Postman 的知…

力扣24. 两两交换链表中的节点

新建虚拟头节点&#xff0c;用3个指针记录前3个节点&#xff0c;然后再相互赋值指向&#xff0c;再移动当前节点&#xff0c;当前节点所在的位置&#xff0c;只能交换该节点的后两个节点&#xff08;所以必须建立虚拟头节点&#xff0c;才能操作第1&#xff0c;2个节点&#xf…

机器学习——压缩网络作业

文章目录 任务描述介绍知识蒸馏网络设计 Baseline实践 任务描述 网络压缩&#xff1a;使用小模型模拟大模型的预测/准确性。在这个任务中&#xff0c;需要训练一个非常小的模型来完成HW3&#xff0c;即在food-11数据集上进行分类。 介绍 有许多种网络/模型压缩的类型&#xff0…

【静夜思】为什么我们会如此喜欢夜晚呢

作为一名大学生&#xff0c;熬夜对我来说已是常态。每天都是近乎一点钟才有困意&#xff0c;觉得应该上床睡觉了&#xff0c;即使明天早八&#xff0c;即使明天有很多课。我也观察过身边的朋友&#xff0c;他们中大多数也和我一样&#xff0c;基本都是在12点过后才入睡。当今的…

AIGC笔记--关节点6D位姿按比例融合

1--核心代码 6D位姿一般指平移向量和旋转向量&#xff0c;Maya软件中关节点的6D位姿指的是相对平移向量和欧拉旋转向量&#xff1b; 为了按比例融合两个Pose&#xff0c;首先需要将欧拉旋转向量转换为旋转矩阵&#xff0c;在将旋转矩阵转换为四元数&#xff0c;利用球面线性插值…

指针 六 ---总结

文章目录 前言1.指针和指针变量2.const修饰2.1.const int* p 修饰的是指针指向的内容&#xff0c;保证指针指向的内容不能通过指针来改变。但是指针变量本⾝的内容可变。2.2 int const *p2.3 int *const p2.4 const int* const p 3. 指针数组&#xff08;array of pointers&…

彻底学会系列:一、机器学习之梯度下降(1)

1 梯度下降概念 1.1 概念 梯度下降是一种优化算法&#xff0c;用于最小化一个函数的值&#xff0c;特别是用于训练机器学习模型中的参数&#xff0c;其基本思想是通过不断迭代调整参数的值&#xff0c;使得函数值沿着梯度的反方向逐渐减小&#xff0c;直至达到局部或全局最小…

如何在webapp中手动部署

前言&#xff1a;这个有不知道怎么下载Tomcat的可以看我这篇博客的前面&#xff0c;有相关链接&#xff0c;下载好后我那边也有如何运行成功的 在idea中配置tomcat服务器&#xff0c;部署一个项目-CSDN博客 接下来进入这篇博客的正题&#xff01;怎么手动部署 先找到我们下载…