完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我这边使用的是AM335X EVM platform ,操作系统是 ubuntu 10.04。 我参考了http://processors.wiki.ti.com/index.php/MTD_Utilities去编译mtd utilities,结果却出现了跟下面这位网友完全一样的问题:http://e2e.ti.com/support/embedded/linux/f/354/p/249979/878759.aspx。然后我很好奇的是:在编译mtd-utils时,mtd-utils-d37fcc0目录下面的Makefile,为什么添加上的是CROSS=ARM-none-linux-gnueabi-,而不是CROSS=arm-arago-linux-gnueabi-? |
|
相关推荐
11个回答
|
|
想问一下TI的FAQ,有没有可以直接使用在am335x平台上的mkfs.jffs2工具可以下载?这个有点急。。。我想在SPI FLASH上面跑起来文件系统,不知道除了默认的jffs2格式外,还能不能用其他的格式?
|
|
|
|
LY90186 发表于 2018-5-15 08:36 我后来换了一个mtd-utils版本,然后就可以通过了。但是编译出来的mkfs.jffs2却不能使用。我使用如下命令去制作镜像文件: ~/mtd/install/***in$ sudo ./mkfs.jffs2 -lqn -e 64 -r fs -o 12.jffs2 ./mkfs.jffs2: 1: Syntax error: word unexpected (expecting ")") 为什么会出现这样的提示错误,难道是还没安装成功吗? ~/mtd/install/***in$ file mkfs.jffs2 mkfs.jffs2: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped |
|
|
|
LY90186 发表于 2018-5-15 08:56 看起来您是想在嵌入式系统中使用交叉编译好的MTD 工具,其实你完全可以在宿主机Ubuntu下编译和使用MTD工具来制作JFFS2文件系统,并烧写到SPI FALSH中去。 |
|
|
|
344868615qq 发表于 2018-5-15 09:09 我是已经按照你的说法,在ubuntu下编译和使用mtd-utils,来生成mkfs.jffs2工具。我生成jffs2文件系统的命令是:sudo mkfs.jffs2 -lqn –e 64 -r target -o fs.jffs2,另外我使用的spi flash是winbond的W25Q64,block size:64kB。 当我把生成的文件系统烧写到flash上面后,内核不断的打印如下信息:[ 9.039459] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00043000: 0xbc30 instead [ 9.048797] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00043004: 0x961c instead [ 9.058074] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00043008: 0x515d instead [ 9.067321] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0004300c: 0x9e45 instead [ 9.076599] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00043010: 0x643d instead [ 9.085845] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00043014: 0x059f instead [ 9.095092] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00043018: 0x7d32 instead [ 9.104339] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0004301c: 0x071f instead [ 9.113586] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00043020: 0xe89f instead [ 9.122863] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00043024: 0x9fa4 instead [ 9.132110] Further such events for this erase block will not be printed [ 9.141326] Node at 0x000438f0 with length 0x00000b30 would run over the end of the erase block [ 9.150421] Perhaps the file system was created with the wrong erase size? [ 9.157989] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00044000: 0x4e7e instead 我后来从SD卡启动,然后查看Flash erase size,竟然erase size是4KB: root@am335x:/usr# cat /proc/mtd dev: size erasesize name mtd0: 00020000 00001000 "SPL" mtd1: 00040000 00001000 "U-Boot" mtd2: 00002000 00001000 "U-Boot Env" mtd3: 00380000 00001000 "Kernel" mtd4: 003c0000 00001000 "File System" mtd5: 0005d000 00001000 "FPGA File" mtd6: 00001000 00001000 "Parameter" 但是,当我制作文件系统时,sudo mkfs.jffs2 -lqn –e 4 -r target -o fs.jffs2,电脑却提示: Erase size 0x1000 to small. Increasing to 8 KiB minimum。我这一下子就晕了,难道我不应该用w25q64这款flash。如果是这样的话,那我想请问下,从SPI FLASH启动,应该选用那款flash比较合适? |
|
|
|
LY90186 发表于 2018-5-15 09:22 JFFS2好像不支持4K擦除,最好改成64K或者32K,另外spi driver也要修改 |
|
|
|
能说得具体一点怎么改吗?我应该修改spi driver,还是说换一款spi flash?如果是修改spi driver,能具体说一下吗? |
|
|
|
board-am335xevm.c中的spi分区表要改成64K或者32K对齐的,m25p_probe()这个函数下的eraseblock大小也要修改。 应该不需要更换spi flash |
|
|
|
344868615qq 发表于 2018-5-15 10:03 你好,我按照你说的,改了erase block为64K,把生成的镜像的erase size也设置成64K,该jffs2镜像可以被成功挂载。但是,成功挂载后,只要往里面写入点东西,下次再启动的时候,该jffs2文件系统就不能再被正常识别了。请问下为什么会这样? |
|
|
|
LY90186 发表于 2018-5-15 10:17 你有修改board-am335xevm.c里的分区表吗?这个也要修改 |
|
|
|
这个是已经修改成64KB对齐的了,因为整个系统和应用程序都可以正常运行。我使用的是windbond的W25Q128,我在m25p80.c这个驱动文件里面的m25p_ids[]这个数组里添加了如下一句话:[ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, 0) ],最后的flags改为0,系统将会认为该flash的erasesize为64*1024。 但是,当我从SPI FLASH启动,再往跟文件系统里面写点东西,下次再启动,就会出现如下错误: |
|
|
|
LY90186 发表于 2018-5-15 10:37 往根文件系统写文件或者多次重启造成的根文件系统出现如上的bug,解决方法: jffs2文件系统在配置上错误所导致的。下面这两条都选上的,去掉后,即可 File systems ---> Miscellaneous filesystems ---> 改为 File systems ---> Miscellaneous filesystems ---> [ ] JFFS2 summary support (EXPERIMENTAL) [ ] JFFS2 XATTR support (EXPERIMENTAL) 从网上找的答案,问题算是解决了。但是不清楚为什么跟这两个选项有什么关系?如果有哪位大牛知道的,欢迎解释一下。 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
669 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
597 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1048 浏览 1 评论
731 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
520 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
158浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
120浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
123浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
122浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
163浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 12:40 , Processed in 1.089249 second(s), Total 100, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号