完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-21 08:53 编辑
各位好。 如何在ti原有的flash分区基础上增加一个分区?要如何修改代码? 我使用的是linux-3.2.0的代码,我修改arch/ARM/mach-omap2/board-am335xevm.c文件的下面代码 static struct mtd_partition am335x_nand_partitions[] = [ /* All the partition sizes are listed in terms of NAND block size */ [ .name = "SPL", .offset = 0, /* Offset = 0x0 */ .size = SZ_128K, ], [ .name = "SPL.backup1", .offset = MTDPART_OFS_APPEND, /* Offset = 0x20000 */ .size = SZ_128K, ], [ .name = "SPL.backup2", .offset = MTDPART_OFS_APPEND, /* Offset = 0x40000 */ .size = SZ_128K, ], [ .name = "SPL.backup3", .offset = MTDPART_OFS_APPEND, /* Offset = 0x60000 */ .size = SZ_128K, ], [ .name = "U-Boot", .offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */ .size = 15 * SZ_128K, ], [ .name = "U-Boot Env", .offset = MTDPART_OFS_APPEND, /* Offset = 0x260000 */ .size = 1 * SZ_128K, ], [ .name = "Kernel", .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */ .size = 40 * SZ_128K, ], #if 0 //这里是原始的分区方式 [ .name = "File System", .offset = MTDPART_OFS_APPEND, /* Offset = 0x780000 */ .size = MTDPART_SIZ_FULL, ], #else //改成如下的分区方式,文件系统分区改为48m,剩下的flash空间给user使用 [ .name = "File System", .offset = MTDPART_OFS_APPEND, /* Offset = 0x780000 */ .size = 3 * SZ_16M, ], [ .name = "user", .offset = MTDPART_OFS_APPEND, ]; 如此修改完毕后,重新格式化flash,烧录代码到单板上电有如下错误: [ 1.025115] Creating 9 MTD partitions on "omap2-nand.0": [ 1.030670] 0x000000000000-0x000000020000 : "SPL" [ 1.037048] 0x000000020000-0x000000040000 : "SPL.backup1" [ 1.044219] 0x000000040000-0x000000060000 : "SPL.backup2" [ 1.051147] 0x000000060000-0x000000080000 : "SPL.backup3" [ 1.058135] 0x000000080000-0x000000260000 : "U-Boot" [ 1.065307] 0x000000260000-0x000000280000 : "U-Boot Env" [ 1.072052] 0x000000280000-0x000000780000 : "Kernel" [ 1.080566] 0x000000780000-0x000003780000 : "File System" [ 1.107299] 0x000003780000-0x000010000000 : "user" [ 1.196746] OneNAND driver initializing [ 1.201477] UBI: attaching mtd7 to ubi0 [ 1.205535] UBI: physical eraseblock size: 131072 bytes (128 KiB) [ 1.212066] UBI: logical eraseblock size: 126976 bytes [ 1.217712] UBI: smallest flash I/O unit: 2048 [ 1.222625] UBI: VID header offset: 2048 (aligned 2048) [ 1.228881] UBI: data offset: 4096 [ 1.594604] UBI: max. sequence number: 0 [ 1.610443] UBI error: vtbl_check: volume table check failed: record 0, error 9 [ 1.618255] UBI error: ubi_init: cannot attach mtd7 [ 1.624176] CAN device driver interface [ 1.628173] CAN bus driver for Bosch D_CAN controller 1.0 [ 1.682159] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6 [ 1.688629] davinci_mdio davinci_mdio.0: detected phy mask fffffff8 [ 1.696929] davinci_mdio.0: probed [ 1.700500] davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknown [ 1.707855] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown [ 1.715240] davinci_mdio davinci_mdio.0: phy[2]: device 0:02, driver unknown [ 1.722961] u***core: registered new interface driver zd1201 [ 1.728973] u***core: registered new interface driver cdc_ether [ 1.735229] u***core: registered new interface driver cdc_eem [ 1.741271] u***core: registered new interface driver dm9601 [ 1.747131] cdc_ncm: 04-Aug-2011 [ 1.750671] u***core: registered new interface driver cdc_ncm [ 1.756622] Initializing USB Mass Storage driver... [ 1.761962] u***core: registered new interface driver u***-storage [ 1.768249] USB Mass Storage support registered. [ 1.773529] mousedev: PS/2 mouse device common for all mice [ 1.780029] i2c /dev entries driver [ 1.784088] Linux video capture interface: v2.00 [ 1.789245] u***core: registered new interface driver uvcvideo [ 1.795257] USB Video Class driver (1.1.1) [ 1.801666] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec [ 1.810272] cpuidle: using governor ladder [ 1.815093] cpuidle: using governor menu [ 1.821441] omap4_aes_mod_init: loading AM33X AES driver [ 1.827117] omap4-aes omap4-aes: AM33X AES hw accel rev: 3.02 [ 1.833679] omap4_aes_probe: probe() done [ 1.838104] omap4_sham_mod_init: loading AM33X SHA/MD5 driver [ 1.844268] omap4-sham omap4-sham: AM33X SHA/MD5 hw accel rev: 4.03 [ 1.855895] omap4_sham_probe: probe() done [ 1.862609] u***core: registered new interface driver u***hid [ 1.868438] u***hid: USB HID core driver [ 1.873291] u***core: registered new interface driver snd-u***-audio [ 1.881347] ALSA device list: [ 1.884490] No soundcards found. [ 1.888031] oprofile: hardware counters not available [ 1.893310] oprofile: using timer interrupt. [ 1.897796] nf_conntrack version 0.5.0 (3957 buckets, 15828 max) [ 1.904571] ip_tables: (C) 2000-2006 Netfilter Core Team [ 1.910247] TCP cubic registered [ 1.913635] NET: Registered protocol family 17 [ 1.918273] can: controller area network core (rev 20090105 abi 8) [ 1.924835] NET: Registered protocol family 29 [ 1.929473] can: raw protocol (rev 20090105) [ 1.933929] can: broadcast manager protocol (rev 20090105 t) [ 1.939880] Registering the dns_resolver key type [ 1.944854] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3 [ 1.952880] ThumbEE CPU extension supported. [ 1.957397] mux: Failed to setup hwmod io irq -22 [ 1.962982] Power Management for AM33XX family [ 1.967834] Trying to load am335x-pm-firmware.bin (60 secs timeout) [ 1.974517] Copied the M3 firmware to UMEM [ 1.978881] Cortex M3 Firmware Version = 0x181 [ 1.984100] sr_init: platform driver register failed [ 1.992919] clock: disabling unused clocks to save power [ 2.011199] Detected MACID=0:17:ea:a3:89:46 [ 2.016754] cpsw: Detected MACID = 00:17:ea:a3:89:47 [ 2.023071] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 2.030029] VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0) [ 2.037445] Please append a correct "root=" boot option; here are the available partitions: [ 2.046203] 1f00 128 mtdblock0 (driver?) [ 2.051483] 1f01 128 mtdblock1 (driver?) [ 2.056762] 1f02 128 mtdblock2 (driver?) [ 2.062042] 1f03 128 mtdblock3 (driver?) [ 2.067321] 1f04 1920 mtdblock4 (driver?) [ 2.072601] 1f05 128 mtdblock5 (driver?) [ 2.077880] 1f06 5120 mtdblock6 (driver?) [ 2.083160] 1f07 49152 mtdblock7 (driver?) [ 2.088439] 1f08 205312 mtdblock8 (driver?) [ 2.093719] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 2.102355] Backtrace: [ 2.104949] [ [ 2.113739] r6:00008000 r5:c04f4e50 r4:c063b5c8 r3:c05f25cc [ 2.119659] [ [ 2.127685] [ [ 2.136413] r3:00000004 r2:00000000 r1:cf01df68 r0:c04f4e50 [ 2.142333] r7:c05c3060 [ 2.144989] [ [ 2.154693] [ [ 2.163970] r5:c05cf2bc r4:c05cf2bc [ 2.167724] [ [ 2.175994] r5:c0595808 r4:00000000 我查看了内核代码,UBI error: vtbl_check: volume table check failed: record 0, error 9这个错误貌似是说我分配的分区太大超过了flash大小,可我的flash是256m的,按原来分区上电看df -h 有空余170m大小空间给我使用,而这里分配给rootfs48m即报错(我曾经尝试你过64m,一样有问题),我的文件系统占用空间大小为30m左右,请大神帮忙看看到底哪里出了问题,要如何实现我的预想功能。 |
|
相关推荐
5个回答
|
|
感觉在这个论坛问问题好难啊,基本上得不到答复。。。。。。
|
|
|
|
问题已解决,在这里回复下我的解决方法,留给有相同问题的人做参考:
我的问题是仅仅只修改了kernel代码,而uboot的mtdparts参数需要同步进行修改,制作ubi.img时的参数也同样需要进行修改,三者同时修改完毕后再格式化flash,重新烧写到flash就应该没问题了。 |
|
|
|
问题已解决,在这里回复下我的解决方法,留给有相同问题的人做参考:
我的问题是仅仅只修改了kernel代码,而uboot的mtdparts参数需要同步进行修改,制作ubi.img时的参数也同样需要进行修改,三者同时修改完毕后再格式化flash,重新烧写到flash就应该没问题了。 |
|
|
|
yx19911127 发表于 2018-6-21 01:02 感谢分享~~ |
|
|
|
yx19911127 发表于 2018-6-21 00:49 感谢分享!! |
|
|
|
只有小组成员才能发言,加入小组>>
340 浏览 1 评论
535 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
781 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
655 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1138 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
65浏览 29评论
171浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
255浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
205浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
60浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 06:07 , Processed in 1.021769 second(s), Total 87, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号