自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 Makefile的使用

在Linux中使用 make 命令来编译程序,特别是大程序;而 make 命令所执行的动作 依赖于 Makefile 文件。以下是最简单的Makefile文件:首先,包含如下文件:Makefile文件内容如下所示:然后,直接执行 make 命令编译程序:执行 make clean 命令 即可清除编译出来的结果:make命令 根据文件更新的时间戳来决定哪些文件需要重新编译,这使得可以避免已经编译过的、没有变化的程序,可以大大提高编译效率。

2023-12-19 16:41:22 1405 2

原创 Linux驱动开发一

* 参数释义 */name:变量的名字type:变量或数组元素的类型nump:数组元素个数的指针,可选。默认写NULL。perm:在 sysfs 文件系统中对应的文件的权限属性,决定哪些用户能够传递哪些参数,如果该用户权限过低,则无法通过命令行传递参数给该内核模块。

2023-12-08 16:17:27 1212

原创 Linux操作系统一

假设,我们现在正在做一家外包公司,我们的目标是把这家公司做上市。其中,操作系统就是这家外包公司的老板。我们可以把这家公司的发展阶段分为以下几个阶段:(1)我们的老板(操作系统)基于现在存在的开放的X86体系结构),创办一家外包公司(系统的启动因为一开始没有其他员工,老板需要亲自接项目(实模式(2)公司慢慢的越做越大,保护模式、多线程),为了管理各个外包项目,公司建立了进程管理)、内存管理)、文件系统)、输入输出设备管理(3)公司越来越牛,开始促进进程间通信)和网络通信。

2023-12-07 19:48:16 991

原创 香橙派(orangePiZero2)二:驱动开发,编写代码控制IO口的电平高低

去官网下载芯片手册,查看手册。1、从芯片手册可以看到,GPIO的基地址(0x0300B000)2、从芯片手册上可以看到PC 的偏移量(0x0048)GPIOx 的地址就是GPIO基地址 + GPIOx的偏移量,所以 GPIOPC 的地址为: 0x0300B000 + 0x0048 = 0x0300B048。3、找到我们需要修改控制的端口信息:4、通过手册,去了解如何去操作GPIO的数据位:如果将端口配置为输入或者输出,那么引脚的状态就与相应的位相同。读取的位值是由软件设置的值。

2023-11-11 01:12:00 1733 3

原创 香橙派(orangePiZero2):交叉编译、内核编译及驱动开发

Linux的交叉编译、内核编译、内核移植、驱动编译详解。同时,也欢迎大家对我哪里表述不对的地方提出指正,谢谢!!关注我,可看更多资源!!

2023-11-07 02:19:15 4966 1

原创 安卓开发笔记三:安卓布局分类及布局和页面的关系

1、布局种类2、布局和页面关系3、布局背景颜色,背景图4、常用布局之相对布局5、常用布局之线性布局6、相对布局属性有哪些7、线性布局属性有哪些8、做出一个智能家居布局图(新大陆2016年物联网国赛题目)

2023-10-31 12:28:16 111

原创 安卓开发笔记二:安卓工程结构介绍+安卓APP启动过程简述

1、src: 存放java代码的,有包,有文件(src文件夹是我们经常会用到的文件夹2、gen: 存放自动生成的文件,关心是R.java, 程序页面,按键,文本等空间的ID3、Android:4.4: 存放安卓开发的一些库,供开发者调用4、asserts: 存放一些资源,配置文件,图片5、bin: 编译后会生成的一些文件,包括我们关心的apk6、lib: 依赖库7、res:(1)drawable:存放app程序要用到的一些图片(按照分辨率存放,如高分辨率、低分辨率等)(2)

2023-10-31 09:59:21 420

原创 C++七:类的继承

/定义一个动物类,包含 年龄和颜色,通过动物类,//派生出 猫类 和 狗类,再设计它们特有的功能接口。//设计基类(父类)private:int age;//年龄//颜色//派生出 猫类 派生类(子类)public://派生出 狗类 派生类(子类)public:int main()Cat c;Dog d;return 0;//设计基类(父类)//角色类class Roleprotected://获取属性接口。

2023-10-30 17:52:37 439

原创 eclipse 无法识别 夜神模拟器的手机设备,报错。Please select a target device.

Automatic Target Mode: Unable to detect device compatibility. Please select a target device.相关解决方法。

2023-10-29 02:01:44 375

原创 安卓开发笔记一:构建第一个安卓程序运行

会弹出如下对话框:点击next,跳转到如下界面:next之后,如下所示:next之后,如下:作为学习,我们默认选空的即可,next之后,如下所示:

2023-10-28 22:02:33 170

原创 32位/64位电脑安装eclipse安卓环境,无需自己搭建,直接可用教程!!

关注我,可看更多学习资料呦,一起加油进步!!!

2023-10-28 19:14:18 508

原创 C++练习一

关注我,可看一些粉丝才能看的学习资源噢!!

2023-10-25 02:01:50 57

原创 C++六:析构函数

关注,可看更多学习资源博客

2023-10-23 18:46:11 498

原创 C++五:构造函数

当用户设计构造函数后,应该添加一个无参构造函数,防止对象构造失败。

2023-10-22 00:22:37 135

原创 C++三:引用使用+函数重载

1.引用必须初始化。intta;//错误的 ,取别名必须要有目标2.引用初始化后不能修改。3.对常量引用必须添加constconstintca100;4.引用的类型必须匹配floatc3.14;intycc;//错误的,引用的类型不匹配。

2023-10-18 01:39:01 54

原创 C++二:命名空间的使用+new动态内存+引用定义

语法:namespace空间名函数返回值 函数名参数列表//函数的主体//例子:在FUN空间中定义一个add函数namespaceFUNintaddintaintbreturnab;intjianintaintbintFUN::jianintaintb//暴露std命名空间return a+b;//在空间中声明函数//在空间外定义函数return a-b;//暴露命名空间int main()

2023-10-17 21:04:21 76

原创 C++:输入输出--命名空间

namespace 空间名//变量名,函数...//例子int a;float b;

2023-10-13 20:24:28 42

原创 使用wget命令提示错误:无法验证 xxx 的由 “/C=US/O=Let‘s Encrypt/CN=R3” 颁发的证书

今天,在使用wget去安装openssl时遇到的一个奇怪的问题,提示ssl证书出现问题

2023-09-21 19:03:15 888

原创 网络编程四:UDP广播+UDP组播

单播:数据包发送方式只有一个接受方广播:同时发给局域网中的所有主机。

2023-09-16 18:39:43 843 1

原创 网络编程三:多路复用+信号驱动

就是预先把需要监听的文件描述符加入到一个集合中,然后在规定的时间内 或者 无限时间阻塞等待。如果在规定的时间内,集合中文件描述符没有数据变化,则说明超时接收,会进入下一次规定的时间内再次等待。一旦集合中的文件描述符有数据变化,则其他没有数据变化的文件描述符就会被踢除到集合之外,并且会再次进入下一次的等待状态。

2023-09-16 18:27:50 100 1

原创 网络编程二:UDP通信过程+非阻塞IO属性

1、UDP协议中由于不需要连接,所以不能使用accept/connect函数。2、UDP中是如何知道对方的地址???

2023-09-16 18:12:34 953 1

原创 网络编程一:网络体系结构+socket概念+TCP通信过程

1、管道无名管道 (只能作用于亲缘间进程通信) ----pipe write read有名管道 (系统中任意两个进程) -----mkfifo2、信号发送信号 ---kill捕捉信号----signal3、IPC对象消息队列 ----带有数据标识的特殊管道 ftok() msgget msgsnd msgrcv msgctl共享内存 ----双方进程 可以同时 对一片内存进行读写 ftok shmget shmat shmdt。

2023-09-16 17:30:32 204 1

原创 系统编程八:线程池

线程池就是多个线程组合起来的一个集合,就好像一家公司,由多个员工组成的一个集合。当有任务时,这些线程就会去处理这些任务,当没有任务时,线程就会休息。

2023-09-16 17:09:52 85 1

原创 系统编程七:线程同步互斥+读写锁+条件变量

线程因为某一个条件/情况不成立下,进入一个变量中等待,这个存放线程的变量就是条件变量。条件变量必须跟互斥锁一起使用。

2023-09-16 12:31:51 102 1

原创 系统编程六:线程同步互斥+有名信号量+无名信号+互斥锁

同步互斥 就是使得线程处理任务时有先后顺序,为了防止线程资源被抢占的问题。有名信号量 跟 信号量非常相似,信号量的值只能是 0/1,但是有名信号量的值可以是 0~正无穷。信号量 使用了 空间 + 数据 ,有名信号量 只是使用了数据来处理。互斥锁 是专门 用于处理线程互斥的一种方式,它有两种状态: 上锁状态/解锁状态。特点:如果互斥锁处于上锁状态,那么再上锁就会造成阻塞,直到这把锁解开之后,才能上锁。解锁状态依然可以解锁,不会阻塞。

2023-09-15 20:05:48 92

原创 系统编程五:线程概念+线程属性

首先分离属性 是线程的一个其中属性,有了分离属性的线程,不需要别的线程去接合(阻塞等待回收)自己但是虽然说 是分离,但是进程退出了,该线程还是要退出。分离属性线程 ----》不需要 pthread_join非分离属性线程---》需要 pthread_join --》默认创建的普通属性 线程 就是 非分离 线程。

2023-09-15 18:44:30 91

原创 系统编程四:消息队列+共享内存+信号量

信号量也是属于 IPC对象,所以使用信号量之前必须先申请key值。信号量 不是用于 进程之间的通信,主要用来协调两个进程之间的资源分配。

2023-09-14 19:23:33 181 1

原创 系统编程三:信号处理+信号阻塞属性

信号集是一个集合,这个集合中每个成员都是 信号,通过将信号加入到信号集中,再设置阻塞状态给信号集,那么整个信号集中里面所有的信号都会变成阻塞的状态。类似定义一个数组 ,存储 里面要阻塞的多个信号信号集 数据类型 sigset_t比如 定义一个信号集变量 sigset_t set;//清空信号集//将Linux下的所有的信号都加入到信号集中set//在指定的信号集set中,添加一个指定的信号signum到集合中//在指定的信号集set中,从集合中删除一个指定的信号signum。

2023-09-14 18:54:37 78 1

原创 系统编程二:vfork+exec+进程通信方式管道+信号

无名管道 只能作用于 亲缘之间的进程通信,无名管道相当于一个队列结构,fd[1]为写入端(入队),fd[0]为读出端(出队)。其中信息读出后即删除,再次读取时即为下一个信息。有名管道文件 是 一个有名字的管道文件。因为在linux下,所有的进程都是可以看到这个文件,所以有名管道作用的范围 是整个linux系统中任意的两个进程。

2023-09-14 18:32:55 160 1

原创 文件IO编程五:调试输出到文本+目录操作

想个办法: 实现 每一次打开软件时,log.txt是从头记录的将这个初始化调试文本函数放在main函数中初始化,即可。

2023-09-03 18:55:44 99

原创 bmp图片编程一

任务:在开发板上显示一张800*480的24位的bmp图片。

2023-09-01 21:30:19 374

原创 如何下载文件到开发板中?

(1)先确认你要下载哪个文件,这个文件要存在于window上比如:我们要下载电脑中的 hello.txt 到开发板中(2)确保串口连接正常(3)使用开发板中系统自带的下载器 rx在CRT软件中,使用命令进行下载:rx + 你要下载的文件名[root@GEC6818 ~/wsm/homework]#rx hello.txt + 回车接着在菜单栏中 《传输》—> 点击发送Xmodem —> 弹出文件选择窗口,选择你要下载的hello.txt文件。

2023-08-31 22:05:11 1376 2

原创 文件IO编程四:标准IO

1、经常使用的标准IO接口:2、对于不经常用到的接口,也要自己操作几次,建议使用 上面这些。

2023-08-30 19:36:28 54 1

原创 文件IO编程三:系统IO应用实例+标准IO

w+ 以可读可写的方式打开文件. 如果文件不存在则创建,如果存在则清空.文件光标在开头。r 以可读的方式打开文件. 文件光标在开头,文件必须要存在,如果不存在会返回失败。r+ 以可读可写的方式打开文件,文件光标在开头,文件必须要存在,如果不存在会返回失败。w 以可写的方式打开文件,如果文件不存在则创建,如果存在则清空. 文件光标在开头。a+ 以追加的方式打开文件(可读可写). 如果文件不存在则创建. 文件光标在末尾。// 以文本的方式打开文件。

2023-08-30 18:37:59 172

原创 系统编程一:进程的概念+进程API

进程结束的时候,就会从运行变成 僵尸态,所谓的僵尸态,就是代表这个进程所占用的CPU资源和自己本身。任务结构体没有被释放,这个状态的进程就是僵尸态进程。

2023-08-29 14:12:47 129

原创 文件IO编程二:系统IO应用实例

文件偏移量就是文件当前的定位,默认打开文件的时候,文件的定位(文件的光标位置)都是在开头的。

2023-08-25 23:52:47 299 1

原创 文件IO编程一:文件概念及系统IO

IO ---》inoput / output -->输入和输出所谓的文件IO ---》对文件数据的输入和输出 ---》将数据写入到文件(输入) 从文件中读取数据出来(输出)文件描述符fd是open函数的返回值,当open()函数执行成功后,就会返回 一个非负、最小的、没有使用过的整数。如:结论:将来处理文件时,我们不需要提供文件的名字,只需要提供文件对应的文件描述符即可。

2023-08-24 23:45:31 109 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除