<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>MCI fails to initialze on SD Card 1/2 of the time</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/28948/mci-fails-to-initialze-on-sd-card-1-2-of-the-time</link><description> 
The previous thread is now marked read only, so I&amp;#39;m posting the
workaround here. Add one line to the init driver: 
/*----------------------------------------------------------------------------- 

 
* Initialize the Flash File System 

 

*--------</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: MCI fails to initialze on SD Card 1/2 of the time</title><link>https://community.arm.com/thread/131055?ContentTypeID=1</link><pubDate>Mon, 06 Aug 2012 08:24:09 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d68b0172-a7b5-4bce-8aaa-7ba8e3812438</guid><dc:creator>David Russell</dc:creator><description>&lt;p&gt;&lt;p&gt;
The loop returns that it failed, and then tells the user to put in
the SD card and try again. The SD card is already in, and is fine, so
it should not have failed and not alerted the customer to a problem
that doesn&amp;#39;t exist. That&amp;#39;s a guaranteed customer service call. The
problem is discerning when the finit call is just fubar or when the
card really isn&amp;#39;t in and the customer does need to be notified. There
are other solutions, I just found this one to be the simplest.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MCI fails to initialze on SD Card 1/2 of the time</title><link>https://community.arm.com/thread/127657?ContentTypeID=1</link><pubDate>Mon, 06 Aug 2012 08:15:53 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4c36687c-73a3-46df-b0ec-1582bc85f4de</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Yes. But the loop would loop until it gets happy even without the
preceding call.&lt;/p&gt;

&lt;p&gt;
So the first line should not be needed, unless the first call
sometimes returns zero despite actually failing. So is the first call
returning zero (OK) even when failing?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MCI fails to initialze on SD Card 1/2 of the time</title><link>https://community.arm.com/thread/116933?ContentTypeID=1</link><pubDate>Mon, 06 Aug 2012 07:54:07 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1b3cc408-810f-4a31-a45c-8ca593e55ba5</guid><dc:creator>David Russell</dc:creator><description>&lt;p&gt;&lt;p&gt;
The second one just loops until some kind of return. In this case,
half the time it fails, and then you have to deal with it. If you do
the first one, then the second, it does not fail.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MCI fails to initialze on SD Card 1/2 of the time</title><link>https://community.arm.com/thread/106231?ContentTypeID=1</link><pubDate>Thu, 02 Aug 2012 09:45:11 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:0ec4373d-f158-41b4-8457-2bdd26b35911</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Yes, but the second line should represent &amp;quot;two finit()&amp;quot; since it
contains a loop to repeat the call until it doesn&amp;#39;t fail (or possibly
hangs the application for ever). So what is the reason of a separate
finit() before the one in the while loop?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MCI fails to initialze on SD Card 1/2 of the time</title><link>https://community.arm.com/thread/80440?ContentTypeID=1</link><pubDate>Thu, 02 Aug 2012 04:02:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3440094e-29b6-4a78-bf31-78f6a5838a94</guid><dc:creator>David Russell</dc:creator><description>&lt;p&gt;&lt;p&gt;
There are two threads with this title, go read the previous one.
Basically there&amp;#39;s a problem where the finit fails half the time under
some circumstances. If you have the problem, having two finits cures
it. If you don&amp;#39;t have the problem it doesn&amp;#39;t hurt.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MCI fails to initialze on SD Card 1/2 of the time</title><link>https://community.arm.com/thread/67623?ContentTypeID=1</link><pubDate>Wed, 01 Aug 2012 15:40:11 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:242e40a4-acc5-47a0-86d8-6a925dc50224</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Why two finit() lines? Why not just the second line?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>