I have tested FX3SMassStorage example project with 4-bit and 8-bit eMMC mode on S0 port. (When UART is used for logging, since we can configure S1 port only as 4-bits wide, I have tested on S0 port). I have attached the logs for your reference. In the logs, you can see that the numBlks value does not change when busWidth=1(4-bit mode) or busWidth=2(8-bit mode)
Could you provide the following information:
Are you observing this with the FX3SMassStorage example project or with a modified version?
logs.txt.zip 533 bytes
I think it is a problem with the samsung chip I'm using.
The CyU3CardMgrMmcInit function is testing the bus before reading the Ext_CSD register. If the EXT_CSD is read in 4 bit mode the data is ok. If read in 8 bit mode one byte is missed, but without CRC error. Later I can read the chip without problems in 8 bit mode.
I have fixed the problem by reading the EXT_CSD before switching the bus to 4/8 bit mode.