自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PCIE 基础知识

PCI-Express (peripheral component interconnect express)是一种高速串行计算机 扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。

2022-10-30 21:13:38 1541 1

原创 VxWorks下DOS文件系统与SATA块设备驱动交互流程

Vxworks 介绍VxWorks 是专门为实时嵌入式系统设计开发的操作系统内核,为程序员提供了高效的实时多任务调度、中断管理,实时的系统资源以及实时的任务间通信。在各种 CPU 平台上提供了统一的编程接口和一致的运行特性,尽可能的屏蔽了不同 CPU 之间的底层差异。应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。基于VxWorks 操作系统的应用程序可以在不同 CPU平台上轻松移植。VxWorks是一种功能强大而且比较复杂的操作系统,包括了进程管理、存储管理、设备管理.

2021-08-05 13:33:09 1560

原创 eMMC的五种操作模式

eMMC的五种操作模式:开机模式、ID辨识模式、中断模式、数据传输模式、无效模式。 开机模式 Boot mode Power ON后,卡若收到CMD0(GO_Idle_State)并带argument(0xF0F0F0F0),此时Card若支持Boot Mode则会进入Boot Mode,否则进入identification mode。 ID辨识模式 Card identification Power ON 后,经过

2020-11-29 14:19:36 14201 2

原创 SSD FTL之zone的扩展

1.1编写目的 对FTL模拟器的学习做一些总结,以及对FTL模拟器zone扩展方案的设计说明和实现方式的讲解,供大家参考指正。1.2背景 1.2.1 页映射机制 在采用页级别的FTL机制中,请求的逻辑页面可以被映射到闪存空间中的任何物理页面,因此,这种机制非常灵活,而且具有很高的闪存页面利用率。图[FTL-page-mapping]给出了页级别映射示意图,为了简化问题描述,这里省略了块号,实际上,当每个块中所包含的页数确定以后,可以很容易根据页号计算出块号,比如,如...

2020-09-06 17:32:08 651

原创 NAND Flash 接口对比

好久不写博客了,似乎已经是遥远的过去,希望能够找回过去,回去再看看那些人。本文介绍NAND FLASH接口,搜集资料整理而来。1.SDR和DDR1.1 SDR(Single Data Rate):写数据使用上升沿或下降沿来触发,因为只用上升沿或下降沿,对信号准确性要求较低。1.2DDR(Double Data Rate):写数据通过MCU来控制DQS信号跳变沿来触发(即上升沿和下降沿均触发),所以对信号的准确性要求较高,可以通过增加同步时钟信号来提高信号的准确性。2. Sync和Asy...

2020-07-19 23:33:57 8496

原创 树莓派3B命令行配置wifi,远程桌面连接,扩展存储

如果你有显示器的话,直接打开可视化界面在右上角就可以可视化配置wifi了,很简单。不过很多情况我们是通过ssh连接过去的,也就有必要在终端里配置连接到wifi了。在树莓派3上由于硬件直接支持了,所以很简单。直接编辑文件即可.先测试一下:sudo nano /etc/wpa_supplicant/wpa_supplicant.conf在文件的底部添加下面内容:

2017-08-13 11:00:28 2730 2

原创 python exec 和 eval 函数的用法

在网上看到关于python exec和eval函数 的用法,写的很深刻,记录如下 。 Python有时需要动态的创造Python代码,然后将其作为语句执行  或  作为表达式计算。              exec用于执行存储在字符串中的Python代码。             1、 语句与表达式的区别:表达式是 某事,语句是 做某事(即告诉计算机做什么)。       

2017-06-04 16:29:12 4509

原创 树莓派3安装openCV

本人准备用树莓派+python+openCV实现一个家庭监控的装置 ,在此先介绍如何将opencv安装到 树莓派上,以及用opencv库对树莓派实现简单的应用。在此参考了如下链接的资料:http://www.pyimagesearch.com/2015/02/23/install-opencv-and-python-on-your-raspberry-pi-2-and-b/第一步 :首

2017-05-20 15:47:13 9648

原创 系统启动过程

第一步首先执行internal ROM 内部的一部分代码 通过OM外部引脚判断他的启动模式,判断他从哪个外设来进行启动 第二步 找到外设对相应的外设进行初始化,并将启动代码bl1和bl2 load进SRAM中,跳转到SRAM中继续运行 第三步将OS搬到外部的DRAM中,然后跳到DRAM中完成操作系统的启动

2016-08-30 23:26:19 342

原创 android输入子系统(以矩阵按键为例)

输入子系统有输入子系统核心层(input core),驱动层和事件处理层(event handler)三部分组成。一个输入事件,如如鼠标移动,键盘按键按下等等通过Driver->inputCore->Eventhandler->userspace的顺序打到用户空间传给应用程序。其中Inputcore由driver/input/input.c及相关头文件实现。对下提供了设备驱动的接口,多上提供了ev

2016-08-14 17:09:09 1131

原创 linux内核自旋锁和中断知识讲解

一、并发与竞态三个要点1、只要并发的执行单元同时访问共享内存是就会出现竞态2、解决竞态的唯一途径是保证共享资源的互斥访问,即一个执行单元在访问共享资源时,其他的执行单元被禁止访问。3、访问共享资源的代码区域被称为临界区,临界区需要被以某种互斥机制加以保护二、自旋锁注意事项1、自旋锁是一种忙等锁,当执行临界区是没有获得锁时,CP

2016-08-02 16:42:20 5547

原创 MTK6795刷机与启动

一、 eMMC分区介绍 在进行MTK刷机与启动讲解之前,首先介绍一下eMMC的分区,如下图所示:eMMC默认的有以上四个分区,boot1,boot2,RPMB,和Userdata分区,系统启动一般会从boot分区启动,但会视厂家而定,有的会把数据都放在user分区,控制从哪个分区boot的可以通过ext_csd[179]去设定,如下图所示

2016-07-15 00:19:20 4328 1

原创 mmc读写中scatterlist用法

在阅读内核代码下mmc模块时,经常会遇到mmc读写函数,一般的方式为创建一个请求队列,将命令和数据buf添加到请求队列里,有mmc块设备驱动将请求队列发下去,但是将数据buf并不是直接带下去,而是创建了scatterlist结构体,用sg_init_one函数将buf与其绑定,而由这个结构体进行数据的下发或读取,如下所示,是读取MMC ext——csd的一个函数static intmmc_sen

2016-07-10 22:32:34 4122 3

原创 MTK6795环境搭建与编译

介绍MTK6795开发板的环境搭建与编译

2016-06-23 22:39:58 1311

原创 java笔记之重写,抽象

数组的复制Java中数组复制是通过静态函数 copyOf(type[] original,int lentgh)实现的数组的填充实现了数组部分或全部空间的填充,Java提供了一种方法两种形式Fill(type[] a,type b)表示吧a的全部空间填充为bFill(type[] a,int key1,int key2,type b)表示把a的key1到key2的全部空

2016-05-29 17:42:40 531

原创 emmc协议,FFU功能

emmc协议定义了很多功能,其中有一项是FFU,即在线更新famware,可以用来famware 的 更新,在emmc中是较常用的功能。为了开启FFU操作,主机首先检查eMMC设备是否支持FFU兼容性,通过读取EXT_CSD寄存器的SUPPORTED_MODES和FW_CONFIG,如果支持就会开启FFU操作。FFU操作的开始是通过转换FFU模式通过EXT_CSD的MODE_CONFIG。

2016-05-29 17:20:48 8413 2

原创 java笔记之面向对象,构造,继承

java的学习笔记

2016-05-22 20:40:58 260

原创 java基础知识笔记

java的数据类型笔记

2016-05-21 21:24:51 409

原创 linux内核mmc读写分析

MMC 读写分析EMMC读写操作的调用栈mmc_queue_thread ->  mmc_blk_issue_rq ->    mmc_blk_issue_rw_rq ->      mmc_start_req ->        __mmc_start_data_req ->          mmc_start_request ->             

2016-05-17 21:50:55 7534 3

原创 odroidXu4 GPIO

Odroid-XU4/3提供1个30针的双排扩展头“CON10”。下面是对这些扩展引脚的说明。在扩展报头的所有信号都只是PWRON信号1.8V。     如上图,扩展的引脚功能分别有ADC、UART、SPI、I2C、GPIO,每个gpio都会有相应的扩展号在内核中标识,所以对GPIO 的自定义设置都是通过它这个扩展号去标识。         对于GPIO驱动的开发在官网WIKI中只介绍了上图中扩展

2016-05-15 21:27:22 1969

原创 OdroidXu4开发环境搭建

参考官网描述,介绍Xu4的环境搭建方法

2016-05-15 00:09:04 8356

原创 odroid Xu4介绍

Odroid xu4介绍                       下面对这块开发板做一下简单的介绍,共需要用到的人参考

2016-05-14 23:55:37 15257

原创 在linux中把汇编或c程序交叉编译成二进制文件烧录开发板过程详解

嵌入式开发中在宿主机中要编译能在目标机中运行的程序文件需要用到一种工具:交叉工具链。其中我们常用的交叉工具有以下几种:交叉编译器,交叉连接器,交叉转换器,交叉ELF文件工具,交叉反汇编器。以下通过实例将这些做一些介绍。分解以下讲一个led.S文件编译成可烧录的二进制文件的详细过程:               首先需要编译生成.o文件,使用到了交叉编译器 arm-linux-gcc:arm

2015-05-08 13:12:05 5856 2

原创 文件对比工具Beyond Compare使用方法

处于菜鸟其的现在,实在是自己写不了代码,更设计不了,只能读别人的代码,再根据别人写的代码去模仿,还老能出好多错误。最近开始用一个代码比较工具软件,感觉还挺实用,把一些简单的操作方法记录下来。

2015-04-28 13:48:18 2544

原创 蓝牙4.0ble文件添加

最近一直在学cc2541,蓝牙4.0低功耗,它是基于ble协议栈开发的,ble分为好多层,但是我们开发最多的是,APP层,HAL层,和profile层,APP层是一些应用程序,hal层涉及到一些驱动,profile层涉及通信协议。 接下来讲解一下给源文件中添加文件的过程:

2015-04-27 00:01:09 522

空空如也

空空如也

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

TA关注的人

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