- 博客(62)
- 资源 (2)
- 收藏
- 关注
原创 vscode ESP32配置
2: 定义组件如果引用指定外部依赖库,当前文件的cmakelists.txt 添加 REQUIRES driver。一、自定义文件组件使用xxxx.c xxxx.h。1: 控制端工程目录创建组件文件夹。
2025-02-15 22:40:03
541
原创 C语言的编译警告
3》变量定义的.h文件 #ifndef XXXXX_H_其他的文件有定义。最常见最不容易查的一个原因。2》变量定义的位置没有引用 #include “xxxxx.h”1》此变量没有声明。
2024-12-23 11:04:31
227
原创 Flash与Cache
3、SAM非常适合作缓冲存储器之用,一般情况下,缓存中数据的存储顺序与调用顺序相同(显卡中的缓存就是个很好的例子);2、cache是一个高速小容量的临时存储器,可以用高速的静态存储器芯片实现,而flash是没有高速静态存储器芯片的,所以cache较快。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,1、寄存器:CPU的内部组成单元,是CPU运算时取指令和数据的地方,速度很快。2、cache:缓存即就是用于暂时存放内存中的数据(TLB快表 )1、flash是只能读不能写的,
2024-09-29 18:54:41
423
转载 详解LMA(装载内存地址)与VMA(虚拟内存地址)
编译,简单说就是用编译工具,将你的源码,变成可以执行的二进制代码,也叫做目标文件,当然只是对应某一种硬件平台,比如此处我用的是Intel的X86系列的CPU,编译出来的,就是针对X86的二进制代码。而allocatable,可分配的,最简单理解就是上面提到的.bss段,那里记录了人名,到时候,你要给这些人名分配空间给你站的地方,对应着也就是变量所要占用的具体内存空间了。如果是普通PC电脑,也就是上面说的,大多数情况下,那么LMA和VMA是一样的,也就是,程序被加载到内存的什么地方,也就在什么地方运行。
2024-05-23 18:44:50
671
原创 软件无法安装---电脑win10之后盘序号乱码所致
the installer has encountered an unexpected error installing this package解决办法
2023-04-06 10:17:07
141
原创 svn指令的使用
1.提交时忽略指定文件:提交时忽略指定文件:1.进入编辑页面 svn propedit svn:ignore . # 最后这个.号,代表当前目录2.进入忽略的文件images # 图片目录cache # 缓存目录编辑完后,保存文件,退出vim。...
2022-05-11 18:19:13
125
原创 SQLite:内存数据库
一、内存数据库:在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递”:memory:”,如:代码如下:rc = sqlite3_open(“:memory:”, &db);在调用完以上函数后,不会有任何磁盘文件被生成,取而代之的是,一个新的数据库在纯内存中被成功创建了。由于没有持久化,该数据库在当前数据库连接被关闭后就会立刻消失。需要注意的是,尽管多个数据库连接
2022-04-28 09:45:22
6972
1
原创 esp32编译出错
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/H201/tcpHeartBeatPro.c.objninja: build stopped: subcommand failed.ninja failed with exit code 1
2022-04-27 10:49:14
4124
原创 域名解析失败
ping www.baidu.com: 域名解析暂时失败临时解决方法重启网卡 systemctl restart NetworkManager.service 再 ping www.baidu.com
2022-03-17 20:55:54
1570
转载 Ubuntu添加开机自动启动程序的方法
详细链接一、Ubuntu添加开机自动启动程序的方法开机启动时自动运行程序Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在/etc/rc或/etc/rc.d 或/etc/rc?.d目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.d/rc.local 文件(该文件通常是系统最后启动的脚本),在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-
2022-03-10 19:59:53
9190
原创 linux指令介绍
prefix:命令编译源码时把编译生成的所有文件放到指定目录。详细介绍链接举例:把编译生成的可执行文件,动态链接库,源文件放到指定路径 ./configure–prefix=/home/zyz/test
2022-03-03 11:22:15
878
转载 linux c分层的做法API
关于linux软件分成,c分层的做法,软件复用的笔记和记录在写程序中,软件分层复用是非常必要的,学了那么久的linux驱动,深受启发,看了老大写的lktxxx的源码,也是用到了分层,于是,决定总结一下,c语言普通程序或者驱动的分层如何做,简单记录一下,如何使用分层,如何软件分层:头文件中定义结构体, 结构体定义了各个函数的形式,里面全是函数指针,与底层的接口函数文件要对应上啊:typedef struct{void (*reset)(void);//记住,里面是各个函数指针,对应底层文件
2022-02-22 13:37:26
147
转载 stm32输出比较 定时器
通用定时器使用PWM模式产生PWM波,但是到最后我们总结出了一个缺点:PWM模式同一定时器中,不同的通道下,输出的频率固定,占空比可变。也就是说在初始化时频率设置成多少,那么在这个定时器下的各个通道产生个PWM波频率也是相同的。那么如果想各个通道产生的PWM频率不同,占空比也不同,那我们就需要借助一个通用定时器的输出比较模式了。详细解释代码————————————————版权声明:本文为优快云博主「fei…」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.
2022-02-20 17:02:04
674
转载 socket中read与recv区别
1、read 与 recv 区别 read 原则:数据在不超过指定的长度的时候有多少读多少,没有数据则会一直等待。所以一般情况下:我们读取数据都需要采用循环读的方式读取数据,因为一次read 完毕不能保证读到我们需要长度的数 据,read完一次需要判断读到的数据长度再决定是否还需要再次读取。recv 原则:recv 中有一个MSG_WAITALL 的参数:recv(sockfd, buff, buff_size, MSG_WAITALL),正常情况下recv 是会等待直到读取到b
2022-02-18 14:23:43
1484
STM32F103RCT6原理图封装.rar
2019-05-24
STM32F103RBT6原理图封装.rar
2019-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人