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 ...
模型训练
准备中
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" ...
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协议族 ...
linuxC
1 、系统调用和库函数1-1 、库函数由两类函数组成
1、不需要调用系统调用,不需要切换到内核空间即可完成函数的全部功能,并且将结果反馈给应用程序,如strcpy、bzero等字符串操作函数。
2、需要调用系统调用,需要切换到内核空间,这类函数通过封装的系统调用去实现相应的功能,如printf、fread等
1-2、系统调用与库函数的关系
并不是所有系统调用都被封装成为库函数,
系统提供的很多功能必须通过系统调用才能实现。
也就是大部分的库函数都是由系统调用封装而来。
只不过库函数拥有缓冲区,
减少了系统调用的次数
1-2-1、系统调用特点
系统调用是需要时间的,
频繁的系统调用会降低程序的运行效率。
当运行内核代码时,
cpu工作在内核态,
在系统调用发生前需要保存用户态的栈和内存环境,
然后转入内核态工作。
结束调用后又返回用户态。
1-2-2、库函数的好处
库函数访问文件的时候需要根据需要设置不同类型的缓存区,
从而减少了直接调用io系统调用
的次数,
提高了访问的效率。
如:应用程序调用printf时,如下图
1、进程当一个系统启动后,会先 ...
无题
1、拿到源码编译测试
1、下载源码
2、编译123456#!/bin/bashpath="/home/ygc/Desktop/linux-gcc/2021-6ull/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin"make ARCH=arm CROSS_COMPILE=${path}/arm-none-linux-gnueabihf- distcleanmake ARCH=arm CROSS_COMPILE=${path}/arm-none-linux-gnueabihf- imx_v7_defconfigmake ARCH=arm CROSS_COMPILE=${path}/arm-none-linux-gnueabihf- menuconfigmake ARCH=arm CROSS_COMPILE=${path}/arm-none-linux-gnueabihf- all -j16
测试编译。链接文件在arch ...