自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (13)
  • 收藏
  • 关注

原创 RK开发平台文章总目录

RK开发平台文章总目录该分栏主要分析在瑞芯微平台遇到的相关问题以及解决方法。都是在实际工作中遇到的问题和解决办法以及对应的思路思考。具体目录参考如下:RK3399外设驱动RK3399外设驱动之I2C驱动RK3399外设SPI驱动RK3399外设GPIO驱动RK3399使用usb转串口XR21V1414RK3399 USB驱动之gadget(一)系统调试Linux调试方式一:Debugfs分析Linux调试方式二:procfs分析RK3399电源子系统rk3399平台电量计cw201

2021-04-14 13:34:52 417

原创 v4l2_ioctl调用过程

v4l2_ioctl调用过程应用层:ioctl(dev->fd, VIDIOC_DQBUF, &buf))ioctl(dev->fd, VIDIOC_QBUF, &buf)驱动层:v4L2_fops.unlocked_ioctl-->.v4L2_ioctl -->vdev = video_devdata(filp); vdev->fops->unlocked_ioctl(filp, cmd, arg);//调用设备提供的unloc

2021-09-16 13:33:36 514

原创 rk3399 Android模块化编译及调试

rk3399 Android模块化编译及调试文章目录rk3399 Android模块化编译及调试导入环境mm编译手动push内核版本Linux4.4平台rk3399作者nineyole我们在调试Android的时候会经常需要对某些模块进行模块化编译,下面讲讲其中的一个方法是如何实现的。导入环境source build/envsetup.sh xxx@ubuntu-server:~ rk3399-android7.1/ rk3399-android7.1$ s

2021-06-10 09:12:43 587

原创 神经网络中经常使用的激活函数--sigmoid函数

神经网络中经常使用的激活函数–sigmoid函数σ(x)sigmoid函数(σ)sigmoid函数原型sigmoid函数是机器学习中的一个比较常用的函数,其函数原型如下图所示:sigmoid函数的函数曲线以及其导数曲线如下图所示:通过上图可以看出在趋于正无穷或负无穷时,sigmoid函数都趋近平滑状态。当x趋近负无穷时,y趋近于0;趋近于正无穷时,y趋近于1。由于sigmoid函数输出范围为(0,1),所以二分类的概率常常用使用这个函数。sigmoid函数求导Sigmoid函数的导数是其本

2021-06-08 08:38:53 28454

原创 rk3399 Android休眠/唤醒分析(2)

rk3399 Android休眠/唤醒分析(2)rk3399休眠唤醒kernel驱动state_store在kernel\kernel\power\main.cstate_show()和state_store()即是用户层/sys/power/state的读写操作。这两个都是通过power_attr(state)来申明的,attr是Linux实现sys接口的重要函数定义。具体实现可以去关注power_attr.state_store函数static ssize_t state_store(st

2021-06-07 17:05:04 804

原创 rk3399 Android休眠/唤醒分析(1)

rk3399 Android休眠/唤醒分析(1)文章目录rk3399 Android休眠/唤醒分析(1)Android休眠/唤醒简介休眠唤醒硬件分析硬件电路按键驱动分析内核版本Linux4.4平台rk3399作者nineyoleAndroid休眠/唤醒简介休眠/唤醒在嵌入式Linux中是非常重要的部分,嵌入式设备尽可能的进入休眠状态来延长电池的续航时间。这篇文章就详细介绍一下Linux中休眠/唤醒是如何工作的,还有[Android]中如何把这部分和Linux的机制联

2021-06-07 17:02:48 1282 1

原创 鸿蒙OpenHarmony开篇-2021.06.02

鸿蒙OpenHarmony开篇-2021.06.02文章目录鸿蒙OpenHarmony开篇-2021.06.02框架及说明内核层系统服务层框架层应用层源码内核层Linux内核LiteOS-ALiteOS-M总结内核版本Linux4.19平台OpenHarmony作者nineyole今天是2021年6月2日,晚上就有鸿蒙2.0发布会,去OpenHarmony的官网看了一下,发现2.0也已经发布了。其下载地址在这里,可以自行下载。框架及说明整个OpenHarmon

2021-06-02 15:49:14 530 2

原创 RK3399外设驱动之MIPI显示-panel配置

RK3399外设驱动之MIPI显示-panel配置文章目录RK3399外设驱动之MIPI显示-panel配置MIPI命令dts配置信息8inch显示屏mipi配置实例mipi命令格式说明panel代码分析panel_simple_dsi_probepanel_simple_probepanel_simple_get_cmdspanel_simple_funcs内核版本Linux4.4平台rk3399作者nineyoleMIPI命令dts配置信息8inch显示屏mip

2021-05-25 16:54:31 1183

原创 RK3399外设驱动之MIPI

RK3399外设驱动之MIPI文章目录RK3399外设驱动之MIPIMIPI命令解析入口代码mipi显示配置实例rk3399mipi驱动rk mipi驱动注册过程rk32_mipi_dsi.c解析内核版本Linux4.4平台rk3399作者nineyoleMIPI命令解析入口代码MIPI的入口代码如下:kernel\drivers\video\rockchip\screen\lcd_mipi.cstatic int __init rk_mipi_screen_in

2021-05-25 15:14:14 1897 1

原创 高通8953 Android 9.0 在user模式下使用fastboot烧录

高通8953 Android 9.0 在user模式下使用fastboot烧录高通8953 Android 9.0 在user模式下,默认是无法使用fastboot烧录的,这个非常影响我们的调试。bootable/bootloader/lk/makefile可以屏蔽掉DDISABLE_FASTBOOT_CMDS即可,原来的命令中会去对TARGET_BUILD_VARIANT进行判定,如果是user模式就会DDISABLE_FASTBOOT_CMDS置位,从而禁止fastboot使用,因此只需要屏蔽掉D

2021-05-12 10:02:24 1360

原创 高通8953 Android 9.0 打开user调试串口

高通8953 Android 9.0 打开user调试串口文章目录高通8953 Android 9.0 打开user调试串口1、user模式打开kernel log调试2、另外需要修改user版本串口只有输出不能输入的问题内核版本Linux4.9平台高通8953作者nineyole我们在调试msm8953 9.0的版本的时候发现在userdebug模式下是可以使用串口控制台调试的,而在user模式下则是关闭的。1、user模式打开kernel log调试​

2021-05-12 09:59:37 2157 3

原创 关于高通8953修改动态logo bootanimation不起作用问题

关于高通8953修改动态logo bootanimation不起作用问题文章目录关于高通8953修改动态logo bootanimation不起作用问题问题描述:问题分析动态logo加载过程解决方法安卓版本Android9.0平台高通8953作者nineyole问题描述:我们在调试高通8953 Android9.0的时候发现,按照之前的方式修改bootanimation.zip,总是不起作用通过,本着实事求是的原因,总归需要搞清楚是为什么。问题分析下面这个图显示

2021-05-11 15:02:03 413

原创 Linux调试方式之动态打印(module_param_named)

Linux调试方式之动态打印(module_param_named)文章目录Linux调试方式之动态打印(module_param_named)module_param_named分析module_param_named使用案例内核版本Linux4.4作者nineyolemodule_param_named分析在很多时候,我们需要记录一些调试信息,如果每次都用printk打印,会有很多无用代码,因此可以调用如下代码来申明一个变量。module_param_named(db

2021-04-29 13:36:10 3645

原创 RK3399外设驱动之RTC驱动(二):hym8563驱动

RK3399外设驱动之RTC驱动(二):hym8563驱动文章目录RK3399外设驱动之RTC驱动(二):hym8563驱动hym8563硬件相关注册驱动probe函数hym8563_init_devicedevm_request_threaded_irqdevm_rtc_device_registerhym8563_rtc_read_timehym8563_rtc_set_timehym8563_clkout_ops遇到的问题附录1:hym8563寄存器内核版本Linux4.4平台

2021-04-28 14:55:55 1709

原创 高通8953 Android9.0修改设备节点权限问题

高通8953修改设备节点权限问题文章目录高通8953修改设备节点权限问题问题描述问题分析解决方法安卓版本Android9.0平台高通8953作者nineyole问题描述有的时候我们会自己增加一些驱动设备,而需要给这些设备一些设备权限,一般来说都是通过在init.target.rc中添加相应命令实现,其修改的路径:device/qcom/xxx/init.target.rcindex fa467d08bd..2dcb07e05c 100755--- a/devi

2021-04-28 09:25:30 799

原创 关于高通8953开机需要按pwrkey很长时间的问题

关于高通8953开机需要按pwrkey很长时间的问题高通8953方案每次开机都需要按pwrkey很长时间,经过排查跟踪代码./lk/platform/msm_shared/reboot.c:161: dprintf(CRITICAL, "Going down for shutdown.\n");继续跟踪代码:void shutdown_device(){ dprintf(CRITICAL, "Going down for shutdown.\n"); /* Configure PMIC

2021-04-28 09:07:26 839

原创 高通8953烧录之后报ERROR: UFDT apply overlay failed

高通8953烧录之后报ERROR: UFDT apply overlay failed文章目录高通8953烧录之后报ERROR: UFDT apply overlay failed烧录新的系统之后报错误问题定位问题解决方法安卓版本Android9.0平台高通8953作者nineyole烧录新的系统之后报错误在某一天,突然发现系统总是无法单独烧录镜像,一旦烧录就会卡死死机。然后报ERROR: UFDT apply overlay failed一直找不到解决方法。总是

2021-04-28 08:54:24 1991 1

原创 屏蔽高通8953长按电源键的截屏按钮

屏蔽高通8953长按电源键的截屏按钮文章目录屏蔽高通8953长按电源键的截屏按钮源码定位修改方法安卓版本Android9.0平台高通8953作者nineyole我们有时候需要屏蔽掉长按电源键出现的截屏按钮,本文将来分析其源码和修改方法。源码定位frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java当我们长按的时候就会执行powerLongPress代

2021-04-26 10:09:57 194

原创 高通8953平台usb转以太网芯片ax88772驱动

高通8953平台usb转以太网芯片ax88772驱动文章目录高通8953平台usb转以太网芯片ax88772驱动ax88772电路图ax88772 mac地址烧录工具使用说明增加eeprom的读写USB读写函数进入eeprom获取数据读写eeprom检查网络设备的mac地址获取mac地址可能遇到的问题分析ax8872针对eeprom无法写入信息排查关于eeprom器件的焊接关于eeprom器件的选择问题烧录工具无法使用内核版本Linux4.4平台rk3399&高通8953

2021-04-26 09:30:36 1560

原创 RK3399外设驱动之RTC驱动(一)

RK3399外设驱动之RTC驱动(一)文章目录RK3399外设驱动之RTC驱动(一)RTC驱动概述rtc应用层的几个接口是如何创建的rtc如何创建/dev/rtcNrtc的sys接口rtc的proc接口硬件抽象层rtc_read_time解析rtc_set_time解析class.c解析设备驱动层硬件相关内核版本Linux4.4平台rk3399作者nineyoleRTC驱动概述rtc的驱动框架如下图所示:我们都知道Linux时间有两个,一个是系统时间(Wall

2021-04-19 16:22:15 970

原创 Linux的c语言哲学之offsetof和container_of

Linux的c语言哲学之offsetof和container_ofoffsetof宏定义:#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)offsetof宏定义的主要作用:获得结构体(TYPE)的变量成员(MEMBER)在此结构体中的偏移量。( (TYPE *)0 )上面代码是将0强制转换为一个类型为TYPE类型的指针,并且这个TYPE类型的指针的地址是0。((TYPE *)0)->MEMBER

2021-04-15 22:36:34 169

原创 地平线X3开发板开发环境搭建

地平线X3开发板开发环境搭建最近弄了一个地平线X3的开发板回来,看了一下它的测试环境和demo,搭建了一个简单的测试环境,测试了一下自带的face body等例程。以下是详细过程。开发环境搭建安装CMAKE安装CMake 3.15+以上版本。安装方式如下:wget https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2.tar.gz \ && tar -zxvf cmake-3.17.2

2021-04-14 14:15:22 3981 2

原创 RK3399外设驱动之I2C驱动

RK3399外设驱动之I2C驱动文章目录RK3399外设驱动之I2C驱动Linux-I2C框架I2C重要结构体I2C总线i2c_bus_typeI2C驱动i2c_driverI2C设备i2c_clientI2C设配器i2c_adapter匹配原则i2c_add_driver注册调用顺序of_driver_match_device分析probe函数调用逻辑分析rk3399 i2c驱动代码rk3399 i2c驱动从注册到调用设备驱动read函数调用逻辑关系设备驱动write函数调用关系I2C调试方法关于I2

2021-04-09 09:40:17 781

原创 RK3399外设GPIO驱动

P101_RK3399外设GPIO驱动文章目录P101_RK3399外设GPIO驱动uboot中操作gpio通过fdtdec_decode_gpio获取dts中配置操作gpio操作实例源码分析直接通过编号操作gpio在kernel中操作gpio内核版本Linux4.4平台rk3399作者nineyoleuboot中操作gpio通过fdtdec_decode_gpio获取dts中配置操作gpio操作实例比如我们一个电量计的驱动中就有如下的代码,主要就是通过fdtd

2021-04-07 10:03:26 1741 1

原创 RK3399平台BQ27541电量计驱动

P05_RK3399平台BQ27541电量计驱动文章目录P05_RK3399平台BQ27541电量计驱动电量计驱动注册dts配置bq27541_battery_init函数bq27541_battery_probe函数bq27541_powersupply_initbq27541_battery_get_propertyINIT_DELAYED_WORK中断函数总结Linux电量计驱动框架内核版本Linux4.4平台rk3288&rk3399作者nineyole

2021-04-06 15:27:45 916

原创 H07_Linux调试方式二:procfs分析

H07_Linux调试方式二:procfs分析文章目录H07_Linux调试方式二:procfs分析proc目录如何创建proc关键函数分析proc_mkdir函数proc_create_data函数proc_create_data原型说明在rtc驱动调用proc_create_data的实例分析proc_create函数proc_create函数原型proc_create实例/proc/meminfo源码分析meminfo原型说明如何通过内核代码修改鲁大师和安兔兔获取到的内存大小自己编写c语言获取mem

2021-03-30 14:16:20 238

原创 RK3399 USB摄像头如何强制为前置或后置摄像头

RK3399 USB摄像头如何强制为前置或后置摄像头文章目录RK3399 USB摄像头如何强制为前置或后置摄像头如何强制某一个为前置或者后置摄像头摄像头前置后置源码分析通过pid&vid强制为前置摄像头如何旋转摄像头的角度hal层旋转源码分析app开发实际调用旋转案例内核版本Linux4.4平台rk3288&rk3399作者sky huang在Android系统开发中,会经常遇到需要旋转或者将某一个摄像头强制为前置或者后置摄像头,下面我们将通过源码分析

2021-03-26 14:51:54 2028 1

原创 H01_Linux输入子系统(1):内核源码分析

H01_Linux输入子系统(1):内核源码分析文章目录H01_Linux输入子系统(1):内核源码分析各个关键结构体分析输入子系统注册函数关系各个关键函数分析input_register_device函数input_attach_handler函数input_match_device函数关于evdev如何编写一个input的驱动框架配置i2c_driver配置probe函数获取dts配置信息申请中断注册input device完善中断函数内核版本Linux4.4作者huang l

2021-03-26 14:27:29 109

原创 Linux 编程之typedef

Linux 编程之typedef文章目录Linux 编程之typedef概述一些实例使用场景typedef定义结构体typedef定义数组和指针typedef定义结构体指针typedef定义函数指针类型转换禁止使用情况typedef与#define区别Linux对typedef编程风格建议概述在C和C++编程语言中,typedef是一个关键字。它用来对一个资料类型取一个别名,目的是为了使源代码更易于阅读和理解。它通常用于简化声明复杂的类型组成的结构 ,但它也常常在各种长度的整数资料类型中看到,例如si

2021-03-22 13:58:12 628

原创 H06_Linux调试方式一:Debugfs分析

H06_Linux调试方式一:Debugfs分析内核版本Linux4.4作者huang liang有部分内容来自网络,如有侵权,请联系删除。内核中有几个常用的伪文件系统,比如procfs,debugfs和sysfs。它们都用于Linux内核和用户空间的数据交换,但是适用的场景有所差异:procfs 历史最早,最初就是用来跟内核交互的唯一方式,用来获取处理器、内存、设备驱动、进程等各种信息。sysfs 跟 kobject 框架紧密联系,而 kobject 是为设备驱

2021-03-15 16:58:17 144

原创 Ubuntu 12.04 如何解决gedit编辑器中文乱码

网上的很多办法都如下:出现这种情况的原因是,gedit使用一个编码匹配列表,只有在这个列表中的编码才会进行匹配,不在这个列表中的编码将显示为乱码。您要做的就是将 GB18030 加入这个匹配列表。您可以遵循以下步骤,使您的gedit正确显示中文编码文件。1. 终端中键入“gconf-editor”,并按下回车键,打开“配置编辑器”。2. 展开左边的树节点,找到 /apps/

2014-12-25 08:47:53 567

转载 orcad16.3下载

因本站服务器有限,ORCAD16.3占用空间为1.7G,所以上传到VerCD网站,大家如有需要可以在下面网址中下载:此版本完美支持WIN7,站长已在XP和WIN7安装成功,请大家放心下载安装使用。ORCAD16.3下载网址请下载附件查看下载时必须先安装电驴软件:下载网址:http://www.easymule.com/zh-cn/ORCAD16.3图文安装说明:

2012-09-03 21:20:40 2726

转载 安装libssl-dev报错:

安装libssl-dev报错安装libssl-dev报错:The following packages have unmet dependencies:  libssl-dev: Depends: libssl0.9.8 (= 0.9.8k-7ubuntu8.6) but 0.9.8k-7ubuntu8.8 is to be installedE: Broken packa

2012-08-28 11:21:41 6536

转载 配置Ubuntu Server高速apt-get源

今天刚装上Ubuntu Server 12,默认的apt-get源比较慢。更改一下源地址。方法:1、修改源地址:cp /etc/apt/sources.list /etc/apt/sources.list.bakvim /etc/apt/sources.list加入如下内容(中科大的):deb http://mirrors.ustc.edu.cn/ubuntu/ p

2012-08-28 11:12:12 5489

转载 内核里面writel是如何实现的

在邮件列表里讨论了一下writel是如何实现的,这个函数实现在操作系统层,有内存保护的情况下,往一个寄存器或者内存地址写一个数据。 在arch/alpha/kernel/io.c中有 void writel(u32 b, volatile void __iomem *addr) { __raw_writel(b, addr); mb(); } v

2012-08-07 14:41:21 592

转载 搞定了2.6.24.4上的uda1341的驱动,共享源码

最近做了博创2410开发板上uda1341的驱动,从网上下了一些源代码,直接拿过来在2.6.24上行不通。然后就自己去看内核中和dma相关的代码,最终把驱动弄好了,能顺利播放音乐了。把移植过程介绍一下,供大家参考。 遇到的第一个问题是dma通道的映射问题。通道映射不正确的话,uda1341就没有输出。这个问题我觉得是移植过程中解决的主要问题。关于2.6.24中dma的基本建立过程在我的

2012-08-07 14:29:45 638

转载 S3C2410看门狗驱动分析 .

根据linux中总线、设备和驱动这个模型来看,所有的设备驱动都挂在总线上,并且驱动应该是和平台无关的。唯一和平台有关的一类驱动应该是芯片内部的各个控制器的驱动,例如芯片内部I2C控制器,芯片内部LCD控制器,芯片内部看门狗等等。如果是一个外部的LCD控制器的驱动程序,它的实现一定要和平台无关,这样针对不同的平台只要修改板级文件即可,而不需要修改驱动程序本身。从linux内核源代码中的S3c2410

2012-08-07 13:56:23 545

转载 platform_device和platform_driver

首先介绍一下注册一个驱动的步骤:1、定义一个platform_driver结构2、初始化这个结构,指定其probe、remove等函数,并初始化其中的driver变量3、实现其probe、remove等函数看platform_driver结构,定义于include/linux/platform_device.h文件中:struct platform_driver {

2012-08-07 13:30:29 486

转载 nandflash裸机驱动程序的分析

nandflash在嵌入式设备中广泛的应用,学些nandflash的重要性不言而喻,这里分析一段实例代码,不管是编码规范还是程序的结构都是很有价值的。下边是K9F1208U0M的实例代码。首先看nand.h文件:#ifndef __NAND_Flash__#define __NAND_Flash__extern void InitNandCfg(void);

2012-08-01 16:50:29 1103

转载 Linux驱动开发学习的一些必要步骤

1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。5. 写一完整驱动, 加上read, write, ioctl,

2012-08-01 13:46:30 611

exarUSBTestTool测试app及源码.rar

XR xr21v1414测试app反编译源码,具体的分析可以参考这里https://blog.csdn.net/hyl1718/article/details/115303604

2021-03-29

XR21V1414 Linux-Android驱动.rar

XR21V1410, XR21V1412, XR21V1414, XR21B1411, XR21B1420, XR21B1422, XR21B1424, XR22801, XR22802, XR22804 在原生的usb cdc有问题,需要借助app配置才能使用,这个是完整的底层驱动,可以移植之后可以直接使用。这个驱动是用在Linux以及安卓平台的。具体分析参考这里https://blog.csdn.net/hyl1718/article/details/115303604

2021-03-29

Linux内核中Platform平台设备注册流程

Linux内核中Platform平台设备注册流程

2013-12-04

NRF905资料

详细介绍了NRF905的使用,研究这个无线模块的朋友可以下载看看!

2012-02-02

无线模块 PTR8000资料

主要详细了介绍了无线模块PTR8000的使用方法,感兴趣的朋友可以下载!

2012-02-02

诺基亚液晶3310datasheet

这个是诺基亚3310 液晶的datasheet,感兴趣的朋友可以下载来看看啊!

2012-02-02

CS5532-AD chip

The CS5531/32/33/34 are highly integrated ΔΣ Analogto- Digital Converters (ADCs) which use charge-balance techniques to achieve 16-bit (CS5531/33) and 24-bit (CS5532/34) performance. The ADCs are optimized for measuring low-level unipolar or bipolar signals in weigh scale, process control, scientific, and medical applications.

2011-12-19

AD芯片CS5532中文版

AD芯片CS5532中文版PDF CS5531/32/33/34是高集成度的ΔΣ模数转换器,由于运用了电荷平衡技术, 其性能可以达到16 位(CS5531/33)和24位(CS5532/34)。该系列ADC非常适合测量称重仪表、过程控制、科学和医疗等应用领域的单/双极性小信号。

2011-12-19

利用qt实现局域网 聊天程序

利用qt实现了局域网聊天功能,通过验证了,绝对可用

2011-07-29

实时数据曲线绘制的Qt编程实现

利用qt实现了对数据进行曲线绘制,并通过实验得到了很好的结果!

2011-07-29

msp430 学习

详细的介绍了MSP430的各个寄存器的值;<br>对于初学者尤其很有用;保证满意

2008-07-28

msp430 学习

主要介绍了msp430的学习;能很好的帮助初学者~~~~

2008-07-20

基于matlab的数字图像处理算法

图像平滑或去噪就是为了抑制噪声,以达到改善图像质量的目的,既可以在空间域又可以频率域中实现,在数字图像处理中起着重要的作用。本文将主要介绍空间域的几种平滑法的算法:邻点平均法、K个邻点平均法、最大均匀性平滑,其中操作平台是matlab 7.1。

2008-07-15

空空如也

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

TA关注的人

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