Kendryte K210 官方标准SDK gc0328 摄像头驱动移植

絮叨两句

上一期Sipeed MAIX Dock K210开箱试用 中我们简单的试用了 Sipeed MAIX Docker K210 这个开发板,开发板配套的摄像头是gc0328,我们想用官方的标准SDK跑下里面的例程,但是发现里面的摄像头驱动都是ov2640或者其他ov系列的,看来偷不了懒了,得弄个驱动过来

移植思路

我这么懒当然是不可能自己写的,我们知道在MaixPy中是有gc0328的驱动的,那好了我们直接移植过来用不就行了吗,废话不多说,开整

我们浏览一下MaixPy的源码,找到gc0328相关的文件来简要的分析一下,我们发现在gc0328的代码中都调用了cambus_writebcambus_readb 的接口,这是他们封装的关于dvp和I2c的一个接口,I2c是用来配置摄像头的,那我们直接把gc0328.c 、gc0328.h 、 cambus.c 、cambus.h 提取出来,另外在cambus.c中还用到了sipeed_i2c.c中的i2c的接口,我们把sipeed_i2c.c sipeed_i2c.h 也拿出来

Kendryte K210 官方标准SDK gc0328 摄像头驱动移植_第1张图片
Kendryte K210 官方标准SDK gc0328 摄像头驱动移植_第2张图片

Kendryte K210 官方标准SDK gc0328 摄像头驱动移植_第3张图片
Kendryte K210 官方标准SDK gc0328 摄像头驱动移植_第4张图片

另外在MaixPy中摄像头被封装成了sensor,这个我们不需要,所以需要改造一下
Kendryte K210 官方标准SDK gc0328 摄像头驱动移植_第5张图片
其实就是去掉sensor相关的东西就行了

下面是在main函数中的调用

	//gc0328
	cambus_init(8, 2, 41, 40, 0, 0);

	int id = cambus_scan_gc0328();
	if (id == 0) {
		printf("[MAIX]: find gc3028\n");
	}

	gc0328_reset();

最后我把移植好的文件打包一下放出来,希望能帮到大家

百度云链接 提取码:8a3z

更多精彩内容欢迎关注小熊嵌入式
在这里插入图片描述

你可能感兴趣的:(AI,深度学习,机器学习,神经网络)