[原创] 【OpenmvDIY】人生苦短,我用Micropython-----怼上openmv(记掉过的坑)

RCSN   2017-10-20 23:43 楼主
      就如free叔叔说的那样,单纯仿一个东西就太easy了,能搞清楚设计思路,以及掉过的坑等,解决这些问题,才是对自己的一个提高。于是,才有了这个帖子。这个帖子说实话,水起来,会水的很长,不管硬件还是软件的。但是实在夜也快长了,就慢慢挖坑吧。在这里,利用周末的时间,写完这个坑。那么就用时间的角度来写吧。      其实那时候我没想过说要打板,想着便宜的话直接入块就好了,但是去看了下,价格实在太高了。所以就想着自己DIY了。所以就有了下面的图。打了三次板子,花的钱比买一次正版的还贵了。但是我想着这玩意,说好玩真的好玩,说没意义真没意义,就是感觉小车拉大货。但实际还是学到了很多,所以也就弄起了这个活动。
合照.png
      首先就来说第一坑吧。第一版的时候买的芯片买错了,但是F7实在太辣鸡贵了。买的芯片flash是1M,官方的固件1.2M。尴尬了,但是还是不怂,先怼进去再说吧。开始用jflash下载死活都连接不进去,尼玛,能不能不要这么坑爹,还没玩就开始被日。就像下图,一开始以为是芯片问题,后来去看了下原理图,尼玛抄sch抄到没底线,官方的复位电路没接电容,好了,怼了上个电容,连接上去,但是会提示固件超出地址,还是没法下载。
jlink下载.png
       于是最后还是转到了linux试试下载代码,固件可以烧录进去,但是会提示固件超出flash地址的没法下载。相当于阉割了。
扇区.png
      然后就怼进去了,发现有些python例程,比如物体移动识别等缺少库没法运行,就可以知道剩下的那些基本是加载算法库的。好在于阉割版版的把解析器编译器和外设等已经加载进去了,基本的还是可以怼。
      但是我还是想知道图像识别这块到底占用了多少空间,我想到了单独运行micropython部分的代码,然后慢慢再加我想要的识别库。但是我又掉了第二坑。
      第二坑1.png   

      2.png
       原本我以为自带的Mircopython部分的代码,直接make就行了,因为里面的board有openmv的文件夹,这样可以直接单独生成mpy的固件。但是我还是错了。make下去一堆错误,我也忘了,因为还要牵制到mv的摄像头驱动,LCD驱动等,还有图像库,所以Mpy部分跟着Mv部分有关联,你一改外面的代码,内部的代码就又一堆错误。具体的Makefile解析我后续会分享下,然后可以方便移植到别的平台底层去,做特定的图像识别。
       基本的第一部肯定是移植下Mpy的解析器,编译器等。移植也比较简单,但是我也入坑过,比如像D大之前移植到小钢炮,因为芯片型号(flash不一样)一样直接修改下板子参数即可。在micropython的github下载源码,,openmv用的型号是STM32F765,所以得放进去相关的启动文件等,放置下面两个文件。
3.png
       然后在pyp库的外设底层文件里面加进去STM32F765这个型号。比如ADC.c,IIC.c,反正就你所要使能的外设,都得改。make的过程有出现错误,根据提示的错误做出相应的修改,错误也就慢慢少了,mpy底层方面基本都配置好了,在mpconfigboard.h文件配置使能外设即可。
5.png

4.png


6.png
    在make到ST的hal库的时候,有一个文件提示某个参数没声明,这个是hal的底层库,怎么可能没声明。后续我去查了下数据手册,发现hal的头文件声明的寄存器并不是C文件的那个,一脸懵逼。最后跟头文件的寄存器声明换过来了才可以,难道这个ST的抽象底层?
7.png

     接下来不出意外就可以编译成功了。
8.png
    单纯的移植Python的解析器分析器编译器以及基本的外设固件代码是300k,完整的openmv固件大小是1.2m。优化的空间还是蛮大的。
9.png
     烧录Mv的mpy固件,插入usb。提示安装驱动。
驱动.png
   上串口软件,打印,移植成功。
11.png
   点灯跑灯啥的跟其他的一样。然后一些算法库还在学习当中,也在慢慢移植分享,慢慢掉坑。
   有点晚了,好累,先放着。



此内容由EEWORLD论坛网友RCSN原创,如需转载或用于商业用途需征得作者同意并注明出处



1084534438 欢迎交流  [加油,一切皆有可能]

回复评论 (29)

第三坑,无非就是摄像头CMOS了,过孔透光干扰,第一版打的是黄色的板子,透光干扰特别大,第二版的蓝色板子也是。后来打了黑色的板子,才解决了透光的问题。也不用加贴纸。 黑版的摄像头带上镜头帽的效果 13.png 黄版、蓝板的摄像头带上镜头帽的效果 14.png 本帖最后由 RCSN 于 2017-10-22 12:47 编辑
1084534438 欢迎交流  [加油,一切皆有可能]
点赞  2017-10-20 23:45
哟哟切克闹,乍一看好像尼玛都是问题?
撸起袖子就是干,等你空闲时间多点的时候规整一下会是一篇很不错的从0入门到全是问题的好文章。
默认摸鱼,再摸鱼。2022、9、28
点赞  2017-10-21 00:10
这波分享走心了老铁~
物致DIY 欢迎你的加入~ QQ群:646461928 公众号:智物知心致成 小店
点赞  2017-10-21 10:42
支持一下
点赞  2017-10-21 10:46
不错不错
水不撩不知深浅 人不拼怎知输赢
点赞  2017-10-21 13:58
说这么多,rc,你就说准备好久给大家弄点福利openmv?要不光看你嗨了
点赞  2017-10-21 21:51
引用: freebsder 发表于 2017-10-21 00:10
哟哟切克闹,乍一看好像尼玛都是问题?
撸起袖子就是干,等你空闲时间多点的时候规整一下会是一篇很不错的 ...

叔叔牛逼
1084534438 欢迎交流  [加油,一切皆有可能]
点赞  2017-10-21 22:21
引用: shihuntaotie 发表于 2017-10-21 21:51
说这么多,rc,你就说准备好久给大家弄点福利openmv?要不光看你嗨了

已经开始众筹了 直接去淘宝下单可以了 超值底价 后面还有活动
1084534438 欢迎交流  [加油,一切皆有可能]
点赞  2017-10-21 22:21
不得不说官方的SD卡设计得实在不明白,用短体卡座其实没啥,但是还把SD卡露出了一大截,携带也不方便,而且还不带自弹;调试接口放在排母的里面,其实也不太方便插拔。之后对之进行了改变,用带自弹的mircro-SD卡座放在背面,这样设计更人性化。 20.png P71022-121845.gif 官方所选的稳压芯片,国内实在也不好找,后来第二版的时候使用了与之同封装的MPS公司的MP2006DN-S,但是买到的却是2.5V的,之后还是买了国内通用的AMS的稳压芯片,这样后续维修也方便。 镜头的选型,之前买的普通镜头,因为OV7725的像素也就30W,导致看到的白天晚上效果都不太好。后来选了个红外夜视镜头,加了红外截止滤光片,相比之前的效果好了很多。 21.png 加长排母的选型,开始选用的是外观跟官方差不多的排母,但是国内的加长排母实在太烂了,加长部分的排针特别软,插模块或者去摆栋他都会掰弯。后来选择一款更硬的加长排母,都没出现过什么掰弯的情况。 22.png 基本上硬件存在的问题就这些了,其他的话,都是小小补补,才补到了第三版的效果。 后续,软件算法遇到的坑。 本帖最后由 RCSN 于 2017-10-22 13:01 编辑
1084534438 欢迎交流  [加油,一切皆有可能]
点赞  2017-10-22 12:34
引用: RCSN 发表于 2017-10-21 22:21
已经开始众筹了 直接去淘宝下单可以了 超值底价 后面还有活动

链接啊
点赞  2017-10-22 12:35

我的个性签名那里有,点击那个购买链接。或者你可以加646461928这个群。
1084534438 欢迎交流  [加油,一切皆有可能]
点赞  2017-10-22 12:36

关注下我的签名,可以加646461928这个群一起交流交流哈
1084534438 欢迎交流  [加油,一切皆有可能]
点赞  2017-10-22 13:17

关注下我的签名,可以加646461928这个群一起交流交流哈
1084534438 欢迎交流  [加油,一切皆有可能]
点赞  2017-10-22 13:17
这一波有解说,挺好的!那么多引脚,我看着浪费好心痛呀!为啥都全引出来呢!
点赞  2017-10-22 14:39
引用: strong161 发表于 2017-10-22 14:39
这一波有解说,挺好的!那么多引脚,我看着浪费好心痛呀!为啥都全引出来呢!

壮哥,其实没有多少引脚了,这个100pin的MCU,电源占用的引脚已经14Pin了,CMOS占用的引脚已经17Pin,SD卡的引脚已经占用7Pin,还有LDE灯等占用了差不多10pin.可用的的外设基本都引出来了,TIM,IIC,SPI,DAC这些都引出了一对。基本剩下的还有30PiN,但是这30Pin之前有试过引出FSMC,但是有些FSMC功能脚被DCMI占用了。基本的剩下串口,定时器等了,但是后续还是在满足openmv足够小的条件下,引出剩余的一些IO口的 444.png
1084534438 欢迎交流  [加油,一切皆有可能]
点赞  2017-10-22 15:18
引用: RCSN 发表于 2017-10-22 15:18
壮哥,其实没有多少引脚了,这个100pin的MCU,电源占用的引脚已经14Pin了,CMOS占用的引脚已经17Pin,SD ...

也是只要用上的都用上就够了,余下的也不一定有啥用!
点赞  2017-10-22 15:38
引用: RCSN 发表于 2017-10-22 12:36
我的个性签名那里有,点击那个购买链接。或者你可以加646461928这个群。

手机上看不到
点赞  2017-10-23 20:41
引用: RCSN 发表于 2017-10-22 12:34
不得不说官方的SD卡设计得实在不明白,用短体卡座其实没啥,但是还把SD卡露出了一大截,携带也不方便 ...

TF卡座移到背面是在背面接线吗?
点赞  2017-10-30 21:43
引用: joesong 发表于 2017-10-30 21:43
TF卡座移到背面是在背面接线吗?

移到背面,SD卡插在背面,很方便。
SD.png
1084534438 欢迎交流  [加油,一切皆有可能]
点赞  2017-10-30 22:05
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复