ID:212965

Emel

嵌入式软件工程师

  • 公司信息:
  • 杭州国芯科技股份有限公司
  • 工作经验:
  • 5年
  • 兼职日薪:
  • 500元/8小时
  • 兼职时间:
  • 下班后
  • 周六
  • 周日
  • 所在区域:
  • 上海
  • 浦东

技术能力

本人工作一直在嵌入式领域,有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 中断,驱动收到中断后进行后续处理,通知上层应用软件等动作。

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    0
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服