Problem with spi-sd-card.c (rtems-4.9.0)
Joel Sherrill
joel.sherrill at OARcorp.com
Thu Oct 2 19:39:07 UTC 2008
Robert S. Grimes wrote:
> Joel Sherrill wrote:
>
>> Are the addresses and sizes for the heap and
>> workspace reasonable?
>>
>>
> God, I hope so:
>
> #define CONFIGURE_EXECUTIVE_RAM_SIZE (1024*1024)
>
>
I meant did the BSP allocate the memory to RTEMS and
the C library in a reasonable way.
>> Are you blowing a stack?
>>
>>
> I don't think so.
>
> The driver is being manually started in my main init function; here is
> the original stack definition
>
> #define CONFIGURE_INIT_TASK_STACK_SIZE (10*1024)
>
> Funny, that worked fine on the 4.9.0 pre-release snapshot, with much of
> my app present. Now, though, with 4.9.0 snapshot, it doesn't - even
> though I've cut away more stuff for clarity!
>
>
Is it still before your include of <rtems/confdefs.h>?
> I doubled it to 20k, and it worked - once. I was about to send this,
> then I decided I should see if that fixed the second issue, and now it
> (still) doesn't work! I even went to 40k, and it still exhibits both
> issue 1 and 2. But anyway, I don't think it is the stack..
>
> So, I'm still stuck with all three issues...
>
> -Bob
>
>
>> Robert S. Grimes wrote:
>>
>>
>>> Seems I've moved backwards from last week. I switched to 4.9.0, and
>>> that seemed fine - until I returned to the SD card driver. I can't even
>>> get the basic card id functions to work - it fails before then. Here
>>> are my (current) problems:
>>>
>>> 1. In spi-sd-card.c, sd_card_driver_init, sd_card_driver_get_entry fails
>>> to return pointer to driver. Specifically, X_get_entry returns an
>>> incorrect value (0x51xxxx, for example, when it should be 0x48xxxx - the
>>> point of these addresses is only to point out the issue). Then, the
>>> following call to CHECK_RVSC blasts the local variable e, setting it to 2!
>>>
>>> 2. If I manually correct (in the debugger) the value, when later a call
>>> to rtems_io_register_driver is made, the sd_card_disk_ops table only has
>>> an entry for the initialization_entry; all others are 0.
>>>
>>> 3. Finally, the card never leaves the "busy" state, in that the output
>>> line is always low.
>>>
>>> 4. I haven't noticed a CMD0 being sent to the card with the CS low; this
>>> seems to be needed to switch the card to SPI mode. Am I missing something?
>>>
>>> Any ideas?
>>> -Bob
>>>
>>> P.S. I'm using the powerpc/virtex BSP, and the virtex SPI functions seem
>>> to be called correctly, and the SPI signals at the card seem correct.
>>> _______________________________________________
>>> rtems-users mailing list
>>> rtems-users at rtems.com
>>> http://rtems.rtems.org/mailman/listinfo/rtems-users
>>>
>>>
>>>
>> --
>> Joel Sherrill, Ph.D. Director of Research & Development
>> joel.sherrill at OARcorp.com On-Line Applications Research
>> Ask me about RTEMS: a free RTOS Huntsville AL 35805
>> Support Available (256) 722-9985
>>
>>
>>
>>
>>
>
>
--
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherrill at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the users
mailing list