• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » StarterWare » StarterWare forum » MMC/SD in Starterware
Share
StarterWare
  • Forum
Options
  • Subscribe via RSS

Forums

MMC/SD in Starterware

This question is answered
Michiel van Leeuwen
Posted by Michiel van Leeuwen
on Nov 09 2011 06:54 AM
Prodigy130 points

Hello,

 

I'm investigating to use Starterware for our c674x based device. The device uses an SD card to store data. I can find a source code driver for the sd card (hs_mmcsd.c) in the Starterware distribution. But it seems that the driver is not compiled in the binary. It's not part of the 'drivers_c674x_c6748' project.

Is that on purpose? Or could I just add it myself and build? Is there a release planned with SD support build-in?

 

Thanks,

Michiel

StarterWare SD MMC
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • kcastille
    Posted by kcastille
    on Nov 11 2011 11:28 AM
    Verified Answer
    Verified by Michiel van Leeuwen
    Intellectual1330 points

    Michiel,


    The hs_mmcsd.c is intentionally excluded from the C674x package.  This code applies only to the AM335x device which uses a new/different MMC hardware implementation than is on the C674x devices (and is therefore not compatible).  At the moment, there are no plans for supporting MMCSD in starterware for the C674x device.

    Regards
    Kyle

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Michiel van Leeuwen
    Posted by Michiel van Leeuwen
    on Nov 16 2011 02:55 AM
    Verified Answer
    Verified by Michiel van Leeuwen
    Prodigy130 points

    Kyle,

     

    Thank you for the info.

    But it leaves me with a bit of a problem. I am working on a device that needs to write data to an SD card, and then allow the user to read the data by using the SD card over USB as mass-storage device.

    DSP/BIOS 5 allows me to do this with the PSP drivers. But DSP/BIOS 5 seems to be the old version and not recommended for new developments. SYS/BIOS 6 does not have the drivers (yet), so starterware looked promising. I also like the starterware API better, it's closer to the device.

    Maybe I just have to write my own driver, maybe based on the BSL (from the C6748 EVM)

     

    Regards,

    Michiel

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • kcastille
    Posted by kcastille
    on Nov 16 2011 09:52 AM
    Intellectual1330 points

    Michiel,

    I think you have a good grasp of the issues/tradeoffs.  One path would be to start w/ BIOS5 today and then port over to BIOS6 once available.  At least from a MMC/SD perspective, that port should not be huge. 

    On the other hand, if you are more interested in a low level "closer to the device" type of API, then the C6748 EVM BSL sounds like a good choice.

    In any case, it's good to get feedback/requests for Starterware capabilities and we will feed your request forward into future planning.  But as mentioned, as of now, there is no specific plans for MMC/SD starterware support on C6748.

    Regards

    Kyle

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Michiel van Leeuwen
    Posted by Michiel van Leeuwen
    on Nov 22 2011 09:45 AM
    Prodigy130 points

    Kyle,

     

    Thanks again for the info. I'll think about what the best option is for me. BIOS5 seems like a good solution, although it is a bit memory-hungy.

     

    Regards,

    Michiel

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Abebe Hailu
    Posted by Abebe Hailu
    on Apr 09 2013 09:57 AM
    Intellectual435 points

    Hi Michiel,

    I know you posted your last post over a year ago but I wondered if and how you solved the problem with writing to a SD Card on the c6748 EVM?

    Regards,
    Abebe Hailu

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Michiel van Leeuwen
    Posted by Michiel van Leeuwen
    on Apr 10 2013 06:15 AM
    Prodigy130 points

    Hi Abebe,

    In the end I wrote my own driver for hte SD card, based on Starterware. It's not complete yet (no SDHC support), but for now it works.

    Michiel

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Abebe Hailu
    Posted by Abebe Hailu
    on Apr 10 2013 11:19 AM
    Intellectual435 points

    Hi,


    Nicely done, happy to hear it works, I'm having difficulties with finding a suitable implementation of such a driver. Do you think you can upload a working project with the implementation? Because right now I'm having problems gettingt the biospsp mmcsd_fatfs example code to work. 

    Thanks in advance.

    Best regards,
    Abebe Hailu

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Michiel van Leeuwen
    Posted by Michiel van Leeuwen
    on Apr 11 2013 06:43 AM
    Prodigy130 points

    I'm afraid I can't share the code at the moment. But I can tell that I just started with the BSL that came with the EVM kit we use. The BSL had code to use the SD card. I adjusted that driver to work with Starterware. It gives you the right commands to send, etc.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Abebe Hailu
    Posted by Abebe Hailu
    on Apr 11 2013 08:34 AM
    Intellectual435 points

    Did you use the third party file system (ff.c) as well? Because I'm having problems integrating it the BSL based driver. I want to use the BSL driver together with the starterware and the third part FATfs system, is this what you have done?

    Thanks,
    Abebe

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Michiel van Leeuwen
    Posted by Michiel van Leeuwen
    on Apr 11 2013 09:42 AM
    Prodigy130 points

    Yes, I used ff.c. Although I don't think I got it from TI, but directly from the author:http://elm-chan.org/fsw/ff/00index_e.html

    Then I adjusted the BSL driver to look more like a Starterware driver (although I'm not really sure anymore what I did in that step). Then I had to implement diskio.h.

    Can you read from the SD card with the BSL driver? Try looking at the first sector, there should be 0x55AA somewhere at the end. (or was is 0xAA55?)

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Abebe Hailu
    Posted by Abebe Hailu
    on Apr 11 2013 14:13 PM
    Intellectual435 points

    Yes, I'm able to read and write to the SD card with the bsl driver, but in raw form. I then use an hex editor to see what I've written. I've concluded that the driver from the bsl writes in terms of sectors, so what I need is a Fat file system that simply calls the bsl functions when it needs to read or write to a sector, However, I'm having problems implementing a working Fat32 file system. Isn't diskio.h already included in the package?

    Regards,

    Abebe

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Michiel van Leeuwen
    Posted by Michiel van Leeuwen
    on Apr 15 2013 07:35 AM
    Prodigy130 points

    Yes, diskio.h is included. But it only includes function definitions, bot the implementations. What you need to do is create a new c file that implements the functions listed in diskio.h. It will be functions of just a couple of lines, that call the BSL functions.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Abebe Hailu
    Posted by Abebe Hailu
    on Apr 17 2013 14:30 PM
    Intellectual435 points

    Thanks for the answer, I used another fat file system where I simply could use the bsl section read and write functions for the MMCSD. Workes fine now.

    regards,
    Abebe

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use