本人换了工作,目前需要调色摄像头,驱动这块不熟悉,看不懂原理图和电路图,请问要如何系统学习,要报培训班还是自学? 报班要报哪一种?自学的话看什么书和资料上手最快?
1
litguy 2023-01-03 08:12:23 +08:00
大概看看 Linux 内核设计与实现,对内核有个概念
看 Linux 设备驱动 第三版,基本掌握内核驱动编写规则 原理图和电路图,你看看 数字电路 + 微机原理 /计算机接口 这些书吧 这个大学应该学过 有啥问题丢这里大家一起讨论吧 过去干啥工作的 怎么跨度这么大 摄像头驱动不好搞,寄存器特别多 随便改个值,画面变化明显 我也只搞过一次摄像头驱动 还是十多年前,镁光的摄像头 体验不怎么好 最快速的办法是两条路,我上面说的是正规路子,蹲马步 另一个就是四处问,四处搜,先解决工作中的问题 |
2
yhm2046 OP @litguy 好的谢谢,原来做 android 应用和 framework 上层的,现在是小公司人少事多,老板说都要学习
|
3
LXGMAX 2023-01-03 09:25:52 +08:00
芯片公司?
实际上内部有足够资源让你学习的,问下有没有文档之类,找人带带 |
4
BingoXuan 2023-01-03 09:37:08 +08:00
先了解一下摄像头用什么物理总线先,使用什么硬件平台连结摄像头,看一下嵌入式开发是 linux 还是 rtos 还是 bare metal 。把基本软硬件流程走一遍就没啥太大问题了。
|
5
kennyCoretek 2023-01-03 09:54:08 +08:00
emmm 所以 是怎么找到工作的。。。
|
6
Xavi1996 2023-01-03 10:26:39 +08:00
想快速上手的话不需要看电路图,啃 linux 驱动开发这本书吧,然后看摄像头的 datasheet ,看看是怎么通过写寄存器控制各种效果的。
|
7
singerll 2023-01-03 10:31:11 +08:00
要看懂电路图引脚啥的应该比较简单,但要彻底看懂电路图,最起码要把高数、复变函数、电路、数电、模电啥的看一遍,先不说难度如何,时间最起码也要半年。
|
8
wtsamuel 2023-01-03 10:47:09 +08:00
上手最快没必要系统学习, 直接看驱动摄像头的 mcu 的 datasheet 和这个摄像头相关例子的源码
有看不懂的问题, 上网搜或者提问让大神回答 |
9
duke807 2023-01-03 11:34:13 +08:00
建议先学 stm32 ,自己搞一些小 project ,譬如可以看一下我这个 stm32 驱动 ov2640 的小东西:
https://github.com/dukelec/cdcam 模拟电路建议看日本的丛书,譬如 「晶体管电路设计(上下) /铃木雅臣」 数字电路也可以试试「数字电路设计——图解实用电子技术丛书 (日)汤山俊夫」,这本我没看过 自己搞这些 mcu project 都要在 linux 环境,gcc 编译,kicad 画板,为后面 linux 驱动开发打基础 等都熟悉差不多了,再开始学 linux 驱动开发 不建议报培训班,国内编程培训班都很垃圾,譬如学嵌入式 linux 它会让你在 windows 里面安装虚拟机,这样你熟悉 linux 的时间会长 N 倍,效果还不好 |
10
zhttp 2023-01-03 16:39:05 +08:00
如果不是原厂开发的话,一般不会让你从头开始调吧,找一找 sdk 里面有没有相近型号设备的驱动程序,然后根据 datasheet 修改里面的初始化代码和各种寄存器读写代码,先跑起来确认设备和驱动能匹配上,然后再一点一点对。我之前调过一款摄像头,调到吐,主要是 datasheet 和实际寄存器有种完全对不上的感觉,读写没反应,最后还是原厂给了个写好的文档我 copy 过去的。。。学习的话,我看过宋宝华的那本 linux 设备驱动开发,还不错,再就是学一下 linux 基础。
|
11
xsen 2023-01-04 08:23:59 +08:00
就一句话,不要系统性学习驱动开发
针对性研究要调的摄像头驱动,不懂再去问、再去查资料 |
12
yhm2046 OP 多谢各位老铁意见,现在有个具体问题请教:
rk3399pro 平台,Android9, gc2053 摄像头目前报错, 让 rk 工程师看了目前怀疑是 v4l2 命令重启导致摄像头连不上,命令如下 v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=NV12 --stream-mmap=3 --stream-skip=30 --stream-to=/tmp/cif2.out --stream-count=5 --stream-poll 执行完重启,串口 log: [Imgur]( https://imgur.com/fOoqnas) 有人遇到类似问题吗? |