自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 camera sensor基础概念-1

FPS = vt_pix_clk/framelength/linelengthoutputpixelclock = mipi_output_speed*lanecounts/bits-per-pixel其中settleTimeNs,这个值在高通文档80-P9301-97中的解释如下:Specifies the settle time in nanoseconds. The value is configured,based on the output characteristics of the se

2024-04-03 17:04:01 303

原创 谷歌浏览器好用的插件-保护眼睛和广告拦截器AdGuard

经常对着电脑看网页的朋友们,https://github.com/chitosai/eye_protectorgithub上没提供下载,只能从chrome商店下https://chrome-extension-downloader.com/这个网址挺好用的 下载 插件 的crx 文件 只需要知道 插件id...

2021-05-30 16:19:25 1073 1

原创 Ubuntu物理机使用VirtualBox安装win10虚拟机 以及如何设置共享文件夹

首先推荐大家一个工具网站:https://msdn.itellyou.cn/使用VirtualBox安装win10虚拟机的步骤过程网上已经有很多了,我也是参考链接安装的,安装步骤链接下面来介绍下如何在Ubuntu物理机 与 win10虚拟机之间设置 共享文件夹首先查看win10虚拟机下的CD驱动器下面,有没有VBoxWindowsAdditions的三个应用程序,如果有的话,就方便了,直接分别点击好,然后去设置共享文件夹就ok了,本人是没有下面这三个程序的。所以需要去下载设备 -》 安装增强功能

2020-10-29 09:42:00 499

原创 Ubuntu系统安装SourceInsight4.0安装后首次打开报错问题解决

安装步骤参考下文ubuntu16.04 最详细安装最新版source insight 4然后第一次打开的时候,遇到如下图的问题。原因:系统为中文会出现Unable to open or create …中文路径… .sidb参照网上修改regedit方法, 发现没用直接修改 ~/.wine/drive_c/users/server/我的文档 为 ~/.wine/drive_c/users/server/My Documents,见下图然后再重新打开,就能够正常打开了,见下图。...

2020-10-14 18:55:38 624

原创 基于双机械硬盘和一块固态硬盘安装ubuntu系统的硬盘挂载

一步一步安装 Ubuntu 操作系统步骤教程有很多帖子描述了,安装Ubuntu操作系统的详细步骤,见上面链接这里我来描述一个情况:电脑硬件有两块1TB的机械硬盘 + 一块 SSD固态硬盘 。如何挂载的问题根据提示执行安装,安装类型依次选择:其他选项–新建分区表–‘+’:efi系统分区:主分区:SSD硬盘:500MBswap分区(交换空间):主分区:SSD硬盘:16GB内存至少分配8GB(我分配的16GB)ext4分区:挂载点/:主分区:SSD硬盘:SSD内全部剩余空间ext4分区:挂载点

2020-09-09 09:50:18 3933 4

原创 linux内核等待队列机制编程框架—内核进程随时随地唤醒休眠

等待队列机制:让用户进程在内核空间随时随地休眠,随时随地被唤醒的一种机制#define init_waitqueue_head(q) \ do { \ static struct lock_class_key __key; \ \ __init_waitqueue_head((q), #q, &__key); \ } while (0)...

2020-09-06 17:39:18 259

原创 高通可穿戴设备平台 SDW4100 简介

文章目录背景SDW4100 简介组成架构和性能功耗和情景模式背景2016 年 2 月的时候,高通发布了面向可穿戴设备的骁龙 Wear 2100 平台(简称SDW2100) , 两年之后的 2018 年 09 月 11 日,高通才正式发布 SDW2100 平台的升级版SDW3100。这两款芯片都是基于 28 纳米制造工艺的 Cortex A7 CPU 架构,是 2013 年的智能手机技术。 2020 年 6 月 30 号,高通推出升级版芯片 SDW4100, 基于 12 纳米制造工艺的Cortex

2020-08-26 23:57:38 3159 1

原创 Wear OS 简介

文章目录概述与 Android 区别Wear OS 设备开发申请流程Wear OS 常用模式介绍概述Wear OS 是基于 Android 模块化的轻量级的穿戴设备平台, 本质是 Android 的一个分支版本,专为智能手表可穿戴智能设备设计,首个预览版公布于 2014 年 3 月,支持数字助理、传感器等功能,众多芯片和设备合作伙伴,包括华硕、华为、三星、 Intel索尼 LG、摩托罗拉、 HTC、联发科、博通、高通、 MIPS 等手表产品超过 50 款。与 Android 区别首先, Wea

2020-08-26 23:46:08 4927

原创 高通安卓平台BOARD-ID和MSM-ID

目录:kernel/msm4.14/Documentation/devicetree/bindings/arm/msm/board-id.txt 翻译如下传统格式The qcom,board-id entry specifies the MSM platform and subtype revision.It can optionally be an array of these to indicate multiple hardware that usethe same device t

2020-08-18 23:31:31 5394 1

原创 高通QFIL9008端口刷机问题总结

.........................2020-08-05 16:41:04.285 Sahara mappings:2020-08-05 16:41:04.429 2: amss.mbn2020-08-05 16:41:04.430 6: apps.mbn2020-08-05 16:41:04.430 8: dsp1.mbn2020-08-05 16:41:04.430 10: dbl.mbn2020-08-05 16:41:04.431 11:

2020-08-14 19:11:34 16030 10

原创 高通安卓屏幕点亮流程_LK阶段

aboot_init()

2020-08-13 23:14:23 535

原创 高通平台常用缩写

编号英文缩写英文全文中文1MSMmoblie station modems移动基带处理器2QRDqualcomm reference design高通参考设计3SDMsnapdragon qualcomm骁龙高通4RPMResource Power Manager资源电源管理器:是高通MSM平台另外加的一块芯片5MBAModem Boot Authenticator调制解调器引导认证6HLOSHigh-level op...

2020-08-10 20:33:40 3228

原创 win10系统添加ADB工具以及常见问题总结

文章目录ADB工具简介win10中安装ADB工具ADB工具使用常见问题总结ADB工具简介adb工具即Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。在某些特殊的情况下进入不了系统,adb就派上用场啦!win10中安装ADB工具下载好ADB工具我的电脑 --》属性ADB工具使用常见问题总结...

2020-08-04 23:06:57 1534

原创 小米手机开发者模式

打开 【设置】–> 【我的设备】–> 【全部参数】然后如下图

2020-08-02 14:07:55 456

原创 SSCOM3.2无法保存窗口的问题的解决

详细问题描述见下图原因是windows系统中的时间格式设置的问题,改一下时间格式即可

2020-08-02 11:47:35 1032

原创 git repo入门操作学习笔记

这里写自定义目录标题git initgit init

2020-07-29 10:04:25 217

原创 linux内核同步机制编程框架

文章目录linux系统中出现并发与竞态相关概念:四种情形:linux内核解决竞态引起的异常的方法:即同步方法中断屏蔽概念特点中断屏蔽的编程步骤中断屏蔽相关宏函数应用实例自旋锁概念特点利用自旋锁同步的编程步骤信号量原子操作linux系统中出现并发与竞态相关概念:并发:多个执行单元(进程和中断)同时发生竞态:多个执行单元对共享资源的同时访问所形成的竞争的状态须具备以下三个条件:1. 必须有多个执行单元2. 必须有共享资源3. 必须同时访问共享资源:比如软件上的

2020-07-20 20:51:44 291

原创 优化与内存屏蔽

当使用优化的编译器时,千万不要认为指令会严格按照它们在源代码中出现的顺序执行。例如,编译器可能重新安排汇编语言指令让寄存器以最优的方式使用。此外,现代CPU通常并行地执行若干条指令,且可能重新安排内存访问。这种重新排序可以极大地加速程序的执行。然而,当处理同步时,必须避免指令重新排序。如果放在同步原语之后的一条指令在同步原语本身之前被执行,事情很快就会变得失控。事实上,所有的同步原语起到优化和内存屏蔽的作用。优化屏障(optimization barrier)原语保证编译程序不会混淆在原语操作之前的汇

2020-07-19 00:14:59 541

原创 linux内核软件定时器编程框架

文章目录linux 内核软件定时器简介:描述软件定时器的结构体timer_list软件定时器相关的配套函数linux 内核软件定时器简介:定时器是一种软件功能:即允许在将来的某个时刻,函数在给定的时间间隔用完时被调用。内核软件定时器特点:可以指定一个超时时间,一旦超时时间到期,内核就会调用定会器的超时处理函数,切记: linux 内核软件定时器基于软中断实现,所以其超时处理函数不能进行休眠操作。内核和进程广泛使用定时器。大多数设备驱动程序利用定时器检测反常情况,例如,软盘驱动程序使用定时器在

2020-07-17 20:49:59 412

原创 【跟着韦东山学习linux设备树】内核中device_node转换为platform_device的函数调用分析

内核中device_node转换为platform_device的函数调用分析of_platform_default_populate_init 函数调用过程1. start_kernel() 函数定义在init/main.c2. rest_init()函数定义在init/main.c3. kernel_init()4. kernel_init_freeable()5. do_basic_setup()6. do_initcalls()of_platform_default_populate_init函数生

2020-07-08 16:52:38 853

原创 linux内核I2C驱动编程框架简析(一)

文章目录linux内核I2C驱动编程机制struct i2c_client定义如下struct i2c_board_infostruct i2c_driverI2C驱动跟前面介绍的linux内核驱动的platform机制一样,也是总线-设备-驱动模型。同样是使用内核的bus_type结构体定义了一个虚拟总线i2c_bus_type。bus_type结构体定义如下/** * struct bus_type - The bus type of the device * * @name: The na

2020-07-07 17:37:06 271

原创 系统管理总线(SMBus)介绍

SMBus介绍系统管理总线协议概要系统管理总线 关键标记表SMBus接口函数1. SMBus Quick Command2. SMBus接收字节函数:i2c_smbus_read_byte()3. SMBus发送字节函数:i2c_smbus_write_byte()4. SMBus读取字节函数:i2c_smbus_read_byte_data()5. SMBus读取字(两字节)函数:i2c_smbus_read_word_data()6. SMBus写字节函数:i2c_smbus_write_byte_

2020-07-07 00:20:34 13758 3

原创 【跟着韦东山学习linux设备树】dtb转换为device_node(unflatten)树状结构

跟着韦东山学习linux设备树—dtb转换为device_node树状结构引子函数调用过程1. start_kernel() 函数定义在init/main.c2. setup_arch()函数定义在arch/arm/kernel/setup.c3. arm_memblock_init()函数定义在arch/arm/mm/init.c3.1. 函数early_init_fdt_reserve_self();定义在drivers/of/fdt.c3.2. 函数early_init_dt_reserve_memo

2020-07-01 22:57:27 597

原创 linux设备树的平台信息认证之匹配过程简析

linux设备树的平台信息认证之匹配过程简析1. start_kernel() 函数定义在init/main.c2. setup_arch()函数定义在arch/arm/kernel/setup.c3. setup_machine_fdt()函数定义在arch/arm/kernel/devtree.c4. of_flat_dt_match_machine();//定义在drivers/of/ftd.c当使用compatible属性跟machine_desc中的dt_compat比较时,按照上述的优先级进行

2020-07-01 00:11:53 502

原创 【入门级别】linux内核驱动三种写法之——platform分离机制

【入门级别】linux内核驱动三种写法之——platform分离机制前言框架图实例代码遇到问题前言关于想追本溯源理清楚linux驱动的写法,前面已经写了三篇链接如下1.【入门级别】linux驱动的三种写法之前言——裸机程序2.【入门级别】linux驱动三种写法之——软硬件信息未分离(以字符设备驱动程序为例)3.字符设备驱动的简化版混杂设备驱动今天我们来学习下linux内核驱动的platform分离机制,关于这部分的理论知识,我在如下这一篇博文中有详细介绍,就不再赘述。linux platfor

2020-06-26 11:48:27 648

原创 字符设备驱动的简化版混杂设备驱动

我们在上一篇文章中聊的字符设备驱动的写法,参见linux驱动三种写法之——软硬件信息未分离(以字符设备驱动程序为例)混杂设备的说明如标题,内核提供了一种简化字符设备驱动的写法,是将主设备号固定为10,然后可以设置内核自动分配次设备号来区分设备个体,本质上还是字符设备,就是将上述链接中的字符设备驱动框架中的【设备号处理工作】和【字符设备对象的处理工作】打包在【混杂设备对象的处理工作】中了。字符设备驱动框架 与 混杂设备驱动框架 对比图看一下【字符设备驱动框架】和【混杂设备驱动框架】的差异就明白了

2020-06-24 01:15:11 280

原创 【入门级别】linux驱动三种写法之——软硬件信息未分离(以字符设备驱动程序为例)

上篇提到裸机程序,本文使用的硬件平台相同。详情见linux驱动的三种写法之前言——裸机程序前言今天我们来聊聊linux驱动程序应该是比较原始的写法,就是硬件驱动程序中的软件和硬件信息是写在同一个文件中的,虽然这样的写法看上去简单相对来说好理解,但是很不符合软件程序“低内聚,高耦合”的要求,特别是当硬件信息有变动的时候,比如硬件信息更改或者将驱动程序移植到其他平台上,就会发现工作量非常之大。最要命的是,即使更改一点硬件信息,都需要重新编译。基本上,我在工作上没有见过这样的驱动程序,应该是学习linux驱动

2020-06-23 03:33:32 390

原创 linux库函数strtoul简介

首先我们通过man 3 strtoul命令在linux系统终端查看下该函数的原型如下#include <stdlib.h>unsigned long int strtoul(const char *nptr, char **endptr, int base);1.strtoul()函数的功能:是将一个字符串最开始的部分根据base所指定的进制类型,转换成一个无符号长整型(unsigned long)或无符号长长整型(unsigned long long)数字。注:unsigned l

2020-06-19 02:08:11 1121 1

原创 【入门级别】linux驱动的三种写法之前言——裸机程序

linux驱动的三种写法之前言——裸机程序引子软硬件平台裸板编程编程准备编程思路编译烧录及运行遇到问题及其解决引子最近想要系统地学习下linux 驱动程序的设备树的知识。韦东山老师提到驱动有如下三种写法:驱动写法优缺点1.将硬件信息写在驱动程序中简单,不易扩展,有硬件信息改动需要重新编译2.使用platform总线设备驱动模型将驱动程序软硬件信息分离稍复杂,易扩展,有冗余代码,有硬件信息改动需要重新编译3.使用设备树文件,驱动程序解析设备树文件,读取相关硬件信息稍

2020-06-17 03:51:00 884

原创 linux platform分离机制是如何运作的呢

/** * struct bus_type - The bus type of the device * * @name: The name of the bus. * @dev_name: Used for subsystems to enumerate devices like ("foo%u", dev->id). * @dev_root: Default device to use as the parent. * @dev_attrs: Default attributes of

2020-06-11 00:57:08 284

原创 7/22-7/31工作学习总结

这里写自定义目录标题新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入新的改变我们对Markdown编辑器进行...

2019-07-31 11:38:58 245

原创 写一个函数,去掉一个字符串中重复的字符,比如将”google”转成”gole”(华为公司)

https://blog.csdn.net/vincent040/article/details/6902631最近在刷面试题,做到标题的题目,一时半会儿写不出来,翻看参考答案见如上链接。其中,/*locate the first redundant item and the first common item after it. */ 这一部分的代码,至今没有理解透彻。希望有朋友知道的可以在...

2019-06-01 15:11:21 2347

原创 2018年宇视科技智能交通-嵌入式软件开发线上笔试题

一,选择题下列代码的输出结果是()int i = 2;void main(){int i = ++i;printf(“i = %d\n”, i);}A. 编译出错 B. i = 2 C. i = 3 D. i 等于未知值解析【D】当在调用变量时有多个同名变量起作用的时候,则使用作用域离自己最近的变量。因此在main函数中使用的是局部变量i,而c语言中未初始化的局部变量的初始值...

2019-05-25 15:16:53 6095 8

转载 c语言编程必考题目之一

整型数据在内存中是以二进制的补码形式存放的问题int i=-20;unsigned int j=10;在vc中编译:若采用printf("%d", i+j);结果是:-10若采用printf("%u", i+j);结果是:4294967286解析:整形数据在内存中存放二进制补码。所以数据的运算可以理解为是补码运算。-20 的原码为:10000000 00000000 000...

2019-04-11 17:35:12 346

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除