- 博客(31)
- 资源 (2)
- 收藏
- 关注
原创 软件模拟NT68661升级
软件模拟NT68661升级平台:RK3288_SWH5184 ARM Cortex-A17@1.8GHz处理器 1.问题:编写简单的测试模块,向nt68661发送设备地址时,得不到响应。 方法:抓波形查看手册,发现升级工具在升级前需要发生一段同步波形,使MCU进行ISP RESET之后才能,进行i2c传输。2.问题:想法一修改驱动,先将i2c4总线复用成gpio功能,发同步波形,然后...
2018-08-02 14:38:54
1701
原创 电池驱动调试总结,电池服务+电量计驱动+调试方法
1.概述: Android电池服务,用来监听内核上报的电池事件,并将最新的电池数据上报给系统,系统收到新数据后会去更新电池显示状态、剩余电量等信息。如果收到过温报警和低电报警,系统会自动触发关机流程,保护电池和机器不受到危害。 Android电池服务的启动和运行流程: Android电池服务的源码结构 Framework\base\services\java\com...
2018-08-02 14:32:10
8442
原创 usb摄像头数据格式默认识别是NV12格式无法使用调试过程
操作系统 : linux + 安卓5.1 操作平台:RK3288/RK3128新的usb摄像头数据格式默认识别是NV12,不能使用,调试过程方法:抓logcat日志。 从logcat日志中分析,发现新的摄像头支持4中格式MJPG,YUYV,H264,NV12,默认为NV12格式;旧的摄像头支持三种格式MJPG,YUYV,H264,默认MJPG;而rk写的usb camera安...
2018-08-02 11:53:30
5822
1
原创 adb工具的使用方法详解
抓内核日志方法: 1、用usb线连接电脑与板卡上的靠近耳机孔的usb口。 2、在板卡系统设置菜单中选中connect to PC,并在开发者选项中选中usb调试。 3、在电脑端开启诸如豌豆荚之类的软件,让电脑识别到板卡。 4、电脑cmd进入到adb命令行,键入 adb shell 5、键入 ls mnt,查看mnt下sdcard对应的目录名, 一般为sdcard或internal_sd ...
2018-08-02 11:34:57
19296
转载 Linux内核编译详细总结
一、实验目的学习重新编译Linux内核,理解、掌握Linux内核和发行版本的区别。 二、实验内容在Linux操作系统环境下重新编译内核。实验主要内容:A. 查找并且下载一份内核源代码,本实验使用最新的Linux内核2.6.36。B. 配置内核。C. 编译内核和模块。D. 配置启动文件。本次实验环境是Linux2.6.35内核的环境...
2018-03-12 16:16:31
5789
转载 uboot移植过程中的运行地址和装载地址的区别
uboot移植过程中的运行地址和装载地址的区别 uboot移植涉及到底层硬件的设置,因此需要掌握UART、系统时钟频率、NOR FLASH、NAND FLASH、SDRAM、网卡、存储控制器等硬件的功能及配置,这些都可以参照相应开发板的芯片手册来完成,没有什么大的问题。在移植过程中,一直困扰我的是PIC(代码无关性)问题,即运行地址和加载地址的区别...
2018-03-06 10:14:59
1087
原创 SylixOS 基于STM32平台的GPIO模仿I2C总线的驱动开发流程
概述本文档以STM32F767平台为例,详细介绍SylixOS上GPIO模仿I2C总线的驱动开发流程。 初始化GPIO模仿的I2C总线的初始化,实际上是I2C总线的SDA和SCL的GPIO管脚初始化。初始化流程如图 2.1所示。图 2.1 I2C初始化流程图代码实现,如程序清单 2.1所示。I2C总线的SDA和SCL两个GPIO管脚的GPIO速度要设置成快速模式,输出模式需要设置成推挽输出模式。...
2018-02-27 11:55:37
1111
转载 优快云如何转载别人的文章
优快云如何转载别人的文章 对于喜欢逛优快云的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想快速转载别人的博客,把别人的博客移到自己的空间里面,当然有人会说我们可以收藏博客啊,就不需要转载,(⊙o⊙)… 也对。。实现 因为我自己当初想转载的时候却不知道该怎么转载,所以学会了之后...
2018-02-26 10:54:11
311
原创 调试i.MXRT1050的网卡遇到的问题
1、当编写无uboot的驱动时,一定要注意GPIO的管脚上拉,下拉,管脚复用的上下拉使能问题。尽量参考uboot或者裸机的实现去编写代码。实在调试不出来,可以考虑打印所有的驱动相关的寄存器。2、问题: 网卡驱动代码写完之后,通过MMFR寄存器,读取PHY的寄存器的值失败(全F情况)解决方法::读取失败一般是硬件的管脚,时钟或者PHY的类型没有配置好(MII、RMII、RGMII)我遇到的问题是:
2018-01-19 14:43:29
2178
原创 性能测试工具VTune的功能和用法介绍
1.VTune介绍 VTune可视化性能分析器(Intel VTune Performance Analyzer)是一个用于分析和优化程序性能的工具,作为Intel为开发者提供的专门针对寻找软硬件性能瓶颈的一款分析工具,它能确定程序的热点(hotspot),找到导致性能不理想的原因,从而让开发者据此对程序进行优化。VTune性能分析器能通过以下的手段发现和定位程序中的性能问题:
2018-01-19 14:36:21
38315
原创 usb device移植遇到的问题
1、加载usb device驱动模块和zero模块, 将板子的micro-usb口,用usb线连接到PC机上,PC机无反应,不进行设备的枚举过程:原因:1)板子的PHY和时钟没初始化好2)板子的usb device模块的硬件有问题注意: 如果是外部时钟没初始化好,可能会造成寄存器读写不了,一读写就程序崩溃2、中断中调用malloc申请内存,导致系统崩溃原 因
2017-12-27 14:12:00
779
原创 uboot编译
第一步:安装交叉编译器:1、下载gcc-4.Xxx(针对不同的板卡有不同的交叉编译器)解压:tar xvf xx.tar.xx2、设置交叉编译工具(1)仅当前终端使用$ cd /Toolchain$ tar -xvjf Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux.tar.bz2$ export PATH=$PATH:
2017-12-27 14:00:34
839
原创 SylixOS USB总线原理浅析
USB总线的工作原理USB总线的硬件接线如图 1.1和图 1.2所示,USB接口只有4条线:VCC,GND,D-,D+。PC机的USB插孔的D-和D+数据线均连接15K欧姆的下拉电阻。而USB设备端的D-或D+数据线连接1.5K欧姆的上拉电阻。当设备插入PC机的时候,会将PC机的D-或D+端的电压拉高,当PC机在D-或D+端检测到高电平时,就知道有设备插入了。如果是PC机D-端被拉高,接入
2017-12-25 22:23:43
791
原创 SPI总线基础
SPI总线介绍SPI基本原理介绍SPI全称是串行外设接口(Serial Peripheral Interface)。优 点: 操作简单,数据传输速率较高。缺 点: 没有应答机制,无法确定数据是否正确传输。工作方式: 以主从方式工作,通常有一个主设备和一个或多个从设备基本概念:连接在SPI上的设备分为主机设备和从机设备,主机设备是CPU,从
2017-12-06 18:36:56
556
原创 SPI NOR 设备介绍(基于i.MX6Q平台,25VF016B型号) + SylixOS SPI总线框架
SPI总线介绍1.1 SPI基本原理介绍SPI全称是串行外设接口(Serial Peripheral Interface)优 点: 操作简单,数据传输速率较高。缺 点: 没有应答机制,无法确定数据是否正确传输。工作方式: 以主从方式工作,通常有一个主设备和一个或多个从设备基本概念:连接在SPI上的设备分为主机设备和从机设备,主机设备
2017-12-06 17:44:14
1779
原创 Platform_device的platform_get_resource分析移植
一、平台设备platform_device定义: static struct platform_device at91_usba_udc_device = { .name = "atmel_usba_udc", .id = -1, .dev = { .platfo
2017-12-06 17:07:55
532
原创 PCI总线基础知识和SylixOS下PCI设备驱动框架介绍
一、PCI总线基础知识1、PCI总线的概念 PCI是Peripheral Component Interconnect(外设部件互联)的缩写,它是CPU和外围设备通信的高速传输总线。PCI总线的工作频率一般为33MHz(有的PCI总线工作频率为64MHz和132MHz),是一种同步的独立于处理器的32位或64位局部总线。2、PCI总线结构 PC
2017-10-24 20:27:56
785
原创 SylixOS线程创建的流程分析
概述本文档的主要内容是分析SylixOS线程创建的流程,详细介绍了SylixOS的线程创建函数API_ThreadCreate。 环境和参数检查在SylixOS中,线程的创建函数不能在中断中调用。且在线程的创建时,系统会对线程的堆栈大小、优先级和名字等参数做有效性检查,一旦参数出错,则线程创建失败。当参数有效性检查完毕后,系统调用_Allocate_Tcb_Object函数,从空闲
2017-10-24 20:09:45
611
原创 SylixOS 基于ZYNQ的时钟频率修改详解
概述本文档以ZYNQ7000平台为例,详细介绍如何去修改ZYNQ的时钟频率。 时钟频率修改流程ZYNQ7000的时钟频率修改流程,如图 2.1所示。具体步骤如下:步骤一:解除ZYNQ7000的寄存器写锁定;步骤二:向对应寄存器写入我们需要设置的PLL倍频值和PLL配置参数;步骤三:进行PLL的旁路模式转换和软件重启,使我们刚刚设置的PLL倍频值和PLL配置参数生效;
2017-09-15 17:48:03
3733
原创 USB总线工作原理
USB总线工作原理一、问:当一个USB设备插入PC机,PC机怎么知道有设备插入? 答:如图1-1和图1-2所示,USB接口只有4条线: VCC(5V),GND,D-,D+。 PC机的USB插孔的D-和D+数据线均连接15K欧姆的下拉电阻。而USB设备端的D-或D+数据线连接1.5K欧姆的上拉电阻。当设备插入PC机的时候,会将PC机的D-或D+端的电压拉高,当PC机在D-或D+端检测到...
2017-09-09 15:39:07
16844
原创 USB的编码方式——NRZI编码
NRZI编码: 像 UART、I2C、SPI 、USB 这样的串行总线,通信时连续的0、1 信号只通过一根数据线发送给接收者。但是因为发送者和接收者运行的频率不一样,信号的同步就是个问题,比如,接受者接收到了一个持续一段时间的低电平,无法得知这究竟是代表了 5 个 0 还是 1000 个 0 。一个解决办法,就是在传输数据信号的同时,附加一个时钟信号线,用来同步两端的传输,接受者在时
2017-09-09 15:34:54
2690
原创 USB抓包工具--Bus Hound的使用方法详解以及下载
概述 Bus Hound是一个超级软件总线协议分析器,用于捕捉来自设备的协议包和输入输出操作。该软件是由美国perisoft公司研制的一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名"hound"的中文意思为"猎犬",即指其能敏锐地感知到总线的丝毫变化。 本文档是对USB控制开发软件—Bus Hound的使用方法的总结。适用于正在学习USB总线驱动的技术工程师。 Bus...
2017-06-16 11:37:03
33166
原创 SylixOS 基于AT91SAM9X25的CAN总线传输流程解析
概述本文档是在AT91SAM9X25平台上进行SylixOS CAN总线驱动开发时,对CAN总线底层传输流程的解析。适用于正在学习CAN总线驱动的技术工程师。 技术实现CAN总线的传输流程可以分成两个部分:一部分是CAN总线的发送流程,主要工作是将准备发送的数据填充到对应的寄存器,并使能开始传输位和邮箱中断位;另一部分是CAN总线的中断处理流程,主要工作是对触发中断的中断源
2017-05-15 14:36:01
1085
原创 SylixOS CAN总线初始化流程解析
概述本文档是在AT91SAM9X25平台上进行SylixOS CAN总线驱动开发时,对CAN总线初始化流程的分析。适用于正在学习CAN总线开发的技术工程师。 技术实现CAN总线的初始化流程可以分成两个部分:一部分是CAN总线通道资源初始化,主要工作是对通道相关的管脚和中断以及总线编程时需要的时钟等资源的初始化;另一部分是CAN总线的硬件初始化,主要工作是对总线的波特率的设置
2017-04-17 19:23:55
2482
原创 SylixOS里NUC970平台SPI总线数据传输
概述本文档是对NUC970平台上的SylixOS SPI总线数据传输的详细分析。 SPI总线数据传输流程NUC970平台上SPI总线数据传输流程如图 21所示。当一个消息准备传输时,第一步判断发送和接收缓存区是否为空,若为空,就没有要接收或发送的数据,直接返回。第二步,判断消息长度是否大于指定的值(可以改变,但要大于16个字节),若大于,以16字节为单位传输数据,否则以单字
2017-03-10 13:55:11
946
原创 SylixOS 里NUC970平台上SPI总线驱动移植
概述本文档是移植SPI总线驱动到NUC970平台过程的总结,提供一些SylixOS SPI驱动相关的框架理解和移植心得。 SPI总线框架流程图NUC970平台上SPI总线驱动框架如图 21所示,SPI总线框架可分为两个部分,总线相关初始化和数据传输流程。 图21 SPI驱动流程图 技术实现SPI总线驱动可分为两个部分:总线相关初始化和数据传输,下面
2017-02-17 18:51:34
1133
原创 SylixOS线程调度浅析
概念在SylixOS中,在就绪线程和运行线程之间还存在候选运行线程。线程就绪后会被放置到就绪表中,而最需要运行(优先级最高)的线程会被放置到候选表,正常情况下CPU当前任务结束后,会运行候选表里的线程。 就绪表就绪表存放了SylixOS中除了"候选表中的线程"外,所有就绪没运行的线程。候选表每一个CPU的结构体里面都有一个候选运行表,每一个候选表里最多有一个候选运行线程
2017-02-14 18:54:49
1046
SSHSecureShellClient
2018-08-02
USB抓包工具Bus Hound 6.0.1带注册码+使用说明(最新的)
2018-08-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人