![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
嵌入式开发入门学习
文章平均质量分 79
韦东山老师的2440开发板为例
Stay hungry. Stay foolish.
这个作者很懒,什么都没留下…
展开
-
15、pkg-config的使用
一、pkg-config是什么?用于获得某一个库/模块的所有编译相关的信息,简单的说pkg-config 维护了一个保存各个代码库的路径的数据库。当然这个”数据库” 非常的简单,其实就是一个特殊的目录,这个目录中有一系列的以 “.pc” 为后缀的文件。 pkg-config opencv4 --libs --cflags二、为什么需要pkg-config?上面显示了opencv的头文件和库的所有信息,那么这有什么用呢?所有用opencv的其他程序,在编译时,只需要写“pkg-config ope原创 2021-01-02 22:10:17 · 283 阅读 · 0 评论 -
14、静态和动态链接、环境变量
一、静态链接和动态链接的基本概念1、引入程序由源代码变成可执行文件,一般可以分解为四个步骤,分别是:①预处理(Prepressing):预处理过程主要处理源代码中以“#”开始的预编译指令;②编译(Compilation):编译过程把预处理完成的文件进行词法、语法、语义等分析并产生相应的汇编代码文件;③汇编(Assembly):汇编过程将汇编代码文件翻译成机器可以执行的目标文件;④链接(Linking):链接过程将汇编生成的目标文件集合相连接并生成最终的可执行文件。如我们对一个hello.c文件原创 2021-01-02 16:59:18 · 488 阅读 · 2 评论 -
13、Ubuntu空间不够用该如何扩容
一、安装gparted工具1、安装命令sudo apt-get install gparted2、打开该工具sudo gparted3、关闭交换分区交换分区的作用:用来做虚拟内存,当内存有限时,硬盘被用来做虚拟内存,把一些暂时不需要的内存信息存储到硬盘,当我们需要的时候在从硬盘里面读出来。鼠标右键交换分区,选择swapoff。4、删除交换分区鼠标右键交换分区,然后选择delete5、扩展分区此处是扩展sda2,是将未分配空间合并到sda2上。6、新建交换分区大小为975m(可原创 2020-11-03 18:02:00 · 1662 阅读 · 0 评论 -
12、Ubuntu的安装
1、首先安装一个VMware2、然后去Ubuntu官网下载镜像,网址是这个desktop版本3、可以选择16.04或者18.04选择其中之一个(看自己需求)这个是运行在虚拟机上面的版本。4、打开VMware,进行如下配置。使用默认选项,下一步。稍后安装系统,下一步。选择LINUX,并且选择Ubuntu64位,下一步。此处默认即可,所以下一步,最后完成配置。浏览后按确定即可,然后就可以启动该虚拟机了。上面都是默认下一步。安装完成后系统的显示页面会很小原创 2020-11-03 10:00:21 · 233 阅读 · 0 评论 -
11、高级IO
此文编写参考朱有鹏老师的视频教程和《Linux/UNIX系统编程手册》(作者:(德)Michael Kerrisk)一、阻塞式IO的困境(1)常见的阻塞:wait、pause、sleep等函数;read或write某些文件时(2)阻塞式的好处阻塞式的方法是有好处的,如父进程中替子进程收尸的时候,他不知道什么时候子进程才死亡,所以它就在那阻塞住了,同时将CPU交给其他进程使用,提高CPU的工作效率,但是有时候它也有它的缺点,如下例程所示:#include <stdio.h>#inclu原创 2020-09-10 10:54:06 · 85 阅读 · 0 评论 -
10、信号
此文编写参考朱有鹏老师的视频课程和《嵌入式Linux系统编程》(该书作者为秦立春、周中孝)一、信号由谁产生,产生后怎么处理1、产生信号是进程在运行过程中,由自身产生或由进程外部发过来的消息(事件),是硬件中断的软件模拟(软中断),它是UNIX进程通信最古老的方法。信号的生成来自内核,让内核生成信号的请求来自3个地方。用户:用户能够通过输入Ctrl+C、Ctrl+\,或是终端驱动程序分配给信号控制字符的其他任何键来请求内核产生信号;内核:当进程执行出错时,内核会给进程发送一个信号,例如,非法段存取(原创 2020-09-08 08:27:29 · 107 阅读 · 0 评论 -
9、进程
一、程序的开始和结束1、main函数由谁调用(1)编译链接时的引导代码。操作系统下的应用程序其实在main执行前也需要先执行一段引导代码才能去执行main,我们写应用程序时不用考虑引导代码的问题,编译连接时(准确说是连接时)由链接器将编译器中事先准备好的引导代码给连接进去和我们的应用程序一起构成最终的可执行程序。(没有引导代码是不行的)(2)运行时的加载器。加载器是操作系统中的程序,当我们去执行一个程序时(譬如./a.out,譬如代码中用exec族函数来运行)加载器负责将这个程序加载到内存中去执行这个原创 2020-09-06 10:41:30 · 324 阅读 · 0 评论 -
8、获取系统信息
此文编写参考朱有鹏老师视频课程,错误之处,欢迎指正。一、关于时间的概念1、GMT时间(1)GMT是格林尼治时间,也就是格林尼治地区的当地之间。(2)GMT时间的意义?用格林尼治的当地时间作为全球国际时间,用以描述全球性的事件的时间,方便大家记忆。(3)一般为了方便,一个国家都统一使用一个当地时间。2、UTC时间(1)GMT时间是以前使用的,近些年来越来越多的使用UTC时间。(2)关于北京时间,可以参考:http://www.cnblogs.com/qiuyi21/archive/200原创 2020-09-01 15:14:25 · 216 阅读 · 0 评论 -
7、文件属性
一、linux中各种文件类型1、普通文件(- regular file)(1)文本文件。文件中的内容是由文本构成的,文本指的是ASCII码字符。文件里的内容本质上都是数字(不管什么文件内容本质上都是数字,因为计算机中本身就只有1和0),而文本文件中的数字本身应该被理解为这个数字对应的ASCII码。常见的.c文件, .h文件 .txt文件等都是文本文件。文本文件的好处就是可以被人轻松读懂和编写。所以说文本文件天生就是为人类发明的。(2)二进制文件。二进制文件中存储的本质上也是数字,只不过这些数字并不原创 2020-08-31 09:48:55 · 1169 阅读 · 0 评论 -
6、文件IO
一、什么是文件IOIO就是input/output,输入/输出。文件IO的意思就是读写文件。二、文件操作的主要接口APIopen、close、write、read、lseek(1)API是一些函数,这些函数是由linux系统提供支持的,由应用层程序来使用。(2)应用层程序通过调用API来调用操作系统中的各种功能,来干活。1、文件操作的一般步骤在linux系统中要操作一个文件,一般是先open打开一个文件,得到一个文件描述符,然后对文件进行读写操作(或其他操作),最后close关闭文件。原创 2020-08-27 20:05:26 · 1142 阅读 · 0 评论 -
5、工具使用
一、串口调试工具1、PuTTY2、MobaXterm这个软件很强大,这里先介绍其中的串口工具。小结:PuTTY中可以任意输入你想要的波特率,但是MobaXterm中只能选择默认提供的波特率。二、 SSH远程登录这里还是用MobaXterm软件。作用:在Windows下操作方便一点。三、ftp传输(文件互传)作用:方便两个系统中文件的互传...原创 2020-08-01 07:59:59 · 962 阅读 · 0 评论 -
4、给u盘做分区处理
主要使用的命令和思路首先得去卸载设备对应的挂载点,才能够对设备进行操作,可以先用df指令,查找设备对应的挂载点,然后再执行卸载命令卸载挂载点的命令:sudo umount [挂载点]对u盘进行格式化处理,删除原来所有的分区命令:sudo fdisk [指定设备]按照帮助去做对应处理,此处d为删除重新建立分区,并且设置每个分区的大小建立每个分区的文件系统下面是具体演示:...原创 2020-07-29 19:37:14 · 230 阅读 · 0 评论 -
3、Linux命令入门
此文都是引用他人链接linux命令入门1linux命令入门2linux命令入门3linux命令入门4原创 2020-07-27 20:23:19 · 185 阅读 · 0 评论 -
2、shell命令解析器和环境变量
1、什么是shell?shell是一个命令解释器,是用来解释命令的,或者说它是一个程序,它是我们和系统交互的一种工具,当我们在终端输入一系列的字符串时,shell会接收它们,并且再终端显示出来,当按回车键的时候,此时shell就会解析这些字符串,并且会去寻找和字符串对应的程序,最后执行程序,那么问题来了,要去哪里寻找呢?它会到一个默认的路径去寻找,那么这个默认路径又是由什么所决定的呢?它是由环境变量所决定的。那么问题又来了什么又是环境变量呢?2、什么是环境变量PATH说简单点就是一个字符串变量,当输入原创 2020-07-27 18:32:10 · 194 阅读 · 0 评论 -
1、linux系统的初步认识
此文编写参照《从实践中学嵌入式Linux操作系统》和申嵌视频讲解1、linux的由来linux是由unix发展而来的,简单来说,Linux是指一套免费使用和自由传播的类UNIX操作系统。人们通常所说的Linux是指Linus Torvalds所写的Linux操作系统内核。2、linux的内核版本和发行版本(1)什么是内核和发行版本内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件原创 2020-07-25 07:48:49 · 569 阅读 · 0 评论