- 博客(19)
- 收藏
- 关注
原创 SOCKET配置
arm-linux-gnueabi-gcc TCPServer.c -o TCPServer.out 再用交叉编译,将.OUT文件放入arm板中。gcc -Wall -o TCPClient TCPClient.c 编译出来的文件放在PC端。3.启动qemu(挂载报错要先关闭客户端防火墙 systemctl stop firewalld)编译之前,将client.c中的ip设置为arm上的ip地址 10.0.0.2。1.将文件夹.h和.c文件放在同一路径下。4.启动client。
2023-12-10 14:51:46
154
1
原创 LVGL项目配置
squareline出现黑屏现象,要配置好路径即可在codeblock仿真出现sys文件找不到,因为系统自带mingw缺乏文件说明信息,要安装自带mingw的codeblocl安装包,安装包名字上面会有mingw,然后进入项目以后,在setting-compiler中设置mingw路径,该路径和刚安装的codeblock在同一路径下。在完成上述工作以后,可能仍然会出现很多没有定义的报错,注意将项目路径改成纯英文即可。逆天,找不到gcc.exe是因为路径太深了,将mingw的路径放短一点就可以用。
2023-12-04 10:56:14
136
原创 BOA配置
utm_id=0 基本上在mount之后按照这个来就可以。vi index.html 修改网页端。boa 启动boa 从pc端就可以访问了。修改compat.h文件,然后配置boa。vi boa.conf 修改文件。修改makefile。
2023-11-28 14:28:52
83
原创 linux内核编译
arch/arm/boot/dts/中可以找到需要的dtb文件vexpress-v2p-ca9.dtb。最后生成的zImage在linux-3.5/arch/arm/boot/下。注意:内核4.x以上需要dtb文件来启动,编译成功后,在子目录。3.1 编译zImage。安装新的交叉编译工具。
2023-11-21 19:50:19
431
原创 NFS文件共享系统linux搭建
注意可能回遇到ARM-LINUX-GCC找不到命令的情况参考。注意这个Zimage要直接用老师的文件导入,不然成功不了。虚拟SD卡文件也用老师的,直接导入。
2023-11-19 14:58:39
77
1
原创 OLED屏幕的配置
一个我觉得不是很好的方案,输出的效果很麻烦,HAL库一般就是一个c文件驱动,一个h头文件,一个font文件字库。oled.c#include "oled.h"#include "i2c.h"#include "oledfont.h" //头文件uint8_t CMD_Data[]={0xAE, 0x00, 0x10, 0x40, 0xB0, 0x81, 0xFF, 0xA1, 0xA6, 0xA8, 0x3F,0xC8, 0xD3, 0x00, 0xD5, 0x80,
2023-11-04 19:08:19
355
1
原创 CPU使用率统计
是此时 CPU 都很可能被其他任务在占用了,那么这个紧急事件就有可能无法被相应,即使能被相应,那么占用 CPU 的任务又处于等待状态,这种系统就是不够完美的。假设一个系统的 CPU 利用率经常在90%~100% 徘徊,那么系统就很少有空闲的时候,这时候突然有一些事情急需 CPU 的处理,但。用 30ms,然后空闲 60ms,再又是 A 任务占 10ms, B 任务占 30ms,空闲 60ms;内都是如此,那么这段时间内的利用率为 40%,因为整个系统中只有 40% 的时间是 CPU 处理数。
2023-10-31 16:35:11
187
1
原创 异常与中断
与中断相关的硬件可以划分为三类:外设、中断控制器、 CPU 本身。中断号:每个中断请求信号都会有特定的标志,使得计算机能够判断是哪个设备提出的中断请求,这个标志就是中断号。中断请求:“紧急事件”需向 CPU 提出申请,要求 CPU 暂停当前执行的任务,转而处理该“紧急事件”,这一申请过程称为中断请求中断优先级:为使系统能够及时响应并处理所有中断,系统根据中断时间的重要性和紧迫程度,将中断源分为若干个级别,称作中断优先级。
2023-10-25 10:19:18
61
1
原创 fre-内存管理
FreeRTOS 的内存管理模块通过对内存的申请、释放操作,来管理用户和系统对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统可能产生的内存碎片问题。Heap_2.c 方案支持释放申请的内存,但是它不能把相邻的两个小的内存块合成一个大的内存块,对于每次申请内存大小都比较固定的,这个方式是没有问题的,而对于每次申请并不是固定内存大小的则会造成内存碎片,后面要讲解的 heap_4.c 方案采用的内存管理算法能解决内存碎片的问题,可以把这些释放的相邻的小的内存块合并成一个大的内存块。
2023-10-22 14:45:28
76
1
原创 软件定时器
否则将定时器任务挂起,因为定时时间是升序插入软件定时器列表的,列表中第一个定时器的定时时间都还没到的话,那后面的定时器定时时间自然没到。软件定时器的所定时数值必须是这个节拍周期的整数倍,例如节拍周期是 10ms,那么上层软件定时器定时数值只能是 10ms, 20ms, 100ms 等,而不能取值为 15ms。软件定时器是由操作系统提供的一类系统接口,它构建在硬件定时器基础之上,使系统能够提供不受硬件定时器资源限制的定时器服务,它实现的功能与硬件定时器也是类似的。• ticks :软件定时器需要设置的时间。
2023-10-20 09:54:05
155
1
原创 事件基础学习
事件是一种实现任务间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输。与信号量的不同点:它可以实现一对多,多对多的同步。
2023-10-17 17:37:20
61
原创 互斥量学习
在很多场合中,某些资源只有一个,当低优先级任务正在占用该资源的时候,即便高优先级任务也只能乖乖的等待低优先级任务使用完该资源后释放资源。这里高优先级任务无法运行而低优先级任务可以运行的现象称为“优先级翻转”。
2023-10-16 16:36:55
63
1
原创 信号量知识点
抽象的来讲,信号量是一个非负整数,所有获取它的任务都会将该整数减一(获取它当然是为了。二值信号量获取,任何任务都可以从创建的二值信号量资源中获取一个二值信号量,获取成功则。计数信号量可以用于资源管理,允许多个任务获取信号量访问共享资源,但会限制任务的最大数。访问的任务数达到可支持的最大数目时,会阻塞其他试图获取该信号量的任务,直到有任务。• 0:表示没有积累下来的释放信号量操作,且有可能有在此信号量上阻塞的任务。这段时间,系统将任务变成阻塞态,任务将被挂到该信号量的阻塞等待列表中。
2023-10-16 15:47:38
151
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人