2 Replies Latest reply on May 7, 2020 1:37 AM by FuBe_4381791

    Usage of CyU3PSibEraseBlocks and arguments in CyU3PSibSendSwitchCommand


      Hello Cypress!


      I've only spent a day or 2 trying to work this one out so apologies if I've missed a resource, but the API docs and examples do not have an explanation of how the functions: CyU3PSibEraseBlocks and CyU3PSibSendSwitchCommand work....


      For anyone trying to work it out too, the "unit" parameter in EraseBlocks is typically 512kb, or 524,288 bytes as set by JEDEC for 32GB drives. Your own emmc chips may differ though. blocks are typically 512 bytes, but this is chip specific as well.


      My question is in the documentation for erase blocks, what parts of the uint32_t argument in SendSwitchCommand goes to what value that is used with the CSD register? As it's an extended CSD call this is hard to work out because the CSD register on emmc's is 512 bytes, not 32 so I'm alittle confused by that..