- 博客(11)
- 收藏
- 关注
原创 [sprd camera] 3 camera open
一、前言 图借用的这篇博文Android : Camera2/HAL3 框架分析 - sheldon_blogs - 博客园 (cnblogs.com)1、openCamerapublic void openCamera(@NonNull String cameraId, @NonNull final CameraDevice.StateCallback callback, @Nullable Handler handler) throws CameraAccess...
2021-09-11 22:22:30
601
原创 [sprd camera] 2 camera service启动
1.cameraservice的启动当init进程启动后,会通过cameraserver.rc 去启动cameraservice服务frameworks\av\camera\cameraserver\cameraserver.rcservice cameraserver /system/bin/cameraserver class main user cameraserver group audio camera input drmrpc iop...
2021-09-11 17:06:59
605
原创 [SPRD CAMERA] 5 hal configureStreams
Return<void> CameraDeviceSession::configureStreams( const StreamConfiguration& requestedConfiguration, ICameraDeviceSession::configureStreams_cb _hidl_cb) { Status status = initStatus(); HalStreamConfiguration outS...
2021-07-04 14:54:06
958
1
原创 【SPRD CAMERA】4 hal preview流程
idh.code\vendor\sprd\interfaces\camera\device\3.2\default\CameraDeviceSession.cppReturn<void> CameraDeviceSession::processCaptureRequest( const hidl_vec<CaptureRequest>& requests, const hidl_vec<BufferCache>& ca
2021-06-28 21:45:56
950
原创 [SPRD CAMERA] 5 HAL Camera open流程二
接halopen1cmr_int camera_init_internal(cmr_handle oem_handle, cmr_uint is_autotest) { ··· //sensor初始化 ret = camera_sensor_init(oem_handle, is_autotest); //grab初始化 ret = camera_grab_init(oem_handle); //res初始化 ret = camera_res_init(oem_handle);
2021-06-27 15:45:27
1127
转载 [SPRD CAMERA] 4 HAL Camera open流程一
一、前言 最近在搞8581的camera问题,作为一个新手从没有做过camera部分,希望通过这一系列的文章记录自己学习过程。 大量参考大神的文章:https://blog.csdn.net/justXiaoSha/article/details/86671811?...
2021-06-25 23:04:22
1234
原创 【SPRD CAMERA】1 HAL层初始化流程
参考这篇文章https://www.cnblogs.com/programandriod/p/13868578.html 根据我的理解以前android在启动camera service 会直接去操作hal层,这样hal层和framework就耦合在一起了。现在 Android O 中,加入了Camera Provider这一抽象层,该层作为一个独立进程存在于整个系统中,并且通过HIDL这一自定义语言成功地将Camera HalModule从Camera Service中解...
2021-06-24 21:07:40
1721
原创 A63 spi驱动两个设备
问题:a63的spi只支持一个设备(只有一个cs配置),现在需要同时驱动printer和指纹,所以需要修改spi core驱动。查看datasheet我发现寄存器只能空一个cs脚,不能通过spi控制器来支持一拖多,只能通过io控制。解决:首先需要找到拉cs的地方,理论上spi是支持一拖多的,看是代码这一块是如何控制的。通过代码发现/* spi device on or off control */static void sunxi_spi_cs_control(struct spi_device
2021-04-12 14:59:05
461
原创 tty_read和tty_write
一、tty_read对于tty_read这个函数,很多标志我也没有弄得太清楚,但是问题不大,以后有机会在看。我觉得重点是看数据怎么从cdc驱动到通过线路规划到tty,再从tty到用户空间。标志位等东西都是为这一个数据的流程服务的。static ssize_t tty_read(struct file *file, char __user *buf, size_t count, ...
2019-01-29 17:36:48
2081
1
原创 对tty节点的操作tty_open
接上一篇,我们已经注册了一个tty设备驱动并且在/dev生成相应的设备节点,我们对这个节点的操作open,read,write等对应的就是static const struct file_operations tty_fops = { .llseek = no_llseek, .read = tty_read, .write = tty_write, .poll ...
2019-01-18 16:23:11
1145
原创 tty驱动注册
文章是作为笔记,可能有的地方理解不对。1、注册tty设备驱动我们以cdc_acm.c为例来介绍tty设备驱动的注册流程1.1、首先是注册tty驱动static struct tty_driver *acm_tty_driver;acm_tty_driver = alloc_tty_driver(ACM_TTY_MINORS);acm_tty_driver->drive...
2019-01-16 22:13:40
1207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅