嵌入式物联网开发基石

举报
炑焸 发表于 2024/04/21 12:18:34 2024/04/21
【摘要】 嵌入式物联网开发工程师,是一个蓝海新风口,高薪不内卷的行业。需要掌握熟悉c/c++、单片机、数据结构,linux系统,ARM单片机,嵌入式。可以从事工作项目loT、视频监控领域的产品,跨平台系统,智能硬件等开发。

前言

嵌入式物联网开发工程师,是一个蓝海新风口,高薪不内卷的行业。需要掌握熟悉c/c++、单片机、数据结构,linux系统,ARM单片机,嵌入式。可以从事工作项目loT、视频监控领域的产品,跨平台系统,智能硬件等开发。

一、指南

1、C语言基础

image.png

2、数据结构

c6c5fd8c90fbf69a6da34c4d5051b2d.png

3、shell&makfile工程管理

ab8f4f22868c2e6a68b1652b10f9b16.png

二、开发环境搭建

1、VMware虚拟机下载

允许用户在Windows或Linux桌面上运行多个操作系统,如Windows、Linux和BSD虚拟机。可进行开发、测试、部署新的应用程序的最佳解决方案。Vmware WorkStation可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器。对于企业的IT开发人员和系统管理员而言,Vmware在虚拟网络,实时快照,拖拽共享文件夹等方面的特点使它成为必不可少的工具。建议下15.5版本

2、ubuntu系统安装

Ubuntu系统是一款功能强大、易于使用和高度可定制的开源Linux操作系统,以简洁、直观和易用为设计原则,适合各类用户使用。它提供了友好的图形界面,支持多种语言和自定义设置,用户可以根据自己的喜好和需求进行个性化设置。同时,Ubuntu系统也注重安全性和稳定性,定期发布更新和修补程序,保护用户的系统安全。推荐下载安装18.04版本

3、共享文件夹

如在windows建立的share文件夹,直接复制粘贴至ubtunu系统会出错的情况,故需要使用共享文件夹来,
使用方法,虚拟机上方设置->选项->共享文件夹->总是启用
然后添加新建的共享分件夹然后完成,在ubtunu系统的mnt-hgfs-share里就有所创建的文件

三、计算机基础知识

1、计算机工作原理

二进制进行计算和存储,并且将计算机结构分成运算器,控制器、存储器、输入设备、输出设备等5个部分。用这几个部分组成了计算机的硬件。
存储程序的思想︰系统的运行过程就是按照一定的顺序不断执行存储器中的程序指令的过程

image.png

2、ubuntu

1713670401820.png

  • etc方账户密码信息
  • home用户信息
  • bin 可执行的二进制信息
  • usr用户基本信息

image.png

3、ubuntu常用快捷键

  • ctrl alt t 开启新的中端
  • ctrl alt 回⻋ 虚拟机全屏
  • clear 清屏
  • ctrl l 清屏
  • ctrl shift + 中端字体变大
  • ctrl - 中端字体变小
  • ctrl alt 鼠标退出虚拟机控制

四、linux 基础命令

1、pwd

显示当前目录

2、kill

杀死进程

3、cd

切换目录,
绝对路径以/为起点
相对路径,以当前目录为起点

cd ./  当前目录
cd ../ 上一层目录
cd - 上一次操作所在路径
cd ~ 相当于/home/用户名的路径
cd /usr  usr比较特殊

4、ls

列出当前目录的内容

5、mkdir当前目录下创建新的文件夹

当前目录下创建新的文件夹,mkdir dist

6、clear或者ctrl l

清屏

7、rm

rm -r 删除文件夹
rm -rf 强制执行删除文件夹
rm 删除文件

8、cp

  • cd 源文件 指定目录路径

将文件拷贝一份放入指定目录中

  • cd 源文件 目标文件

将文件拷贝一份副本

  • cd 源文件夹 指定目标文件 -a

将文件夹拷贝一份放入指定目录文件夹

9、mv

  • mv 源文件 指定目录路径

将文件移动一份放入指定目录中

  • mv 源文件 目标文件

将文件重命名

  • mv 源文件夹 指定目标文件 -a

将文件夹移动到指定目录文件夹中

五、vim编辑器、gcc编辑器

1、vim编辑器介绍和使用

书写代码的工具,编写 C 语⾔代码,可以使⽤ linux 系统提供的⼯具才能进⾏代码的编写。代码编写完成之
后,我们还需要验证书写的代码是否正确。这就需要编译器来进程验证。linux 系统为我们提供了⽐较
好的开发⼯具。

image.png

image.png

image.png

image.png

2、gcc编辑器介绍和使用

是 Linux 下提供⼀般⽤户使⽤的标准编译器。是由 GNU 开发的编程语⾔编译器。它是 GNU Compiler Collection 的缩写。可以⽤来编译C,C++,Object-C 等多种语⾔。

安装gcc
sudo apt-get install gcc

当完成hello.c文件时,由gcc hello.c编译代码, 系统默认会在当前⽬录下,⽣成⼀个叫做 a.out 的⽂件,然后执行./a.out 执⾏ a.out ⽂件,输出对应的结果.gcc hello.c -o exec 编译代码, ⽤户⾃定义⽣成的可执⾏⽂件名字,./exec 执⾏./exec ⽂件,。

image.pngimage.png

1)、编译⽅法:

  • 预处理 ----> ⽣成我预处理过得 C 代码 xx.i
  • 编译 ----> 把我们预处理过的代码⽣成我们的汇编代码 xx.s
  • 汇编 ----> 把汇编代码⽣成我们的⽬标⽂件 xx.o
  • 链接 ----> 把我们的⽬标⽂件⽣成我们的可执⾏⽂件

2)、参数说明:

  • -E 使编译器在预处理结束的时候停⽌
  • -S 使编译器在编译结束的时候停⽌
  • -c 使编译器在汇编结束的时候停⽌
  • -o 输出 gcc 编译的结果

六、常用命令快捷键、命令积累

1、创建文件

touch demo1.c

2、创建文件夹

mkdir dist

3、拷贝1到2

cp demo1.c dmeo2.c

4、gcc编译32位命令

gcc -m32 demo1.c

5、执行可执行文件

./a.out

6、打开vim编辑

vim demo1.c

7、从windows里粘贴到ubtunu里

ctrl+shift+v粘贴

8、关闭光标的回显,如输入密码时看不到输入的密码

cat
上下左右识别(按键获取)
ctrl c结束进程

9、限只在ubtunu里复制粘贴

右键选中 y(复制)然后esc +p(粘贴)

10、打开多个窗口(多文件编程)

:vsp
:vsp demo2.c

11、删除文件、文件夹

rm -rf 文件夹
rm 文件

12、查看本地项目

ls

13、在vim编辑中直接跳转到111行

:111

14、快捷编程int main(int argc,const char *arga[])

mian+tab

15、编译当前所有.c文件

gcc *.c

16、查看使用函数需要的头部文件,signal为函数

Man signal

17、关闭查看

:qi

18、结束进程命令

kill -l

19、将所有项目移入dist文件夹里

mv *.c ./dist/
mv demo1.c demo2.c

对于 mv demo1.c demo2.c 这条命令:
如果 demo2.c 不存在,demo1.c 将被重命名为 demo2.c。
如果 demo2.c 已经存在,demo1.c 的内容将会覆盖 demo2.c 的内容(除非使用了 -i 选项)。

20、以图形文件形式打开

gedit user_print.c

21、查看操作系统信息

cd /usr/include/
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。