发帖
24 0 1

AIPI_CAM_D200出厂例程编译

ageek
注册会员

1

主题

8

回帖

75

积分

注册会员

积分
75
小安派·Cam-D200 2688 24 2024-3-14 15:53:54
1710402224745.jpg

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

──── 0人觉得很赞 ────

使用道具 举报

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。
2024-3-14 16:13:02
烧录后能找到wifi热点了,连接之后输入ip却无法显示画面 0ad427676329239b90e46f04f137978.jpg ,串口日志如下。 1710403702961.jpg 1710403815693.jpg
2024-3-14 16:19:11
烧录回官网给编译好的旧固件AiPi_cam_dvp200.bin,能显示画面了虽然时不时卡住,但是这个例程源码编译出来的固件没有画面。
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中断来执行数据获取,不知道这个函数是否有被正确调用和执行,尝试一些添加日志调试看看。
2024-3-14 16:55:42
添加日志printf打印,发现没有打印输出,可以确定mjpeg_isr函数没有被调用,也就是队列的图像帧数据并没有被发送,应该是这个原因所以接收失败。 1710406400689.jpg
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
2024-3-15 08:36:17
新固件在另外一个分支好像是
您需要登录后才可以回帖 立即登录
高级模式
123下一页
统计信息
  • 会员数: 28811 个
  • 话题数: 41168 篇