mtd program in user space
来源:互联网 发布:c语言大小写转换 编辑:程序博客网 时间:2024/05/17 07:13
mtd 是linux用来管理存储设备的,在insmod 相关驱动模块后,一般会在 /dev 下面建立设备的节点,如字符或者块设备,在用户空间对相关设备进行编程的时候,只需要了解响应设备的操作I/O命令,引用.h头文件进行编程,open对应的设备节点,简化为对文件的操作。
一般情况下是对FLASH设备进行操作,需要注意FLASH的写是需要先EARSE的,在测试中如果你发现a可以写成b以为就完事了,实际上你就不能把b写出c,其实是1可以写成0,0不能写成1造成的,所以编写用户程序也需要注意这里的顺序,而erase是需要block大小来进行的,所以这里有个读写缓存提高效率的地方。
关于UBI
在mtd上面建立UBI层,实用UBIFS可以提高RAW-FLASH类得存储设备的性能。如果使用UBI,则FLASH的oob都不用了,他不往oob上写东西,使用UBI需要初始化设备的使用空间,需要了解FLASH芯片的相关参数,其中主要考虑的sub-page size,因为他的大小会直接影响到以后的使用,在初始化UBI img 的时候制定的subpage size必须在以后的attach中使用相同的参数,否则会提示subpange的大小不一致,在编程中将会得到错误的返回。
其次需要注意的是编程中源码的很多内核空间的函数,在bootloader中是需要屏蔽的,那么实现的具体动作需要移植的人员充分了解做了什么,这么做是否正确,如果进入到内核管辖的时候,基本UBI就相当于一个模块了,驱动模块编程应当不陌生了吧,而且源码是开源的,慢慢看动吧,就几个结构体,UBI_device,ubi_volume...,还有一些对这些设备的操作而已。
- mtd program in user space
- FUSE - implementing filesystems in user space
- Writing a Real Driver -- In User Space
- how to disable alignment trap from user space in linux
- DMA in user space (uio dma) //code analysis
- linux i2c access in kernel and user space
- Manipulating I2C Peripheral Directly in Linux User Space
- MTD系列 - MTD User modules -- Raw block
- 翻译 Cg Program in Unity - 1.4 Shading in World Space (一)
- 翻译 Cg Program in Unity - 1.4 Shading in World Space (二)
- Kernel Space - User Space Interfaces_Mmap
- user space to kernel space
- Kernel Space - User Space Interfaces
- Kernel Space - User Space Interfaces
- kernel space vs user space
- kernel space and user space
- User space和Kernel space
- use WinDbg running in kernel mode to set breakpoints in user space
- Collapsing Margins
- Android 的相关文件类型
- 编程之美--寻找满足条件的两个数
- 《国王的演讲》好片!
- 利用indy的tidftp控件实现ftp协议_delphi教程
- mtd program in user space
- number 1
- android Intent实现Activity之间跳转并传值
- 我之理解Java的四个基本特征
- Java流的概念
- 使用WINDOWS上的命令解释程序(cmd)的一个小技巧
- 做一个行万里路的旅者
- 如何在weka中使用libsvm
- 使用Vim打造IDE--高亮显示