自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Bean Huo

MicroSW, Linux kernel, IOKPP, Linux Block, IO Storage

  • 博客(73)
  • 资源 (10)
  • 收藏
  • 关注

原创 使用shmget在进程共享内存

用于Linux进程通信(IPC Inter-Process-Communication)中,共享内存作为一种方便而且有效的手段, 我们在程序中经常看到。其中共享内存函数由shmget、shmat、shmdt、shmctl四个函数组成,其中shmget用来创建一个共享内存对象。 #include <sys/ipc.h> #include <sys/s...

2018-10-08 20:07:31 260

原创 enum 类型到底有多大

这里有一个问题:#include typedef enum { CAN1 = 1, CAN2, CAN3, CAN4,} Enum_8bit;typedef enum { IP4 = 0x1234, IP5 = 0x444, IP6 = 0xffee,} Enum_16bit

2018-01-04 20:33:02 4428 1

原创 Automake 学习笔记之一:The Introduction / Example Of GNU Autoconf, Automake And Libtool

Autoconf/automake/libtool是GNU Autotools家族里用来自动生成makefile 和 configure的工具, 有了它, 我们就不用去写那么繁琐的各种角本文件,用它我们就可以自动生成各个角本文件,来管理和组织我们的代码项目。Autotools不但是一个工程建设系统,也可以用来做一些系统环境兼容性检测。正因为有了它, 我们可以用1. ./configure2. Make3. make install这三步曲去编译我们的项目。下面来用一个很简单的hello autoc

2018-01-03 23:53:12 601

原创 如何移植sg3_utils到andriod系统中

sg3_utils包含各种可以从用户空间发命令到scsi设备, 这篇文章主要告诉大家如何移植sg3_utils到ARM平台上。 之前我们主要用sg3_utils是在台式机或者直接复制它到目标机上去编译, 但对于大多数嵌入式设备来说, 我们需要交叉编译,尤其是对于android系统, 如果external下面没有所需要的工具包时, 我们必须对它进行交叉编译。为什么要把sg3-utils的交叉编译写一篇文章呢?只要是在我自己交叉编译的过程中,发现了一些问题,这里只是作一个总结,以帮助后来者少走弯路。

2017-12-13 00:21:34 2048

原创 how to create and submit kernel patch through git step by step

this paper is to tell you how to submit your linux kernel patch to limux community

2017-04-28 16:20:03 874 1

转载 mtd-utils编译过程

一.mtd-utils编译过程下载:sun@ubuntu:/work/6410/tools$ git clone git://git.infradead.org/mtd-utils.git修改Makefilesun@ubuntu:/work/6410/tools/mtd-utils$ vi common.mk   1 CROSS=arm-none-linux-gnueabi- 

2015-06-11 08:41:49 2700

转载 S3C6410使用---30让ubifs作rootfs

by wangcong02345                               欢迎转载,但请注明出处                               http://blog.chinaunix.net/blog/post/id/3862627.html一.mtd-utils编译过程下载:sun@ubuntu:/work/6410/to

2015-03-03 13:54:43 1333

转载 linux内核kallsyms机制分析

一、前言Linux内核是一个整体结构,而模块是插入到内核中的插件。尽管内核不是一个可安装模块,但为了方便起见,Linux把内核也看作一个模块。那么模块与模块之间如何进行交互呢,一种常用的方法就是共享变量和函数。但并不是模块中的每个变量和函数都能被共享,内核只把各个模块中主要的变量和函数放在一个特定的区段,这些变量和函数就统称为符号。因此,内核也有一个module结构,叫做kernel_module

2015-02-28 16:01:03 1150

原创 关于 insmod Unknown symbol error

分享是一种快乐。 好久没有写字ko模块驱动,今天写了一个简单的确nand驱动,在做成KO模块,insmod时,出现了下面的问题:micronlld_nand: module license 'unspecified' taints kernel.Disabling lock debugging due to kernel taintmicronlld_nand: Unknown symbol

2015-02-28 15:47:40 3807

原创 ubifs挂载与写文件时的函数调用关系

对于ubifs文件系统,在做好attach与ubimkvol后,就是mount 与写了。 在mount时也有一个写的这过程,具体的函数调用过程: ubifs_write_node—->ubifs_leb_write—->ubi_leb_write—–>ubi_eba_write_leb这时才触发真正的写ubi_io_write在向ubifs的目录,写一个文件时的调用过程:ubifs_wbuf_w

2015-02-11 10:55:17 914

原创 ubi patch for MLC nand power loss (1)

最近要出一个关于mlc nand 的powe loss的patch,我们知道,对于mlc nand,ubifs是没法用的,因为如果有powerloss出现,则必会破环原有的数据,如晨ubi的网站:UBIFS authors never tested UBI/UBIFS on MLC flash devices. Let's considersome specific aspects

2015-02-09 14:47:24 1660

原创 ubi 下ubi_ltree_entry获取与初始化过程

在ubi中,每次写读一个volume是,都会对当期的这个volume进加锁。用到的就是rw_semaphore。关于读写锁可以查看一下网上别人写的东西。获取这个锁的函数(这里我主要以write为例来说明)是:/** * leb_write_lock - lock logical eraseblock for writing. * @ubi: UBI device descrip

2015-02-04 15:38:04 767

原创 linux 下,ubi获取write mutex的问题

在linux中有,对于互斥的操作,大多用到了mutex,今天发现一个问题,同一个进程内可以多次获取到。有点像vxworks中的量子锁一样。但是会有crash打出:=============================================[ INFO: possible recursive locking detected ]3.14.0-xilinx-00012-gfb

2015-02-02 16:42:04 1128

原创 关于6410中4bit s3c_nand_read_page_4bit函数疑问

对于s3c2410/6410都是大家所熟习的开发板和学习板,最近看nand的ecc,看了6410的硬件ecc,其它没有什么问题,我之前看的2410的没有多大的区别,可是对于读,就是一直不明白为什么在读完data后,有一个write_buf的操作,如下:static int s3c_nand_read_page_4bit(struct mtd_info *mtd, struct nand

2015-01-27 16:19:47 910

原创 关于nand flash 特殊 features的一点点

关于nand的特性这里就不说了,这一节主要针对nand的新feature的说明。一、Copyback Operations CopyBack功能,简单的说就是,将一个页的数据,拷贝到另一个页。如果没有CopyBack功能,那么正常的做法就是,先要将那个页的数据拷贝出来放到内存的数据buffer中,读出来之后,再用写命令将这页的数据,写到新的页里面。 而CopyBack功能的好处在于

2015-01-16 16:33:54 3142

原创 关于linux下mtd_oobtest.ko的一点点分析

最近在学习nand,写完nand controller的驱动后,随手也作了一下测试,发现mtd_oobtest老是出错,从这里开始,对它做一点点的分析:当我们加载mtd_oobtest.ko模块时,下面的函数就会调用:static int __init mtd_oobtest_init(void){ int err = 0; unsigned int i; uint64_

2015-01-09 15:40:40 2425

原创 uboot下关于quad spi nor 的一点点

一般情况下,我们现在大多会把bootloader、kernel存放在spi nor中,上电时会从它里面加载到ram,这就有一个问题,如果以spi的接口去读,会很慢,但是我查看了目前最新的uboot,还是没有spi nor的quad I/O mode的支持,上电时还是用的extended mode,但在内核中有相应的的接口中来使能quad I/O.是不是看走眼了呢?好像不是,之前一起用s

2014-12-24 12:48:28 3449

原创 老版本的linux内核中mtd test 出现 mtd_oobtest: error: verify failed at 0xXXXX 问题

最近在做parallel nor的东西,在用mtd/tests/下的mtd_oobtest时,老时有下面的打印:mtd_oobtest: error: verify failed at 0xXXXmtd_oobtest会对相关的device共作五步test,其中1,3,4过了,就是在2,5这两步是老是出现上面的错误,后来发现,其实这个问题只是在老版本的内核存在,在新内核中没有。

2014-12-22 10:31:54 2195

原创 share 【详解】如何编写Linux下Nand Flash驱动

写的很好,详细地址:http://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html

2014-12-08 13:58:02 655

原创 新内核 中关于spi nor的注册

3.X的内核,对于platform_device的注册和platform data,全都放在dts文件中指定,对于spi nor来说,它的整个驱动包括了master driver,master device,spi nor driver 和spi nor device.

2014-11-26 14:00:26 4359

原创 关于uboot下data abort的问题

在uboot下,经常会出现一些非常让人揪心的问题。解决这些问题的关键就是方法与方向,把握好这两点,一切问题都可以迎刃而解。同时也要自信。如下关于data abort的问题。有时我们会遇到如下的出错信息,这时CPU会reboot,

2014-06-27 15:02:38 7212

原创 latest kernel platform register

在内核中,对于platform的注册有了很大变化

2014-06-18 15:24:56 915

原创 Zynq的中断号在dts中的表示

关于zynq的中断述,在网上和

2014-06-13 14:56:38 5971

原创 xcale blob移值小节

前一段时间一直在xscale平台上作相关的validation工作,发

2014-05-29 15:44:05 1005

原创 如果在你的ubuntu在只有一个网卡的前提下增加一个IP,让开发板来与此相连

之前一直是把PC放到自己的办公桌前,这样方便开发板与此相连,但这有一个问

2014-05-16 16:19:57 1132

原创 git不同linux版本说明

在确保你安装好git后,我们就可以通过git来下载不同版本的linux kernel了,这时要先说一下

2014-05-15 09:02:37 1945

原创 cfi_cmdset_0002.c中关于等待队列的使用

1、linux下等待队列的基本概念在内核里面,等待队列是有很多用处的,尤其是在中断处理、进程同步、定时等场合。可以使用等待队列在实现阻塞进程的唤醒。它以队列为基础数据结构,与进程调度机制紧密结合,能够用于实现内核中的异步事件通知机制,同步对系统资源的访问等。

2014-05-06 09:20:56 1546

翻译 怎么样通过使用git来创建并提交你的第一个linux内核patch

原文地址:HOWTO: Create and submit your first Linux kernel patch using GIT

2014-05-05 22:18:17 1152

原创 linux下cfi_cmdset_0002中关于timeout探究

这里有一个关于cfi_cmdset_0002http://lists.infradead.org/pipermail/linux-mtd/2013-April/046446.html

2014-05-04 16:48:23 1850

原创 u-boot下spi norflash驱动大杂绘

总述

2014-04-29 16:48:30 6263

翻译 如何从unix/linux文件中删除ctrl-m(^M)字符

Remove CTRL-M characters from a file in UNIXDescription How to remove CTRL-M characters from a file in UNIX.You may need to do this when you import a text file from MS-DOS (or MS-Windows), a

2014-04-22 09:04:40 2831

原创 objcopy转换elf文件为bin文件

objcopy转换elf文件为bin文件$arm-linux-objcopy -O binary -R .note -R .comment -S boot.elf boot.bin#接着将 boot.elf 转换为 boot.bin#使用 -O binary (或--out-target=binary) 输出为原始的二进制文件#使用 -R .note  (或--remove-sec

2014-04-14 19:36:03 12909 2

原创 linux MTD partitions方法大杂烩

一、总述在linux中,我们一般会对flash进行一个分区,不同的地址空间存放不同的内容。一般我们只需要分3-4个区,第一个为boot区,一个为boot参数区(传递给内核的参数),一个为内核区,一个为文件系统区。而对于bootloader中只要能将内核下载到A~B区的A地址开始处就可以,C~D区的C起始地址下载文件系。这些起始地址在MTD的分区信息中能找到。所以bootloader对分区的概念

2014-04-02 16:49:48 9637 1

原创 linux下启动参数大杂烩

之前移植linux,对启动参数一直理解的不是很透彻,今天以别人的一篇文稿为开始(原文出处不详),来一步一步说说它具体的实现与每一个参数的意思.u-boot的环境变量是使用u-boot的关键,它可以由你自己定义的,但是其中有一些也是大家经常使用,约定熟成的有一些是u-boot自己定义的,更改这些名字会出现错误下面的表中我们列出了一些常用的环境变量,  环境变量

2014-04-02 08:35:25 1167

原创 intel xscale PXA270 porting :unsupported machine ID大杂烩

在移植linux kernel时,输出booting the kernel,就再也没有输出信息问题解决。

2014-03-04 16:44:02 1366

原创 uboot学习之cp命令

uboot下cp下命令执行过程

2014-03-01 16:22:19 4624

原创 Astyle使用方法

在Source Insight集成Astyle下载地址:      Windows平台下也有好多人都喜欢用SourceInsight编辑C/C++程序,但是SourceInsight没有提供对代码格式化的功能,如果将Artistic Style集成到SourceInsight中,那就可以为它扩展出代码格式化的功能了。      假定AStyle.exe的目录是“C:\Artisti

2014-02-21 13:20:04 14258 1

原创 uboot 2012.10移植到at91sam9260ek草稿之一

准备:之前一直用的uboot是1.3的,由于去年的换工作,在新的岗位上,好多产口的uboot 已经不用1.3这样的老版本了,本着总结与学习的态度,我想把2012.10再移植一次,移植到at91sam9260ek的板子上,这前对于1.3.4可以直接在http://www.at91.com/linux4sam/bin/view/Linux4SAM/U-Boot上下载,同时也可以下载到补丁。这样可以

2014-02-19 22:34:13 1669

原创 关于uboot下cp.b如果两个地址同为flash地时,buffer无法正常写的原因

第一、cp.b命令说明cp [.b, .w, .l] source target count       - copy memorycp命令可以在内存中复制数据块,包括对Flash的读写操作。第1个参数source是要复制的数据块起始地址,可以是sdram的地址,也可以是norflash的址址。第2个参数target是数据块要复制到的地址。这个地 址如果在Flash中, 那么会直接调用写Flash的函数操作。所以

2014-02-19 22:32:20 3737

翻译 监控 Linux 性能的 18 个命令行工具

对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易。基于此原因,我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作。这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因。这个命令行工具列

2014-02-18 19:55:26 811

自动规范代码格式工具Astyle

之前一直找一个可以自动规范代码格式工具,用了很多,本人觉的还是这个好用,简单还是开源的,里面有源代码,有需要的同学可以看看。   同时可以在Source Insight集成Astyle

2014-02-21

PDF密码破解工具

PDF文档破解工具,绿色的,决对好用.pdf password recover 3.0

2013-08-04

PDF.Password.Remover.v3.0

PDF.Password.Remover.v3.0.rarPDF.Password.Remover.v3.0.rarPDF.Password.Remover.v3.0.rarPDF.Password.Remover.v3.0.rar

2010-08-13

华为射频基础知识培训

华为射频基础知识培训华为射频基础知识培训华为射频基础知识培训华为射频基础知识培训华为射频基础知识培训华为射频基础知识培训

2010-07-26

si4431布板技术要求

si4431布板技术要求 si4431布板技术要求 教你进行RF的布线技术

2010-07-24

C语言实战105例:TP312C W375

C语言实战105例 随书资源 linux c

2009-10-15

linux0.11内核源码及详解

linux0.11内核源码及详解 kernel 0.11

2009-10-15

protues_ARM7

protues下ARM7实验,ARM7 iic

2009-10-15

嵌入式系统设计师历年试题

嵌入式系统设计师历年试题,嵌入式系统设计师历年试题

2009-07-14

空空如也

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

TA关注的人

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