rk3288

向RK3288根文件系统推送文件

喜欢而已 提交于 2020-03-07 19:18:20
有这样的需求下,比如我在PC上编译出了某个驱动xxx.ko,那么我需要将这个驱动放在RK3288的根文件系统下,rk3288烧写的是Android固件。 那么可以这样做 adb root adb remount adb push "xxxx.ko" /system/lib/modules/ 当然了,至于insmod这些操作还是使用串口配合mobaxterm来进行比较方便 来源: CSDN 作者: 哈尔小工坊 链接: https://blog.csdn.net/qq_34744658/article/details/104718230

rk3288 7.1 mlx90640调试

一笑奈何 提交于 2020-02-22 20:04:31
由于疫情的影响,最近在调试测温模块mlx90640 mlx90614,下面简单描述下mlx90640的驱动开发. 站在巨人( https://blog.csdn.net/qq_33487044/article/details/86565536 )的肩膀上做一些更为详细的说明. 我们看技术手册上可以了解到 mlx90640是一款红外热像仪模块, 32×24 像素, I2C 接口通信,兼容 3.3V/5V 电平。采用 MLX90640 远红外热传感器阵列,可精确检测特定区域和温度范围内的目标物体,尺寸小巧,可方便集成到各种工业或智能控制应用中。 ⚫ 采用 MLX90640 远红外热传感器阵列, 32×24 像素 ⚫ 支持 I2C 接口通信,可设置为快速模式(速率可达 1MHz) ⚫ 噪声等效温差(NETD)仅为 0.1K RMS@1Hz 刷新率,噪声性能好 ⚫ 板载电平转换电路,可兼容 3.3V/5V 的工作电平 通讯方式为 I2C,支持 I2C 高速模式(最高可达 1MHz),只能作为 I2C 总线上的从设备, SDA 和SCL 端口可以承受 5V 电压,可直接接入到 5V I2C 总线中,模块的设备地址是可以编程的,最多可以有127 个地址,出场默认值为 0x33,具体的i2c协议这边就不介绍了,根据上述我们可以得知通讯的i2c设备地址为0x33。 因此有dts的配置: &i2c4

Ubuntu 配置安卓5.1编译环境

早过忘川 提交于 2020-02-05 13:10:03
输入指令时一定要注意当前路径 1、编译之前需要安装JDK7,并配置JAVA环境变量。 xxx@build:~/RK3288$ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 xxx@build:~/RK3288$ export PATH=$JAVA_HOME/bin:$PATH xxx@build:~/RK3288$ export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar 2、uboot编译,编译完成后,u-boot根目录下会生成RK3288UbootLoader_Vx.xx.xx.bin文件。 rk3288_defconfig 要参照 Z:\RK3288\u-boot\configs目录下此项目的defconfig文件 xxx@build:~/RK3288$ cd u-boot/ xxx@build:~/RK3288/u-boot$ make rk3288_defconfig xxx@build:~/RK3288/u-boot$ make 3、kernel编译,编译完成后,kernel根目录下会生成kernel.img和resource.img文件。 rockchip_defconfig要参照Z:\RK3288\kernel\arch\arm\configs目录下

RK3288 OpenCL 打印platform 和device 信息

ε祈祈猫儿з 提交于 2020-01-18 04:44:12
准备工作: 1)下载头文件: https://github.com/KhronosGroup/OpenCL-Headers/tree/master/CL 2)从RK3288 android 系统路径 /system/vendor/lib/egl 中到处库文件 libGLES_mali.so 1.打印platform 信息; 2.打印device 信息; 3.打印总是工作项目; void print_openCL_platform_device() { int i, j; char info[1024]; cl_int err; cl_uint nPlatform; cl_platform_id *listPlatform; cl_uint nDevice; cl_device_id *listDevice; cl_uint nMaxComputeUnits = 0; cl_uint nMaxWorkItemDims = 0; size_t *nMaxWorkItemSizes = NULL; size_t nMaxGlobalWorkSize = 1; size_t nMaxWorkGroupSize = 0; err = clGetPlatformIDs(0, NULL, &nPlatform); if(err < 0) { perror("Couldn't find any

RK3288 dts和dtsi介绍

老子叫甜甜 提交于 2020-01-10 00:49:27
朱有鹏-触摸屏课堂笔记: 1.触摸屏分为电阻屏和电容屏 电阻屏:例如S3C2440芯片的SOC内部自带了TC控制器和A/D转换,该触摸屏驱动也就是SOC内部的 TC控制器的驱动 电容屏: 驱动方式,可以实现为: 1>MISC(杂散类设备,作为杂散类设备引入(系统))驱动,最终也是实现input子系统类驱动,才能用input子系统 往上上报数据。 2>platform平台类设备,用platform子系统来处理它,此情况只能用I2C子系统的方法来处理它。这种情况,对I2C 来说,整个的触摸屏设备其实就是一个I2C设备,I2C根本不管触摸屏是电阻/电容式,我们只认I2C,对于驱动来说只是 通过I2C接口来向I2C设备发送命令/接收数据,对于触摸屏的操作+A/D_TP芯片的实现完全不关心,我SOC只管I2C接口。 备注: TP是 Touch Panel触摸屏的意思。 触控屏(Touch panel)又称为触控面板,是个可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。Samuel Hurst 博士在1971年发明了一个触摸传感器,这个传感器就是触控屏的雏形。三年后,他设计了第一款透明的触控屏。1977年,触控屏技术得到了很大的改善

sp3485在rk3288上的应用

落爺英雄遲暮 提交于 2019-12-05 20:31:02
2019-11-27 关键字:485串口通信 SP3485 是一款半双工的遵循RS485与RS422通信协议的传输芯片。 SP3485的芯片封装如下图所示: 其中 1 脚、4 脚分别接 rk3288 的 RX 脚与 TX 脚。 第 2 脚、第 3 脚为收发控制位,通常这两个脚都是接同一个电平信号的,因为通过芯片封装图可知这两个脚是互为取反设计的。当给这两个脚高电平时芯片处于“发送”模式,当给它们低电平时则处于“接收”模式。这款芯片的收发控制既可以通过软件来控制电平高低以切换收发模式,也可以直接通过硬件电路来自动切换收发模式。二者的区别在于对收发模式切换延时的要求不同。使用软件控制模式切换存在一定的延时,极限大约在 100us 左右,这个延时时长其实已经能应对大多数场景下的通信了,但还是有极少数高速通信场景接受不了这个延时时长。这种情况下就得考虑硬件电路自动切换收发模式了。如何通过硬件自动切换收发模式呢?网上有一篇文章: http://www.elecfans.com/dianlutu/app/20180117617635_2.html 本篇文章记述的是通过软件来切换收发模式的方式。 上图第 6 脚、第 7 脚是差分信号输出引脚。因为 485 通信必须要有两条差分信号线才能进行通信,而这款芯片又仅有一组输出引脚,因此这在硬件上就限制了这款芯片只能是半双工通信模式的芯片。

wk2124 在 rk3288 上的适配与调试

若如初见. 提交于 2019-12-05 14:37:56
2019-11-25 关键字:linux驱动开发、arm驱动适配、kernel开发、SPI转串口 WK2124 是一款 SPI 接口的 4 通道 UART 芯片。说白了就是一款通过 SPI 协议与 CPU 通信并对外表现出具备 4 个 232 串口功能的扩展芯片。它适用于 CPU 引脚资源不够或紧缺的情况,它的最高通信速率能达到 10Mbps。 本篇文章记述的是 WK2124 芯片在软件上的适配过程,属于软件开发范畴。但其实大家都知道,干到驱动这一层,对硬件电路一窍不通的话那是真干不下去。就拿这块芯片的软件层适配来说,我们需要的官方文档有: 1、芯片datasheet; 2、参考驱动程序; 3、参考原理图。 这些文件一般芯片厂商会提供,笔者这里也准备好了一份文件,有需要的可以直接下载: https://pan.baidu.com/s/1tpjTmRO5xgQXF-w7YsUqdA 提取码: juz1 首先来看看 WK2124 的引脚封装,如下图所示: 对于我们来说,在适配阶段需要关心的脚就 5 个,如上图标红框处所示。这些引脚的功用,datasheet 上都已有很详尽的说明: SPI 通信引脚在笔者的 3288 样机上所连接的 CPU 引脚是 SPI2,如下图所示: IRQ 脚在笔者的 3288 样机上所连接的 CPU 引脚是 GPIO7_A2,如下图所示: 然后,还有一个最重要的

[RK3288][Android6.0] 调试笔记 --- WiFi一直处于“正在连接”状态

匿名 (未验证) 提交于 2019-12-03 00:26:01
Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 Wifi提示正在连接,但是一直连接不上。 换了其他的一个AP,也提示连接不上。 根据WIFI连接过程可知,显示正在连接时dhcp client会从路由器那边获取ip address. 06-13 14:56:23.697 583 1340 D DhcpClient: Broadcasting DHCPDISCOVER 06-13 14:56:23.710 583 1402 D DhcpClient: Received packet: b0:f1:ec:49:50:7c OFFER, ip /10.89.19.43, mask /255.255.255.0, DNS servers: /61.177.7.1 , gateways [/10.89.19.254] lease time 28361, domain null 06-13 14:56:23.756 583 1340 D DhcpClient: Got pending lease: IP address 10.89.19.43/24 Gateway 10.89.19.254 DNS servers: [ 61.177.7.1 ] Domains DHCP server /10.89.19.254 Vendor info null

[RK3288][Android6.0] 调试笔记 --- Camera动态热插拔支持

匿名 (未验证) 提交于 2019-12-03 00:22:01
[RK3288][Android6.0] 调试笔记 --- Camera动态热插拔支持 Kernel: 3.10.92 原生Google代码只在开机的时候加载一次Camera 的配置, 当开机之后再去插USB Camera, 虽然USB模块能枚举成功USB Camera,但是Camera HAL 和 Camera Service是无法得知此事件的. 因此思维逻辑就是在每次APP初始化获取Camera信息的时候重新加载初始化一次Camera. 解决方法: CameraService.cpp: int32_t CameraService::getNumberOfCameras( int type ) { ATRACE_CALL(); switch ( type ) { case CAMERA_TYPE_BACKWARD_COMPATIBLE: + if (mNumberOfNormalCameras == 0 ) { + ALOGE( "no camera be found ! check again..." ); + onFirstRef(); + } return mNumberOfNormalCameras; case CAMERA_TYPE_ALL: return mNumberOfCameras; default : ALOGW( "%s: Unknown camera

RK3288板子刷linux-ubuntu16固件

匿名 (未验证) 提交于 2019-12-02 21:56:30
Firefly-RK3288 是一个高性能平台,拥有强大的多线程运算能力、图形处理能力以及硬件解码 能力,而且支 持 Android和Ubuntu双系统; 下面我们使用RK3288的板子刷linux ubuntu16的固件; 官方资源下载中心 http://www.t-firefly.com/doc/download/page/id/4.html 1. 首先下载驱动; 在工具下面下载 ,RK驱动助手,然后在windonws电脑上安装,我们测试win10可以; 2.下载固件升级工具; 下载工具下面的,固件升级工具,我们选择的是windows的; 3.下载要刷的固件; 在固件下面,选择ubuntu,会跳转到网页选择ubuntu16或ubuntu18的; 4. 解压下载的镜像 解压镜像xxx.tar.gz到 xxx.img镜像文件; 5. 连接设备的操作 电源插上和设备连接通电; 用Micro USB OTG连接线连接设备和电脑; 此时在我的电脑,管理,设备管理器里面,看不到rockusb device名子的设备; 此时如果设备已经有系列在运行,板子上会亮有一个蓝色的灯; 按住设备的RECOVERY键不要松开;然后再按一下 RESET 键;然后1-2秒松开recover键盘; 此时板子上的一篮色的灯会灭;然后在设备管理器里面,刷新看是否有rockusb device的设备;