neovim
下载neovimgithub上点击wiki,选用最新的release版本下载
nvim配置文件使用命令
1: = vim.fn.stdpath('config')
放弃了
系统调用
1、系统调用号asmlinkageasmlinkage:asmlinkage 是 Linux 内核中用于定义系统调用的函数的修饰符。asmlinkage 表示该函数是内核函数,不能被用户空间程序调用。只从栈中获取参数,返回结果也只通过栈返回。在 Linux 系统中,每个系统调用都有一个唯一的系统调用号,用户空间程序通过这些系统调用号来请求内核执行特定的系统调用。不同的 Linux 内核版本和架构(如 x86、ARM 等)的系统调用号可能会有所不同。以下为你分别介绍常见架构下的部分系统调用及其系统调用号:
x86_64 架构在 x86_64 架构下,系统调用通过 syscall 指令发起,下面是一些常见系统调用及其系统调用号:
系统调用名
系统调用号
功能描述
read
0
从文件描述符读取数据
write
1
向文件描述符写入数据
open
2
打开文件或设备
close
3
关闭文件描述符
stat
4
获取文件状态信息
fstat
5
通过文件描述符获取文件状态信息
lstat
6
获取符号链接的状态信息
poll
7
等待文件描述符上的 I ...
进程
2、进程调度多任务系统有两种类型:抢占式多任务和非抢占式多任务系统。linux是抢占式内核。早期有非抢占式版本。进程调度有两种算法:O(1)和反转楼梯最后期限调度算法。O(1)算法:这个算法在交互式桌面上表现不佳,后来转为linux的交互式桌面提出了反转楼梯最后期限调度算法。进程可分为I/O消耗型和CPU消耗型进程。
2-1、程序调度优先级linux系统偏向于调度I/O消耗型进程,I/O消耗型进程的优先级比CPU消耗型进程高。但并不是忽略cpu消耗型进程。linux有设定两种优先级配置。一种时用nice值来设置优先级,优先级越大,nice值越小。范围是-20到19,-20是最高优先级,19是最低优先级。使用ps -el查看进程表,其中标记NI就是nice值。第二种是实时优先级,ps -eo pid,rtprio,comm命令可以查看实时优先级。这两个优先级相互不统筹。
2-2、时间片时间片会影响I/O消耗型和cpu消耗型。I/O消耗性不需要长时间片,cpu消耗型则越长越好,以增加高速缓冲的命中率。linux并不是直接分配时间片到进程,而 ...
AI人工智能深度学习-视觉基础
准备篇rk的sdk编译后,buildrootd的output生成了两个目录,alientek_rv1126存放的是文件系统镜像和交叉编译工具,而alientek_rv1126_recovery存放的是内核kerner,设备树dtb,ramdisk组成的根文件系统。alientek_rv1126的build中的文件是从buildroot中的dl中解压过去的。
rv1126进行学习
1、 图像相关知识点1-1、 RKAIQ宏定义 图像传感器获取的数据是raw数据,没有经过任何处理的图像数据。是光源信号转化为数字信号最原始的数据,如果raw图像没有经过任何的优化,没有经过任何的处理,是无法被人类查阅的。
raw数据是无损画质的图像,但是占的空间很大
1-2、文件系统分区文件系统可以使用ls /dev查看,文件分区分为用户层区和保存一些签名的,内核ubot相关的分区,在linux系统中可以采用以下的方式查看分区信息
12345678910111213141516171819202122一、查看设备节点 `ls /dev/`二、使用 ...
AI人工智能深度学习-正式篇
对与3568没有rkmedia但是有rockit
1、RK宏定义ips模块,有一些芯片内部是有isp模块,有的没有,例如imx6u,一种是编写软件转换,还有也可以找isp芯片。有的摄像头带有isp模块,如ov5640,有的不带im415,不带的无法直接出图。要使用isp,就需要加载rkaiq模块,aiq模块在cmake中定义。
12345if(USE_RKAIQ) find_package(RkAiq REQUIRED) include_directories(${RKAIQ_INCLUDE_DIRS}) add_definitions(-DRKAIQ)endif()
bayer raw 数据,raw数据,同一个意思,因为摄像头拍摄用到了拜耳阵列。拜耳格式有四种BGGR、RGGB、GBRG、GRBG四种。码流:简称视频流isp和ispp就是rkisp2.0模块摄像头拍摄到数据,利用iq文件进行初步调整,得到流到/dev/videoX。RKMedia的rga模块和linux-rga模块一样,是RKMedia去封装linux-rga ...
LC850项目
资料
提交配置环境: dev container :.devcontainer/devcontainer.json提交clone 代码提交脚本位置:0_Misc/mybuild.sh提交完整编译:./0_Misc/mybuild.sh提交清除所有编译:rm -rf buildroot/output/提交编译出来的固件在 IMAGE/提交模块化编译提交方法1 此方法只支持 app/ extern/ 目录提交./build.sh external/deviceio_release/ 先编译模块提交./0_Misc/mybuild.sh 再打包提交方法2 buildroot/package/app2-mqtt-uart/src/app2-mqtt-uart.c提交cd buildroot/output/rockchip_rk3568_uvc/提交make app2-m ...
mqtt
1、mqtt由来解决问题:1、服务器必须实现的千万客户端的接入。2、单次数据量比较小,但不能出错。3、必须能够是适应高延迟,断网等不可靠风险。4、根据数据的重要程度和特性,设置不同等级的服务质量。(QoS0、QoS1、QoS2三种)5、可以保持长连接。6、低功耗场合不适合。7、建立在tcp上,非常可靠。
1-1、关于第四条做说明
网络基础
下面出现代码均为c语言
1、计算机网络发展
最早的计算机网络是ARPA,但是最早的ARPA无法连接不同类型的计算机和不同的操作系统。
1-1、数据交换
通过标有地址的分组进行路由选择传输数据,使得通信通道仅在传送期间被占用的一种交换方式。
1-2、交换方式•交换的方式为存储转发,节点收到分组,先暂时存储下来,再检查它的头部,然后按照首部中的地址,找到合适的节点转发出去。
1-2-3、特点1、以分组作为传输单位。
2、独立选择转发路由。
3、逐段占用,动态分配传输带宽。
1-3、发展过程•从单个ARPA发展为tcp/ip的ARPAnei的标注协议。
2、英特网的结构2-1、三级结构英特网
•每个国家都有一个主干网,然后层级下发。
2-2、多级英特网
3、TCP/IP协议族3-1、分层结构•由来:主要是为了解决不同计算机之间和不同操作系统直接的差异,就进行分层,只需要保证某些层次是一样的,就可以进行通讯。
•最早的分层体系是osi开放系统互联模型,是由国际化标准组织(iso)指定,由于osi过于复杂,所以到现在也没有使用,而是使用的是TCP/IP协议族 ...
makefile语法
学习环境搭建Linux(以Ubuntu为例)1sudo apt install gcc g++ make
Windows学习与演示过程以Windows为主,Windows上装MinGW环境,MinGW官网: https://www.mingw-w64.org/之前我们提过两个版本的环境,MingW-W64-builds和w64devkit推荐使用w64devkit套件,里面工具比较齐全,还提供模拟了许多Linux命令,用这个套件环境来学习可以保持在Linux与Windows上Makefile书写方式一致。以下是w64devkit与其他包一些命令的区别
w64devkit(模拟Linux)
MingW-W64-builds或其他套件(Windows cmd命令)
make
mingw32-make
cc
gcc
rm
del
touch
ls
dir
sh
mv
cp
copy/xcopy
sed
学习材料make官方文档: https://www.gnu.org/software/make/manual/make.ht ...
shell语法
shell函数例子 start()和stop()就是函数
1234567891011121314151617181920212223242526272829303132333435363738394041#!/bin/sh## Start logging#SYSLOGD_ARGS=-nKLOGD_ARGS=-n[ -r /etc/default/logging ] && . /etc/default/loggingstart() { printf "Starting logging: " start-stop-daemon -b -S -q -m -p /var/run/syslogd.pid --exec /sbin/syslogd -- $SYSLOGD_ARGS start-stop-daemon -b -S -q -m -p /var/run/klogd.pid --exec /sbin/klogd -- $KLOGD_ARGS echo "OK" ...