当前位置: 首页 > news >正文

网站营销方法短视频seo公司

网站营销方法,短视频seo公司,手机app可以做网站吗,怎么制作网站导航页这里从今天开始给自己挖坑然后慢慢填坑…… 打算基于自己买的正点原子的stm32mp157开发板还有OV5640摄像头#xff0c;完成一个视觉检测的项目#xff0c;最基础的版本是直接OpenCV打开摄像头然后完成简单的检测#xff1b;进阶版把sklearn训练的模型通过cpp读取然后显示完成一个视觉检测的项目最基础的版本是直接OpenCV打开摄像头然后完成简单的检测进阶版把sklearn训练的模型通过cpp读取然后显示最终目标是跑之前训练好的yolo模型。 那么问题就可以分成以下几步走 驱动移植包括linux的基础驱动OV5640驱动LCD驱动等等OpenCVQT的库移植Python的机器学习库sklearn的相关模型保存还有C读取方法深度学习yolo的C读取方法 那么第一篇显然就是基础的驱动移植正式内容就此展开 linux驱动移植 这里直接看正点原子开源的教程就可以了里面很详细的有讲解linux驱动的移植过程总结一下就是以下几步骤 TF-A这个是imx这个最常见初学嵌入式linux的开发板芯片所没有的是一个安全系统需要完成移植U_Boot经典的导引加载系统Linux内核可剪裁的操作系统根文件系统这里主要使用Buildroot制作加载 可以直接跟着教程一步步完成。 LCD驱动 完成基础的Linux操作系统搭建后视觉检测项目就需要一个显示器买的开发板上就有LCD显示器可以同样跟着教程完成LCD的驱动移植用于显示图像。 OV5640驱动 这个是这篇文章的重点虽然开发板的出产系统是自带驱动的但是那个驱动太多了QT的界面也是已经搭建好的对于我想从头自己做项目的话起不到学习作用所以也是对着出厂设置来自行移植 这里的话我搜了网上的很多资料因为stm32mp1系列的开发板根据正点原子工作人员的讲法当时ST公司是限制了其产量所以用的人很少大多数都是用imx或者直接rk系列芯片mp1系列的相关资料就很少我网上就只找到了华清有几个相关的摄像头驱动教程但是是直接加载到内核而且写的文件跟正点原子的风格还是不太一样的本着自我学习的精神我也是自己研究出来了怎么移植而不是网上搜到的大多数基于正点原子出厂系统的使用 进入正题看看如何完成OV5640驱动移植。 设备树修改 需要在相关的设备树dts和dtsi文件中加入相关的内容涉及到摄像头接口dcmi节点ov5640节点以及相关的电源和时钟节点信息。 dcmi接口 首先需要添加dcmi节点这是一个摄像头接口所使用的节点这里根据正点原子的GPIO口需要在stm32mp157d-atk.dtsi文件中加入以下内容 pinctrl {dcmi_pins_b: dcmi-1 {pins {pinmux STM32_PINMUX(H, 8, AF13),/* DCMI_HSYNC */STM32_PINMUX(B, 7, AF13),/* DCMI_VSYNC */STM32_PINMUX(A, 6, AF13),/* DCMI_PIXCLK */STM32_PINMUX(H, 9, AF13),/* DCMI_D0 */STM32_PINMUX(H, 10, AF13),/* DCMI_D1 */STM32_PINMUX(H, 11, AF13),/* DCMI_D2 */STM32_PINMUX(H, 12, AF13),/* DCMI_D3 */STM32_PINMUX(H, 14, AF13),/* DCMI_D4 */STM32_PINMUX(I, 4, AF13),/* DCMI_D5 */STM32_PINMUX(B, 8, AF13),/* DCMI_D6 */STM32_PINMUX(E, 6, AF13);/* DCMI_D7 */bias-disable;};};dcmi_sleep_pins_b: dcmi-sleep-1 {pins {pinmux STM32_PINMUX(H, 8, ANALOG),/* DCMI_HSYNC */STM32_PINMUX(B, 7, ANALOG),/* DCMI_VSYNC */STM32_PINMUX(A, 6, ANALOG),/* DCMI_PIXCLK */STM32_PINMUX(H, 9, ANALOG),/* DCMI_D0 */STM32_PINMUX(H, 10, ANALOG),/* DCMI_D1 */STM32_PINMUX(H, 11, ANALOG),/* DCMI_D2 */STM32_PINMUX(H, 12, ANALOG),/* DCMI_D3 */STM32_PINMUX(H, 14, ANALOG),/* DCMI_D4 */STM32_PINMUX(I, 4, ANALOG),/* DCMI_D5 */STM32_PINMUX(B, 8, ANALOG),/* DCMI_D6 */STM32_PINMUX(E, 6, ANALOG);/* DCMI_D7 */};}; };这一部分相当于给定了dcmi接口所使用的GPIO口的定义。 然后在stm32mp157d-atk.dts中加入如下内容 dcmi {status okay;pinctrl-names default, sleep;pinctrl-0 dcmi_pins_b;pinctrl-1 dcmi_sleep_pins_b;port {dcmi_0: endpoint {remote-endpoint ov5640_0;bus-width 8;hsync-active 0;vsync-active 0;pclk-sample 1;pclk-max-frequency 77000000;};}; };这里就是在设备树中添加了dcmi的节点连接到了ov5640的节点并且定义了一些属性内容这一部分只要复制过来就可以了。 ov5640 需要在设备树节点中添加ov5640节点这里可以去参考Documentation/devicetree/bindings/media/i2c/ov5640.txt里面有通过i2c驱动ov5640需要在设备树中添加内容的示例基于示例以及正点原子开发板的出厂配置可以在stm32mp157d-atk.dts添加如下内容 i2c5 { pinctrl-names default, sleep;pinctrl-0 i2c5_pins_a;pinctrl-1 i2c5_pins_sleep_a;i2c-scl-rising-time-ns 100;i2c-scl-falling-time-ns 7;status okay;/delete-property/dmas;/delete-property/dma-names;ov5640: camera3c {compatible ovti,ov5640;reg 0x3c;clocks clk_ext_camera;clock-names xclk;DOVDD-supply v2v8;powerdown-gpios gpioe 11 (GPIO_ACTIVE_HIGH | GPIO_PUSH_PULL);reset-gpios gpioe 1 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL);rotation 180;status okay;port {ov5640_0: endpoint {remote-endpoint dcmi_0;bus-width 8;data-shift 2;hsync-active 0;vsync-active 0;pclk-sample 1;pclk-max-frequency 77000000;};};}; };这里就是把txt的内容拉过来然后适配一下gpio的节点就可以了。 辅助节点 通过对ov5640的节点可以发现需要时钟定义以及2.8V的电源定义所以在stm32mp157d-atk.dts的根节点添加如下内容 clocks {clk_ext_camera: clk-ext-camera {#clock-cells 0;compatible fixed-clock;clock-frequency 24000000;};};v2v8: regulator-v2v8 {compatible regulator-fixed;regulator-name v2v8;regulator-min-microvolt 2800000;regulator-max-microvolt 2800000;regulator-always-on;regulator-over-current-protection;};之后就顺利的完成了设备树的内容一致啦。 Linux内核 这里的话其实也不用改我按照教程学习Linux驱动的时候按照教程移植过来的内核里面menuconfig里面是已经把改配置的都已经配置好了。这里就我截个图如果没配置就按照下面配置一下 - Device Drivers - M Multimedia support - V4L platform devices - M STM32 Digital Camera Memory Interface (DCMI) support - Device Drivers - M Multimedia support - I2C Encoders, decoders, sensors and other helper chips - M OmniVision OV5640 sensor support 我这边是把他都编译成模块化去生成动态加载的ko文件之后去drivers文件夹里面复制到开发板就可以了。 以上操作均完成后就重新编译命令如下 make dtbs uImage LOADADDR0XC2000040 -j16 最终移植加载 这一步也是很重要的需要把如下的ko文件全部移动到开发板的/lib/modules/5.4.31中 /drivers/media/i2c/ov5640.ko /drivers/media/mc/mc.ko /drivers/media/v4l2-core/vediodev.ko /drivers/media/v4l2-core/v4l2-fwnode.ko /drivers/media/v4l2-core/videobuf2-common.ko /drivers/media/v4l2-core/videobuf2-memops.ko /drivers/media/v4l2-core/videobuf2-v4l2.ko /drivers/media/v4l2-core/videobuf2-dma-contig.ko /drivers/media/platform/stm32/stm32-dcmi.ko 然后进去之后就只要输入以下命令就可以 cd /lib/modules/5.4.31 modprobe stm32-dcmi.ko modprobe ov5640.ko 大功告成
http://www.pierceye.com/news/967871/

相关文章:

  • 南山做网站的wordpress自助友链
  • php企业网站源码软件工程师发展前景
  • 如何从建设局网站上更换职称人员哪个网站可以免费做国外网站
  • 情侣博客网站模板下载学校网站建设调查报告
  • 平台网站开发是什么意思全屏的网站
  • 素材图库网站源码网站建设及推广培训班
  • 英国电商网站jsp旅游网站开发系统
  • 机关网站建设引导语开发一个企业网站需要多少钱
  • 徐汇网站推广挣钱最快的小游戏
  • 手机网站开发的目的在线免费看影视网站
  • 湖州网站设计wordpress自动删除p标签
  • 昆明几大网站学生网站建设实训总结
  • 丽江手机网站建设建设公司起名大全
  • seo网站分析工具wordpress的安装包
  • 北京网站建设报价表徐州专业做网站
  • 怎样做网站卖网站国内免费开源crm
  • wordpress多语言网站济宁住房和城乡建设厅网站
  • 免费crm网站下载网站建设 繁体
  • 东莞企业官方网站建设网站建设对产品推销作用大吗
  • php网站路径问题站长工具权重查询
  • 箱包官方网站模板摄影后期教程网站
  • iis 手机网站同域名网站改版需要把之前网站里的文章都拷贝过来吗?
  • 网站是专门对生活中的一些所谓常识做辟谣的商标设计网站排行
  • seo网站设计营销工具抽奖网站插件
  • 家装设计网站大全网站建设用哪个好
  • 青海企业网站建设企业建设网
  • 电子商务网站环境建设怎么劝客户做网站
  • 山西教育学会的网站建设网站投放广告教程
  • 游戏网站的设计方案做装修业务呢有多少网站
  • 口碑好网站建设公司电话百度联盟网站备案信息