工具/软件:
您好、TI 专家、
我将基于该示例构建一个文件管理系统 mmcsd_file_io (版本为 MCU_PLUS_SDK_am64x_09_02_01_05)。
我已将 FF 介质更改为 EMMC、如果引导模式为 SD、则可以正常工作。
但是、如果我将引导模式更改为 EMMC、并且在打印"映像加载完成、切换到应用"后没有响应。
以这种方式操作还是实现方式。
谢谢、
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.
工具/软件:
您好、TI 专家、
我将基于该示例构建一个文件管理系统 mmcsd_file_io (版本为 MCU_PLUS_SDK_am64x_09_02_01_05)。
我已将 FF 介质更改为 EMMC、如果引导模式为 SD、则可以正常工作。
但是、如果我将引导模式更改为 EMMC、并且在打印"映像加载完成、切换到应用"后没有响应。
以这种方式操作还是实现方式。
谢谢、
您好:
如果您使用的是 SBL_EMMC 引导加载程序、则需要应用以下补丁:
https://github.com/TexasInstruments/mcupsdk-core/commit/9ef14a519fd
例如、PFA 附加了补丁、以使 MMCSD_FILE_IO 示例可与 eMMC 配合使用:
diff --git a/examples/drivers/mmcsd/mmcsd_file_io/mmcsd_file_io.c b/examples/drivers/mmcsd/mmcsd_file_io/mmcsd_file_io.c index 068d066..8f0bc51 100644 --- a/examples/drivers/mmcsd/mmcsd_file_io/mmcsd_file_io.c +++ b/examples/drivers/mmcsd/mmcsd_file_io/mmcsd_file_io.c @@ -60,7 +60,7 @@ void mmcsd_file_io_main(void *args) * Later when we give the pcName to the partition during mount, it has to match this. In this * case we give the mount point as /sd0. If it was FF_PARTITION_SD1, then /sd1. */ - FF_Disk_t *pDisk = &gFFDisks[FF_PARTITION_SD0]; + FF_Disk_t *pDisk = &gFFDisks[FF_PARTITION_EMMC0]; FF_MMCSDGetPartitionDetails(pDisk, &partDetails); @@ -71,7 +71,7 @@ void mmcsd_file_io_main(void *args) FF_MMCSDCreateAndFormatPartition(pDisk, sectorCount); - FF_MMCSDMountPartition(pDisk, "/sd0"); + FF_MMCSDMountPartition(pDisk, "/emmc0"); /* Check the sector count now */ FF_MMCSDGetPartitionDetails(pDisk, &partDetails); @@ -92,7 +92,7 @@ void mmcsd_file_io_main(void *args) FF_FILE *fp; - char fileName[] = "/sd0/file.dat"; + char fileName[] = "/emmc0/file.dat"; char fileData[] = "This is a test string. Hello, World!"; char buf[100];
BR, Prashant
非常感谢您的答复。
我 进行了上述修改、并构建了一个刷写到 EMMC 中的新 sbl_eMMC.release.tiimage。 但是、启动 似乎不 成功、我不确定是否是编译器问题。
如果您能提供、我非常感谢您的支持 sbl_eMMC.release.tiimage 在此基础上:
[引述 userid="531297" url="~/support/processors-group/processors/f/processors-forum/1496030/am6442-how-to-load-freertos-fat-file-system-in-emmc-if-the-sbl-media-is-emmc/5747453 #5747453"]如果您使用的是 SBL_EMMC 引导加载程序、则需要应用以下补丁:
https://github.com/TexasInstruments/mcupsdk-core/commit/9ef14a519fd
[/报价]期待您的答复。
但是、启动 似乎不 成功、我不确定这是否是我的编译器问题。
请共享引导日志以获得更好的见解。
抱歉、我无法屏幕截图、只需将 UART Debug 日志粘贴到此处:
DMSC Firmware Version 9.2.8--v09.02.08 (Kool Koala) DMSC Firmware revision 0x9 DMSC ABI revision 3.1
实际上没有太多信息、但在运行 sbl_eMMC 程序时似乎会卡住。 这就是为什么我希望有一个工作良好的 eMMC tiimage。
如果您使用的是 SBL_EMMC 引导加载程序、则需要应用以下补丁:
我看到此补丁可能无法正常工作、因为它位于 MCU+ SDK v09.02.01.05上。
请尝试以下补丁:
diff --git a/examples/drivers/boot/sbl_emmc/am64x-evm/r5fss0-0_nortos/main.c b/examples/drivers/boot/sbl_emmc/am64x-evm/r5fss0-0_nortos/main.c index 53cae36..6203322 100644 --- a/examples/drivers/boot/sbl_emmc/am64x-evm/r5fss0-0_nortos/main.c +++ b/examples/drivers/boot/sbl_emmc/am64x-evm/r5fss0-0_nortos/main.c @@ -254,6 +254,10 @@ int main(void) { status = Bootloader_rprcImageLoad(bootHandle, &bootImageInfo.cpuInfo[CSL_CORE_ID_R5FSS0_0]); } + + /* Power of the MMCSD after loading the images, leave it in clean state for applications */ + SOC_moduleClockEnable(TISCI_DEV_MMCSD0, 0); + status = Bootloader_runSelfCpu(bootHandle, &bootImageInfo); } /* it should not return here, if it does, then there was some error */