技术标签: linux
(1)添加供应商给的驱动
添加到vendor\qcom\non-hlos\ADSP.VT.5.4.3.c1\adsp_proc\ssc_drivers
(2)添加编译
\vendor\qcom\non-hlos\ADSP.VT.5.4.3.c1\adsp_proc\ssc\chipset\divar\por.py
if 'SSC_TARGET_X86' not in env['CPPDEFINES']:
#POR sensors list
include_sensor_vendor_libs.extend(['lsm6dso', #ACCEL/GYRO/MD/TEMP
'sns_ak0991x', #MAGNETOMETER
'sns_tmd2725', #ALS/PROX
'sns_bmp285', #PRESSURE
'sns_bu52053nvx', #HALL
'sns_sc7a20',
'sns_ltr569'])
/*此处id为供应商给的驱动文件中LTR-569ALS-WA\build\sns_ltr569.scons,.scons的前缀*/
(3)修改通讯协议
-3.1vendor\qcom\
non-hlos\ADSP.VT.5.4.3.c1\adsp_proc\core\settings\buses\qup_fw\config\divar\fw_devcfg.c
根据DATA SHEET选择对应SE设备修改通信协议
-3.2vendor\qcom\non-hlos\
ADSP.VT.5.4.3.c1\adsp_proc\core\settings\buses\i2c\config\divar\i2c_devcfg.c
(4)查看是否编译成功:
1.编译成功会adsp_proc下生成obj文件夹,里面有所有的镜像
2.或在驱动文件的build下生成/sensor.img/所有.o文件
可以直接在编译目录下$:find -name "xxxx.o"以快捷搜索有无.o生成
AP侧修改
添加.json文件在
vendor\qcom\proprietary\sensors-see\registry\config\lahaina(项目名)
{
"config":
{
"hw_platform": ["QRD"], // cat /sys/devices/soc0/hw_platform获取
"soc_id": ["497"] //cat /sys/devices/soc0/soc_id 获取
},
"bmi160_0":{
"owner": "sns_bmi160",
".accel":{
"owner": "sns_bmi160",
".config":{
"owner": "sns_bmi160",
"is_dri":{ "type": "int", "ver": "0",
"data": "1"
},//配置中断模式或者轮训模式(“0”轮训模式,“1”中断模式)
"hw_id":{ "type": "int", "ver": "0",
"data": "0"
},//用来区分同一硬件多个传感器
"res_idx":{ "type": "int", "ver": "0",
"data": "2"
},
"sync_stream":{ "type": "int", "ver": "0",
"data": "0"
}
}
},
".gyro":{
"owner": "sns_bmi160",
".config":{
"owner": "sns_bmi160",
"is_dri":{ "type": "int", "ver": "0",
"data": "1"
},
"hw_id":{ "type": "int", "ver": "0",
"data": "0"
},
"res_idx":{ "type": "int", "ver": "0",
"data": "4"
},
"sync_stream":{ "type": "int", "ver": "0",
"data": "0"
}
}
},
".md":{
"owner": "sns_bmi160",
".config":{
"owner": "sns_bmi160",
"is_dri":{ "type": "int", "ver": "0",
"data": "1"
},
"hw_id":{ "type": "int", "ver": "0",
"data": "0"
},
"res_idx":{ "type": "int", "ver": "0",
"data": "0"
},
"sync_stream":{ "type": "int", "ver": "0",
"data": "0"
}
}
},
".temp":{
"owner": "sns_bmi160",
".config":{
"owner": "sns_bmi160",
"is_dri":{ "type": "int", "ver": "0",
"data": "0"
},
"hw_id":{ "type": "int", "ver": "0",
"data": "0"
},
"res_idx":{ "type": "int", "ver": "0",
"data": "2"
},
"sync_stream":{ "type": "int", "ver": "0",
"data": "0"
}
}
}
},
"bmi160_0_platform":{
"owner": "sns_bmi160",
".config":{
"owner": "sns_bmi160",
"bus_type":{ "type": "int", "ver": "0",
"data": "0"
},//I2C 写 0、 SPI 写 1、 I3C 写 3
"bus_instance":{ "type": "int", "ver": "0",
"data": "2"
},//bus_instance: = SE 数 + 1(平台datasheet)
"slave_config":{ "type": "int", "ver": "0",
"data": "104"
},//I2C 地址,参考规格书
"min_bus_speed_khz":{ "type": "int", "ver": "0",
"data": "400"
},//最小 COM 总线时钟速度,默认配置 400khz
"max_bus_speed_khz":{ "type": "int", "ver": "0",
"data": "400"
},//最大 COM 总线时钟速度,默认配置 400khz
"reg_addr_type":{ "type": "int", "ver": "0",
"data": "0"
},//寄存器地址类型( 寄存器地址位数,“ 0” 8 bit “ 1” 16 bit “ 2” 32bit)
"dri_irq_num":{ "type": "int", "ver": "0",
"data": "102"
},//中断引脚
"irq_pull_type":{ "type": "int", "ver": "0",
"data": "2"
},//配置中断引脚内部电平类型
"irq_is_chip_pin":{ "type": "int", "ver": "0",
"data": "1"
},//配置 MSM_GPIO 由于中断模式
"irq_drive_strength":{ "type": "int", "ver": "0",
"data": "0"
},//配置 MSM_GPIO 由于中断模式
"irq_trigger_type":{ "type": "int", "ver": "0",
"data": "0"
},//中断触发类型,这里我们配置为低电平触发
"num_rail":{ "type": "int", "ver": "0",
"data": "2"
},//中断触发类型,这里我们配置为低电平触发
"rail_on_state":{ "type": "int", "ver": "0",
"data": "2"
},//低功耗供电模式 LPM 还是常规供电模式 NPM
"vddio_rail":{ "type": "str", "ver": "0",
"data": "/pmic/client/sensor_vddio"
},
"vdd_rail":{ "type": "str", "ver": "0",
"data": "/pmic/client/sensor_vdd"
},
"rigid_body_type":{ "type": "int", "ver": "0",
"data": "0"
}
}
将sensor器件添加到高通island(低功耗模式)
【不同平台特性不同,此操作需和平台确认清楚能不能去掉!并非所有平台都能去掉这三行!】
vendor\qcom\non-hlos\ADSP.VT.5.4.3.c1\adsp_proc\ssc\chipset\divar\por.py
(1)先在在此文件中注释掉以下三行,以释放island空间来添加新器件进island空间:
#env.AddUsesFlags(['SNS_DYNLIB_LOCAL_HEAPMGR'])
#env.AddUsesFlags(['SNS_DYNLIB_LSM6DSO'])
#env.Append(CPPDEFINES = ['SNS_DYNLIB_NUM_OF_ISLAND_PAGES = 11'])
(2) 在此处添加驱动名
# 1. Island drivers
env.AddUsesFlags(['SNS_ISLAND_INCLUDE_HX32062SE'])
#env.AddUsesFlags(['SNS_ISLAND_INCLUDE_AK0991X'])
#env.AddUsesFlags(['SNS_ISLAND_INCLUDE_TMD2725'])
#env.AddUsesFlags(['SNS_ISLAND_INCLUDE_BMP285'])
island驱动名获取方法:打开驱动文件中的build文件(后缀.scons),找到以下句段,
if 'SNS_ISLAND_INCLUDE_HX32062SE' in env:
hx32062se_island_enable = True
其中引号中的id就是添加到por.py的id。
文章浏览阅读6k次。I、问题原因一般为配置文件*.iml 出错了II、解决办法 方法1:找到 出错位置,修复 方法2:清除配置,重新导入 1)关闭IDEA, 2)删除项目文件夹下的.idea文件夹 3)重新用IDEA工具打开项目I、问题原因一般为配置文件*.iml 出错了..._idea左侧为什么没有显示项目文件框架
文章浏览阅读471次。它提供可靠的、面向连接的通信,并确保数据按照正确的顺序和不丢失地传输。TCP/IP协议适用于对数据传输的可靠性和顺序有要求的场景,例如网页浏览、文件传输等。HTTP协议:HTTP(Hypertext Transfer Protocol)是一种基于TCP/IP的应用层协议,用于传输超文本数据,即网页数据。它适用于资源有限的嵌入式设备和传感器之间的通信,并具有低功耗和带宽效率高的特点。TCP/IP和UDP协议是最常见和通用的选择,HTTP协议适用于Web数据交互,而MQTT协议则适合物联网领域的通信需求。_socket 嵌入式c
文章浏览阅读6.6k次,点赞3次,收藏3次。计算器setTimeout(that.fun(),3000),运行时显示出错。setTimeout expects a function as first argument but got undefined.;at pages/limited-sale/limited-sale onReady function;at setTimeout callback functionTypeErr..._settimeout expects a function as first argument but got undefined.
文章浏览阅读5.0k次,点赞4次,收藏7次。在机器学习的模型验证阶段,需要超参数进行调整,这时候就需要把多个参数的候选值列举出来,遍历参数的所有组合._python 穷举法变量组合
文章浏览阅读1.5k次,点赞22次,收藏23次。complex()函数是 Python 中的一个内置函数,用于创建复数对象。复数由实部和虚部组成,形式上表示为a + bi,其中a是实部,b是虚部,i是虚数单位,满足i^2 = -1。complex()real是一个数字或表达式,表示复数的实部。如果省略,实部默认为 0。imag是一个数字或表达式,表示复数的虚部。如果省略,虚部默认为 0。complex()函数是 Python 中一个非常有用的工具,用于创建复数对象。复数在数学、工程、科学和计算机等领域都有着广泛的应用,通过合理地应用complex()_python complex数据类型
文章浏览阅读1.6k次。Linux和Windows系统使用脚本启动ar包、停止jar包运行、重启jar包_windows jar包启动脚本详解
文章浏览阅读1.1k次。#include "stdafx.h" #include #include using namespace std; using namespace cv; int _tmain(int argc, _TCHAR* argv[]) { //从文件中读入图像 clock_t start,finish; start=clock_iplimage 通道转换
文章浏览阅读344次。http://blog.csdn.net/pipisorry/article/details/52135854 解决约束优化问题——拉格朗日乘数法 拉格朗日乘数法(Lagrange Multiplier Method)应用广泛,可以学习麻省理工学院的在线数学课程。 拉格朗日乘数法的基本思..._优化问题的数学模型 拉格朗日 标准型
文章浏览阅读2.6k次,点赞2次,收藏6次。Point x y z Weight 1 0 0 0 8 Point x y z Weight 1 -0.5773502692 -0.5773502692 0.5773502692 1.0000000000 2 0.5773502692 -0.5773502692 0.5773502692 1.0000000000 3 0.5773502692 0.5773_高斯积分法 权系数表
文章浏览阅读822次。笔者:风起怨江南出处:https://blog.csdn.net/JackMengJin笔者原创,文章欢迎转载,转载请注明出处。如果喜欢请点赞+关注,感谢支持!《Python实战系列》所有实例训练题都是从Python各个知识点精挑细选出来的,大部分实例会在注释里给出解题思路,希望能对大家有所帮助。Python实战系列每周日更新,数量不等,但质量必须杠杠的!不多废话,直接上干货!..._python字符串和变量练习题
文章浏览阅读1.5k次。文章目录Inspector 中的 SRP Batcher : compatible or notSRP Batcher 的合批原理怎么 Quickly UpdateShader 变体数量尽可能少总结ReferencesInspector 中的 SRP Batcher : compatible or notBuilt-in RP 下,shader 的 Inspector 视图中是不会显示此项内容的必须是在基于 SRP 的才会显示如果将当前项目设置为 SRP 呢:Editor/Project Se_srp batcher 兼容性
文章浏览阅读1.2w次,点赞8次,收藏16次。原因一:keras的后端是theano,默认channels_first,即他的图像形状是input_shape=(img_channels,img_rows, img_cols )。而在tensorflow中则是默认channels_last,即input_shape=(img_rows, img_cols, img_channels)。解决方法:可添加这两行代码,使其变为ch..._valueerror: negative dimension size caused by subtracting 3 from 2 for '{{no