Emel

嵌入式软件工程师
杭州国芯科技股份有限公司 · 5年经验
Emel
日薪: ¥500/8h
地点: 上海 浦东
时间: 下班后周六周日
ID:212965 复制

0
接单数
0
评价数
0
收藏数

AI 技能提取 | 深度学习 Python C++ Linux
本人工作一直在嵌入式领域,有5年多工作经验,对基于linux的嵌入式软件开发/驱动开发比较熟悉,曾经做过
1.基于qt的工业软件开发,
2.智能家居网关开发,
3.基于xenomai的实时工业软件开发,
4.基于v4l2和fpga的多路视频采集卡驱动开发,
5.基于tvm深度学习嵌入式平台部署等
6.熟悉深度学习算子优化。

熟悉linux操作系统,熟悉c,python,c++语言开发;

基于fpga多路视频采集卡驱动开发:

本项目中我主要负责驱动软件框架的设计与开发以及后期的调试和项目工程交接给客户调试等整个流程。
驱动框架设计:
自上而下v4l2_user ->v4l2_driver模块->pcie_driver模块->fpga模块
pcie_driver模块到fpga模块之间通过MSI中断/dma/写控制寄存器的方式来实现信息和视频数据的传递;
pcie_driver模块到v4l2_driver模块的交互是通过v4l2驱动框架定义的vb2_queue和一些接口来控制;
对于多路的情况,每一路都有自己所维护的一些buffer和中断号,但是它们共用一个dma控制器,所以这里需要进行一些同步处理。
驱动流程的设计:
1.应用程序开始采集视频,发送采集视频的命令给驱动,驱动收到后开始控制fpga的framebuffer寄存器,将数据ping-pong的方式写到fpga的ddr中,当完成该帧视频的采集之后发送msi中断给驱动;
2.驱动收到中断,根据中断号判断是哪一路的中断,并检测当前videobuffer有没有空闲的可以存储视频数据,从而配置dma寄存器,设置源地址和目的地址,并启动dma;
3.Dma完成后fpga会发送dma-finish 中断,驱动收到中断后进行后续处理,通知上层应用软件等动作。
Emel ID:212965 复制

Emel

嵌入式软件工程师 · 5年经验 · 杭州国芯科技股份有限公司
城市上海 浦东 日薪500元/8h 时间 下班后周六周日
0
累计接单
0
用户评价
0
被收藏

信用行为

0
接单数
0
评价数
0
收藏数

技术能力

AI 技能提取 | 深度学习 Python C++ Linux
本人工作一直在嵌入式领域,有5年多工作经验,对基于linux的嵌入式软件开发/驱动开发比较熟悉,曾经做过
1.基于qt的工业软件开发,
2.智能家居网关开发,
3.基于xenomai的实时工业软件开发,
4.基于v4l2和fpga的多路视频采集卡驱动开发,
5.基于tvm深度学习嵌入式平台部署等
6.熟悉深度学习算子优化。

熟悉linux操作系统,熟悉c,python,c++语言开发;

项目经验

基于fpga多路视频采集卡驱动开发:

本项目中我主要负责驱动软件框架的设计与开发以及后期的调试和项目工程交接给客户调试等整个流程。
驱动框架设计:
自上而下v4l2_user ->v4l2_driver模块->pcie_driver模块->fpga模块
pcie_driver模块到fpga模块之间通过MSI中断/dma/写控制寄存器的方式来实现信息和视频数据的传递;
pcie_driver模块到v4l2_driver模块的交互是通过v4l2驱动框架定义的vb2_queue和一些接口来控制;
对于多路的情况,每一路都有自己所维护的一些buffer和中断号,但是它们共用一个dma控制器,所以这里需要进行一些同步处理。
驱动流程的设计:
1.应用程序开始采集视频,发送采集视频的命令给驱动,驱动收到后开始控制fpga的framebuffer寄存器,将数据ping-pong的方式写到fpga的ddr中,当完成该帧视频的采集之后发送msi中断给驱动;
2.驱动收到中断,根据中断号判断是哪一路的中断,并检测当前videobuffer有没有空闲的可以存储视频数据,从而配置dma寄存器,设置源地址和目的地址,并启动dma;
3.Dma完成后fpga会发送dma-finish 中断,驱动收到中断后进行后续处理,通知上层应用软件等动作。
客服二维码

没找到合适的人才?

扫码添加客服极速匹配,或直接发布需求让更多人才主动报名

平台担保交易 · 1小时内不满意可退款

平台信誉与实力

基于 35,336 需求方信任

  • 支付宝企业信用分 优秀 评级
  • 市场份额约占全行业三分之一
  • 程序员兼职行业全能首选平台
查看平台资质详情
收藏