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

news2025/6/23 10:11:40

学习目标

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   ==> 显示文本文件内容(含不可见字符)

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

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

相关文章

再见 Pandas,又一数据处理神器

cuDF介绍 cuDF是一个基于Apache Arrow列内存格式的Python GPU DataFrame库,用于加载、连接、聚合、过滤和其他数据操作。cuDF还提供了类似于pandas的API。 GitHub: https://github.com/rapidsai/cudf Documentation: https://docs.rapids.a…

基于springboot+vue的大学生就业需求分析系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

2.亿级积分数据分库分表:增量数据同步之代码双写,为什么没用Canal?

1.亿级积分数据分库分表:总体方案设计 上一篇博客中写了一下积分数据分库分表的总体方案设计,里面说了采用应用程序代码双写的方式实现的增量数据同步,本篇就对这一块进行一些细化的介绍,包括: 为什么不用Canal监听数…

WebServer -- 八股(终章)

👂 Honey Honey - 孙燕姿 - 单曲 - 网易云音乐 目录 🌼触类旁通 🚩线程 && 进程 线程与进程的区别 多线程锁是什么 进程 / 线程 / 协程 的区别 线程切换时,需要切换的状态 🎂并发 && 并行 并…

一起玩儿3D打印机——03 Marlin固件的获取和安装环境的配置

摘要:本文介绍Marlin固件的获取和安装环境的配置 Marlin是一款开源软件,其主页为:https://marlinfw.org/,首页正中就是下载连接,如下图所示: 单击下面的“Download Marlin 2.1.2.2”按钮就会进入下载页面&a…

Transformer学习笔记(一)

一、预训练 1、图像领域的预训练 通过 ImageNet 数据集我们训练出一个模型 A由于 CNN 的浅层学到的特征通用性特别强,我们可以对模型 A 做出一部分改进得到模型 B(两种方法): 冻结:浅层参数使用模型 A 的参数&#x…

postgres中的hook机制

瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:14,13,12,11 文档用途 1.了解使用postgres中的hook机制,在不更改内核代码的前提下完成一些定制化需求; 2.从底层理解插…

Visual Studio 2022 出现:E1696无法打开 源 文件 “stdafx.h“;E0020未定义标识符 “_TCHAR“错误解决办法

今天在用自己电脑上的visual studio2022写并行计算实验报告时出现了这种错误,但我在机房电脑vs2010版本运行时没有任何问题,于是我在网上找了解决办法,现总结如下。 1.报错E1696无法打开 源 文件 "stdafx.h",解决办法&a…

移动通信网络AT指令

AT 命令是用来控制 TE(如 PC 等用户终端)和 MT(如移动台等移动终端)之间交互 的规则 AT 命令的返回值包括两部分,响应信息和结果码。 PLMN 移动通信网络PLMN = MCC + MNC,PLMN由MCC移动国家码和MNC移动网络码组成,例如:中国移动GSM的PLMN为:46000(MCC:460, M…

Internet Download Manager(IDM下载) v6.42.3 绿色版介绍

互联网下载管理器是一个广泛使用的软件,它可以帮助用户更好地管理和加速他们的下载。最新版本v6.42.3已经发布,它带来了一系列新功能和改进,让用户更加方便和快速地下载他们需要的文件。 新版本的互联网下载管理器增加了对最新浏览器的支持&…

通过键盘对机械臂进行操作

1 #include<myhead.h>2 #include<linux/input.h>3 #define SER_PORT 88884 #define SER_IP "192.168.116.225"5 #define CLI_PORT 99996 #define CLI_IP "192.168.65.129"7 int main(int argc, const char *argv[])8 {9 //1、创建用于连接…

题目:特殊的三角形(蓝桥OJ 3008)

问题描述&#xff1a; 解题思路&#xff1a; 可以先求出1~1e6每个位置是否有解&#xff0c;后计算前缀和再求出不同区间的和。&#xff08;时间复杂度小&#xff09; 进行dfs操作&#xff1a;依次组合1~1e6所有元素。并计算每一个组合的乘积&#xff0c;在该乘积位置的cnt加一。…

2024.3.15

1.单向循环链表 代码&#xff1a; #include"loop.h" //创建单向循环链表 loop_p create_loop_list() {loop_p H (loop_p)malloc(sizeof(loop));if(HNULL){printf("空间申请失败\n");return NULL;}H->len0;H->nextH;return H; } //创建节点 loop_p…

AJAX概念和axios使用、URL、请求方法和数据提交、HTTP协议、接口、form-serialize插件

AJAX概念和axios使用 AJAX概念 AJAX就是使用XMLHttpRequest对象与服务器通信&#xff0c;它可以使用JSON、XML、HTML和text文本等格式发送和接收数据&#xff0c;AJAX最吸引人的就是它的异步特性&#xff0c;也就是说它可以在不重新刷新页面的情况下与服务器通信&#xff0c;…

2024全国水科技大会-协办单位:海南立昇净水科技实业有限公司

海南立昇净水科技实业有限公司 集膜技术研发、生产和销售服务于一体的集团型高科技企业。30年来一直专注于“膜”技术研发&#xff0c;始终坚持走自主科技创新之路。在国内构建起由26家直属分公司和超过500家经销代理商组成的营销服务网络&#xff0c;立昇净水设备被广泛应用于…

前端学习之css伪元素选择器

伪元素选择器 &#xff08;注释是对各个内容的解释与理解&#xff09; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>伪元素选择器</title><!-- 双冒号开头一般都称为伪元素&#xff0c;…

STL容器之list类

文章目录 STL容器之list类1、list的介绍2、list的使用2.1、list的常见构造2.2、list的iterator的使用2.3、list空间增长问题2.4、list的增删查改2.5、list迭代器失效问题 3、list的模拟实现&#xff08;含反向迭代器&#xff09; STL容器之list类 1、list的介绍 list是序列容器…

C++初阶:1_C++入门

C入门 零.本节知识点安排目的 C是在C的基础之上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库&#xff0c;以及编程范式等。熟悉C语言之后&#xff0c;对C学习有一定的帮助&#xff0c;本章节主要目标&#xff1a; 补充C语言语法的不足&#xff0…

【S5PV210_视频编解码项目】裸机开发:实现按键的外部中断处理

加粗样式本文所作内容&#xff1a; 基于S5PV210芯片实现按键的外部中断处理程序&#xff0c;搭建中断处理流程框架 S5PV210对于中断处理的操作流程 1 外部中断得到触发&#xff1a; 1&#xff09;外部中断在初始化阶段得到使能 2&#xff09;外界达到了外部中断的触发条件 …

Spring注解方式整合三层架构

注解方式特点 1. 完全注解方式指的是去掉xml文件&#xff0c;使用配置类 注解实现 2. xml文件替换成使用Configuration注解标记的类 3. 标记IoC注解&#xff1a;Component,Service,Controller,Repository 4. 标记DI注解&#xff1a;Autowired Qualifier Resource Value 5. &…