07 2023 档案
摘要:又来分析udp,目标是从v831中获取到的图片信息发送给t113然后再屏幕上显示出来 挫折一 t113作为服务端,再接收到客户端发来的数据后会自动设置clinetaddr,那么我们就不再需要取从新aton这个ip地址了,直接使用clientaddr int udp_send(void) { // i
阅读全文
摘要:没错,自从把ubuntu搞坏之后无奈把之前的例程全删了,因此所有的笔记都没了,又得从新分析一遍 main函数 先从最简单的main分析 此函数主要创建一个屏幕句柄用来显示,然后调用nn_test来开始yolov2的操作,并且传入画布,显示等都在里面操作,最后跳出来后摧毁屏幕 nn_test函数 此函
阅读全文
摘要:学了一遍又学回来了,整理整理v831的环境吧 头文件 这些头文件上面部分是在python里面在编译成可执行文件之前会创造出来的,不用理他 下面则是components里面的,需要在.vscode里面设置一下路径 这样基本上就可以了,其他的我们不再vscode里面一键操作,就不设置了 工具链路径 工具
阅读全文
摘要:本来今天是要结合udp的例子传输数据的,但是被一个数学逻辑搞了半天,记录一下避坑吧。 代码 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include "linux/fb.h"
阅读全文
摘要:之前学习了tcp发送数据,但是效果很不理想,那么试一下用udp会怎么样,学习一下udp是怎么用用的吧 看例子 例子是在百问网下载的, server client 这个有点奇怪,有点看不懂 #include <sys/types.h> /* See NOTES */ #include <sys/soc
阅读全文
摘要:屏幕到了,之前的屏幕不知道哪步出错,一直点不亮,白瞎了160块钱。。。。 那么,学一下framebuffer吧 framebuffer介绍 这张图介绍的很清楚 使用的api 1.open 2.mmap 3.ioctl 前两个都学了,那么这个ioctl到底是什么呢 原链接在这 ioctl的概念 也就是
阅读全文
摘要:注意,此贴只是记录学习所得,并不是教程本人的帖子 项目中会有很多cmake嵌套使用的情况 总分式嵌套 cmake的父子关系 注意的式父节点的定义可以在子节点中使用,儿子节点只能在自身使用,称为继承 1.顶层cmake的寻找方法 add_subdirectory(子节点对应文件目录 、、),其中只有第
阅读全文
摘要:cmake的宏定义学习 cmake的宏定义是用来添加c文件中的ifdef的, 宏定义添加方法 1.在编译的时候添加,如上图所示,注意要-D作为标注 2.add_definitions 若要定义多个宏,可以宏和宏之间用空格,或者换行写
阅读全文
摘要:了解全志sdk下的spi 设备树 在总的设备树中设置有base地址和寄存器长度,尽管实际的长度并么有那么大 在board.dts也有对spi做描述,但这个描述是描述所用io引脚、频率、时钟源等,不做详细 make menuconfig 如果想要使用sunxi平台所指定的spi驱动,那么要勾选(如果未
阅读全文
摘要:既然已经学会了调用驱动,那么接下来简单点个灯 查看led所在寄存器 我板子的led所控制的是pd22,所在寄存器应该是0x02000098 然而这和我在设备树上找到的地址有出入,很奇怪,那就不管这个了自己添加一个吧。 自己在board.dts上加一个ledio: 我们看见这里有个&pio,而pio又
阅读全文
摘要:我们以pwm为例 编写程序 1.首先编写出入口函数 // #include "linux/module.h" // #include "linux/fs.h" // //#include "linux/stddef.h" // #include "linux/types.h" // //#inclu
阅读全文
摘要:整个代码 // #include "linux/module.h" // #include "linux/fs.h" // //#include "linux/stddef.h" // #include "linux/types.h" // //#include "crypto/if_alg.h"
阅读全文
摘要:那么既然ko的驱动已经可以运行,那么我们来写几个简单的操作设备树的内核驱动 字符型设备驱动和应用层 这俩种代码是分开的,设备驱动调用的是内核的地址,而应用层则是相当于虚拟地址,所以应用层传递参数的时候不能直接付给指针,要调用相对于的参数 内核->驱动->应用 驱动的编写 找到sdk内的例程,按照例程
阅读全文
摘要:第三次尝试 经过demsg的查看,原来是内核版本不对的原因,因此我们需要根据韦东山老师的教程换一次内核 经过不懈努力,好像过程很容易,但在最后栽了跟头 boot区挂载失败,这怎么办呀 并没有重复挂载 查看mmcblk0 分区的映射 解决 经过从新编译一次内核,使用更新过的工具链编译ko文件后,惊讶的
阅读全文
摘要:记录: tina的include文件在:/home/momo/T113/Tina-Linux/lichee/linux-5.4/include 驱动文件:/home/momo/T113/Tina-Linux/lichee/linux-5.4/drivers 而设备树文件在:/home/momo/T1
阅读全文
摘要:dts的makefile 我们来到dts的makefile查看一下我们的板子所编译的代码,此代码表示如果sun8iw20就添加生成board.dtb,可能是因为这个变量还有其他参数吧所以用+= 对于cell的更新补充 其实这款i的cells都是指用多少位来表示地址和大小,并且单位是bytes dts
阅读全文
摘要:参考链接: 参考1:韦东山教学 dtsi--寻找共有设备描述: 寻找路径 经过source和lunch,可以看到输出使用的设备为 因此,我们可以用cdts来快速定位设备树所在文件。 我们打开此dtsi文件之后可以发现包含了大量的.h文件,猜测是内核启动的驱动文件 我们使用全局搜索将dt-bingdi
阅读全文
摘要:由于tina的环境需求是openssl1.1.0i,所以openssl的环境必须小于等于1.1.0 但是18.04.6lts的ubuntu装的也是1.1.1,因此我们要把环境回退到1.1.0(经测试。Ubuntu20.04.6lts没有1.1.0) 回退 查看是openssl的版本 openssl
阅读全文
摘要:此篇对于网上搜寻的t113内核编译的整合篇: 参考链接: 芒果派 百问网 百问网是不能操作文件系统的,即是只读模式。 芒果派也多多少少有很多的问题。 下载与解压: 这里以芒果派为例子,我是用百度盘下载的,git国内的网实在是更新不了。 更新之后按照要求解压 tar xvzf Tinna.. 然后进入
阅读全文