I am currently in the middle of porting from the CB34EX to the SB800EX platforms. My current codebase supports peripherals such as CAN, Ethernet, serial, and SD card access. It is relatively stable on the CB34 and all functions work OK. The card is used for configuration files and logging functions.
I am able to build, load, and run the SB800 with the existing codebase targeting the SB800 platform. Amongst the functions that don't work yet is the card reading. Digging deep, it appears that the call to f_mountfatO is failing with a return value of 2. Snippet:
Code: Select all
rv = f_mountfat( MMC_DRV_NUM, mmc_initfunc, F_MMC_DRIVE0 );
According to the documentation, a return value of 2 corresponds with "card not formatted". I can confirm that the card is indeed formatted and contains the (5) files I loaded onto it previously. These files occupy less than 100k of disk space. MMC_DRV_NUM is defined as 2, and appears to be standard for external drive used on NB platforms. I have tried F_MMC_DRIVE0 through F_MMC_DRIVE3 to no avail.
- Are there known issues with SB800EX and SD card usage?
- In the switch between CB34 and SB800, should I be utilizing a different library, build options, or other support for SD on the SB800?