AIPI_CAM_D200出厂例程编译

[复制链接]
查看1540 | 回复23 | 2024-3-14 15:53:54 | 显示全部楼层 |阅读模式
1710402224745.jpg

AiPi-Open-Kits\AiPi-Cam的readme是说连接wifi然后浏览器进入IP地址查看摄像头的,现在编译好了有好多个.bin要烧录哪一个?为什么我烧录了image_transmission_bl616.bin之后wifi热点都没出现,难道生成的固件不是这个bin还是说要把这些bin逐个烧录才行?

回复

使用道具 举报

ageek | 2024-3-14 16:06:30 | 显示全部楼层
研究了一下readme,从Makefile找到了project.bulid的flash:build
        $(command_flash)
        cp $(BL_SDK_BASE)/tools/bflb_tools/bouffalo_flash_cube/chips/bl616/img_create/whole_flash_data.bin build/build_out/ ,原来还需要执行一下make flash才会生成bin,我以为make之后就生成固件了然后准备使用bouffalolabdevcube工具来烧录固件,以为下面这个make flash指令是烧录的,原来需要执行makeflash最后才能生成whole_flash_data.bin。
回复 支持 反对

使用道具 举报

ageek | 2024-3-14 16:13:02 | 显示全部楼层
烧录后能找到wifi热点了,连接之后输入ip却无法显示画面 0ad427676329239b90e46f04f137978.jpg ,串口日志如下。 1710403702961.jpg 1710403815693.jpg
回复 支持 反对

使用道具 举报

ageek | 2024-3-14 16:19:11 | 显示全部楼层
烧录回官网给编译好的旧固件AiPi_cam_dvp200.bin,能显示画面了虽然时不时卡住,但是这个例程源码编译出来的固件没有画面。
回复 支持 反对

使用道具 举报

ageek | 2024-3-14 16:49:27 | 显示全部楼层
查看源码 1710405439597.jpg ,mjpeg_frame_pop timeout!是因为jpeg_frame_queue队列的接收超时了,尝试添加等待时间timeout失败,队列接收失败有很多原因,搜索了一下这个队列,先看看发送这边是不是正常,源码的队列发送都在jpeg_frame_push函数中,这个函数在mjpeg_isr函数和usbh_video_one_frame_callback_mjpeg(函数中被调用,应该是mjpeg_isr函数才是例程所用到的,这个函数是个被注册的中断服务函数,应该是摄像头完成jpg编码后通过接口的io中断来执行数据获取,不知道这个函数是否有被正确调用和执行,尝试一些添加日志调试看看。
回复 支持 反对

使用道具 举报

ageek | 2024-3-14 16:55:42 | 显示全部楼层
添加日志printf打印,发现没有打印输出,可以确定mjpeg_isr函数没有被调用,也就是队列的图像帧数据并没有被发送,应该是这个原因所以接收失败。 1710406400689.jpg
回复 支持 反对

使用道具 举报

ageek | 2024-3-14 17:04:30 | 显示全部楼层
仔细,查看日志mjpeg_init有被执行,中断有注册,所以是没触发中断,日志内有一个“Error! Can't identify sensor!”在dvp_cam_init执行i2c0的图像传感器扫描失败了?但是使用其他固件能显示画面所以不是硬件没接好,是驱动这里有问题。
回复 支持 反对

使用道具 举报

曹县 | 2024-3-14 17:14:21 | 显示全部楼层
回复

使用道具 举报

曹县 | 2024-3-14 18:22:40 | 显示全部楼层
回复

使用道具 举报

WT_0213 | 2024-3-15 08:36:17 | 显示全部楼层
新固件在另外一个分支好像是
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则