答复: SDHC driver of RTEMS

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Aug 6 06:00:17 UTC 2013


On 2013-08-06 03:34, ruizx wrote:
> Sebastian Huber wrote:
>> On 2013-08-05 12:51, 芮正新 wrote:
>>> Thanks for your reply.
>>> Can you give me some advices to resolve my problems?
>>
>> I would look at the latest errata documents from Freescale and the
>> Linux driver.
>>
>> I would also test the driver without a file system.  Just use the
>> bdbuf (or event the driver IO control) directly.  Example:
>>
>> http://git.rtems.org/rtems/tree/testsuites/libtests/block16/init.c
>
> This example do not define CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS, so BRDA task could not start.
> I found that if defined CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS, the problem appeared,
> and if not define the macro, there was no problem, but the multi-block command never used, just single block read.
> Single block access has slow speed and efficiency.

Yes, the single block transfers are very inefficient.

Its easy to get the block device transfer request handling wrong since the 
interface is a bit complex.  You need two loops.  You may have a look at 
transfer_pio_polled() in

http://git.rtems.org/rtems/tree/c/src/lib/libbsp/powerpc/gen5200/ide/ata.c

>
> PS:
> Sorry for my bad maillist tool, it took some Chinese characters to mails previous.
> I've corrected it and changed my maillist account to the new one.

I didn't notice any problems.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the users mailing list