当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]cramfs+yaffs嵌入式平台的实现

首先我们要将我们的某个分区格式化成yaffs格式。

制作格式化工具过程如下:

mtd-utils编译

1、编译libz:

首先安装 zlib 库,这个是后面的库的编译基础。

http://www.zlib.net/zlib-1.2.3.tar.gz

解压

tar zxf zlib-1.2.3.tar.gz

由于 zlib 库的cONfigure 脚本不支持交叉编译选项,可以采用以下方法来解决:

1)CC=ARM-softfloat-Linux-gnu-gcc ./configure --prefix=/*你的安装目录*/ --shared

注意:这里配置指向 --prefix=/*你的安装目录*/,会自动安装在 --prefix=/*你的安装目录*/ [include,lib] 目录下,

千万不要装错目录了,不然后面会找不到这个库的。

2)make

3)make inSTall

安装完后检查一下目录 --prefix=/*你的安装目录*/[include,lib] ,假如 include 中没有 zlib.h 之类的头文件,lib 中没有 libz.so.1.2.3 ,那就自己手动拷到这些目录下去,记着拷的时候把所有的 *.h 都需要拷过去,在拷库的时候用 cp –a libz.* /…./lib 就行,要用上 –a 选项

2、编译mtd-utils:

下载mtd-utils-1.0.0.tar.gz:

ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.0.0.tar.gz

解压目录为mtd-utils-1.0.0

#cd mtd-utils-1.0.0

1) 修改Makefile

CROSS=arm-softfloat-linux-gnu-

2) make ( 用file命令查看,如 file mkfs.jffs2 )

#file mkfs.jffs2

mkfs.jffs2: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped

可知:交叉编译成功。

因为格式化flash分区是在板子上运行的,所以要交叉编译,这个概念一定要分清楚。

编译好后将生成的flash_eraseall工具拷贝你的文件系统下的usr/bin下

flash_eraseall /dev/mtd/x

擦除干净后再

mount -t yaffs /dev/mtdblock/x /mnt

即可挂上了yaffs分区,解释一下什么是/dev/mtd/x和/dev/mtdblock/x

/dev/mtd/x 是字符设备 mtd设备的主设备号为90,至于次设备号:单数为只读,双数为读写。《构建嵌入式LINUX系统》一书有介绍,可以参考一下

/dev/mtdblock/x 是块设备

最后在linuxrc下添加一句话就可以实现分区的自动挂载了

/bin/mount -t yaffs /dev/mtdblock2 /mnt/yaffs

部署文件系统到开发板上

我的分区信息

dev: size erasesize name

mtd0: 00100000 00004000 "bootloader" //1M

mtd1: 00400000 00004000 "linux-kernel" //4M

mtd2: 02000000 00004000 "cramfs-partition" //32M

mtd3: 01b00000 00004000 "yaffs-partition" //27M

flash烧写命令和分区设置要和内核设置是一样的

烧写内核

tftp 30008000 zImage

nand erase 100000 400000

nand write 30008000 100000 400000

烧写cramfs文件系统

tftp 30008000 rootfs.cramfs

nand erase 500000 2000000

nand write 30008000 500000 2000000

启动参数设置

setenv bootargs root=1f02 console=ttySAC0,115200 init=/linuxrc devfs=mount display=sam240

setenv bootcmd nand read 30008000 100000 400000 ; go 30008000

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

新竹2025年9月9日 /美通社/ -- 全球客制化存储芯片解决方案设计公司爱普科技今日宣布,其新一代PSRAM—ApSRAMTM (Attached-pSRAM)已通过客户平台验证,预计将于年底开始量产。ApSRAMT...

关键字: PSRAM 低功耗 存储芯片 MT

为高效精准的分析提供一站式解决方案 上海2025年9月9日 /美通社/ -- 科学探索与产业升级浪潮下,AI赋能的精准分析技术正加速重构未来实验室。自动化技术和技术培训领域的世界领导者,Festo(展位:E2333)首...

关键字: FESTO 测试 MT 运动控制

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制药(PharmaEngine, Inc.)发现的新一代PRMT5抑制剂PEP0...

关键字: 泰科 AI MT BSP

-Vehere宣布推出v1.8.1,为安全分析师提供更精准的检测、更快的响应和更智能的工作流程 旧金山2025年7月18日 /美通社/ -- 领先的人工智能驱动型网络情报提...

关键字: 网络 UI MT BSP

上海 2025年6月9日 /美通社/ -- 自2004年首届AMTS启动以来,中国汽车产业完成了从汽车大国迈向汽车强国的飞跃。市场规模爆炸式增长的背后,是中国汽车产业链的不断完善和升级——技术研发与创新、电动化智能化转...

关键字: 中国汽车 MT BSP 汽车技术

创新结构融合多元材质 东京 2025年5月27日 /美通社/ -- 卡西欧计算机株式会社今日宣布推出最新款G-SHOCK品牌抗震腕表MTG-B4000。这款全新腕表搭载由人类设计师与AI技术协同开发的独特表框。MTG...

关键字: MT AI SHOCK BLUETOOTH

第二子代MRCD和MDB最高支持12800MT/s速率,较第一子代产品提升45% 上海2025年1月24日 /美通社/ -- 澜起科技今日宣布,其最新研发的第二子代多路复用寄存时钟驱动器(MRCD)和第二子代多路复用数...

关键字: DDR RC CD MT

深圳2024年10月28日 /美通社/ -- 近日,TCL智能终端安全实验室(以下简称"TCL")获得国际权威第三方检测认证机构TÜV南德意志集...

关键字: TCL 网络安全 MT SI

前瞻布局下一代存储市场 台北2024年10月28日 /美通社/ -- 神盾集团旗下IP公司—乾瞻科技,宣布其基于JESD 230G规范设计的ONFI 5500 MT/s IP,已成功通过N6/N7矽验证。该ONFI I...

关键字: MT IP ARM Flash

香港2024年8月19日 /美通社/ -- 近期,全球领先的差价合约经纪商ATFX宣布,上线市场热门的MetaTrader 5(MT5)。这一里程碑式的举措,不仅彰显了ATFX在持续升级客户服务质量方面的坚定承诺,更标志...

关键字: AD MT 保护功能 智能科技
关闭