This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
内核从SD卡启动以后后,在dmesg打印的log中,可以发现nandflash已经初始化,那么为什么我在nandflash的omap_nand_probe(struct platform_device *pdev)函数中写的一个打印语句没有执行到,还有从nandflash里边启动的时候,为什么会有mmc的log,请问这时候mmc和nand的关系是什么?
[ 0.715724] bone-capemgr bone_capemgr.9: slot #4: dtbo 'cape-bone-2g-emmc1.de
[ 0.715919] bone-capemgr bone_capemgr.9: slot #4: #2 overlays
[ 0.716511] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.
[ 0.716530] bone-capemgr bone_capemgr.9: loader: done slot-4 BB-BONE-EMMC-2G)
[ 0.717958] OneNAND driver initializing aaaaa
[ 0.718170] bone-capemgr bone_capemgr.9: loader: after slot-5 BB-BONELT-HDMI)
[ 0.718196] bone-capemgr bone_capemgr.9: slot #5: Requesting firmware 'cape-'
[ 0.718224] bone-capemgr bone_capemgr.9: slot #5: dtbo 'cape-boneblack-hdmi-e
[ 0.718775] bone-capemgr bone_capemgr.9: slot #5: #4 overlays
0.903142] mmc1: BKOPS_EN bit is not set
[ 0.905585] mmc1: new high speed MMC card at address 0001
[ 0.906109] mmcblk0: mmc1:0001 MMC02G 1.78 GiB
[ 0.906323] mmcblk0boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
[ 0.906520] mmcblk0boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
[ 0.908316] mmcblk0: p1 p2
[ 0.910129] mmcblk0boot1: unknown partition table
[ 0.911527] mmcblk0boot0: unknown partition table
这里看到从nand里边启动显示的大小是和nand大小相同的,所以我猜这里mmc就是nand,请大神指导
module_init()会执行platform_driver驱动注册。
只有对应的platform_device也注册了,才会执行probe()
您好,我这里的问题是,我现在不知道am335x从nand中启动以后,nand的驱动是哪个文件?driver/mtd/nand/omap2.c 和/driver/mtd/onenand/omap2.c这两个文件是他的驱动吗?从log中看,
mmc1: new high speed MMC card at address 0001
[ 0.906109] mmcblk0: mmc1:0001 MMC02G 1.78 GiB
[ 0.906323] mmcblk0boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
[ 0.906520] mmcblk0boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
[ 0.908316] mmcblk0: p1 p2
[ 0.910129] mmcblk0boot1: unknown partition table
[ 0.911527] mmcblk0boot0: unknown partition table
这块我怀疑就是nand驱动打印出来的log,您好,麻烦您告诉我下,nand驱动用的哪个文件,在哪儿打印出nand的大小和型号?谢谢
nand驱动是driver/mtd/nand/omap2.c,omap_nand_probe()是驱动初始化函数。
你列出来的打印信息是MMC的,和NAND无关
你好,我这列出的是我从nand启动的,并且当时没有接sd卡,并且我们是eMMCflash,板子上没有其他存储设备,只有nand,如果从SD卡上启动的话,会显示出这样的log,这里会显示SD卡的大小7.21 GiB
create_regulator: DCDC2: Failed to create debugfs directory
[ 1.788818] smartreflex smartreflex: am33xx_sr_probe: Driver initialized
[ 1.799835] clock: disabling unused clocks to save power
[ 1.811187] mmc0: host does not support reading read-only switch. assuming w.
[ 1.821655] mmc0: new high speed SDHC card at address 1234
[ 1.827911] mmcblk0: mmc0:1234 SA08G 7.21 GiB
[ 1.834411] mmcblk0: p1 p2
[ 1.839569] Detected MACID=c8:a0:30:aa:51:e8
[ 1.844940] cpsw: Detected MACID = c8:a0:30:aa:51:ea
[ 1.850921] omap_rtc am33xx-rtc: setting system clock to 2000-01-01 00:00:01)
[ 1.863342] EXT3-fs (mmcblk0p2): recovery required on readonly filesystem
[ 1.870483] EXT3-fs (mmcblk0p2): write access will be enabled during recovery
麻烦您帮我分析下,从nand启动不会打印出上边的log,
mmc1: new high speed MMC card at address 0001
[ 0.906109] mmcblk0: mmc1:0001 MMC02G 1.78 GiB
[ 0.906323] mmcblk0boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
[ 0.906520] mmcblk0boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
[ 0.908316] mmcblk0: p1 p2
[ 0.910129] mmcblk0boot1: unknown partition table
[ 0.911527] mmcblk0boot0: unknown partition table
我想这块打印出了的1.78 GiB 不会是其他的存储设备,应该是nand
你好Zhou工:
还麻烦您能帮我解答下问题,刚才看到有这句话:
MMC0 supports booting from the MMC/SD card cage and also supports booting from
eMMC/eSD/managed NAND memory devices with less than 4GB capacity.
• MMC1 supports booting from eMMC/eSD/managed NAND memory device with 4GB capacity or
greater
eMMc管理nand是怎么做的呢?
是这样,你可以EMMC NAND完全理解为SD/MMC卡,和NAND/OneNAND的驱动没有任何关系的。
请问你这些打印信息是基于BB black板子还是自己做的板子?如果是BB Black,eMMC的信息就是MMC1的信息
我们的eMMC驱动都是MMC的标准驱动,不需要做太多修改就可以用的。
具体代码你可以看下:\drivers\mmc\host\omap_hsmmc.c
至于驱动介绍,网上介绍也很多,可参考:http://blog.csdn.net/liuhaoyutz/article/details/17414095