<div dir="ltr"><div>I think you need start with simple tests without file systems and block device driver.<br></div><div><div>Try read and write blocks with known patterns and check it on PC and Raspberry Pi.<br><br>What are you use for MMC/SD protocol? Can I see it and block device driver somewhere?<br>
</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-12 20:23 GMT+04:00 Andre Marques <span dir="ltr"><<a href="mailto:andre.lousa.marques@gmail.com" target="_blank">andre.lousa.marques@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hello,<br>
<br>
I have used the pc386 BSP to mount the card (before your
suggestions) using the fileio sample and it could read the card
contents perfectly.<br>
<br>
Then I filled the card with zeros using dd on Linux, modified the
fileio sample to format the card with msdos_format(dev, NULL) and
then mounted it on the pc 386 BSP fileio sample and I could write
and read the card.<br>
<br>
On Linux I set the card with the necessary files for Raspberry,
and when my driver tries to mount the card on the Raspberry Pi it
reads the first 2 blocks (now 0 and 1, because the card has no
partition table) and hangs, just as before.<br>
<br>
I guess my driver is having some reading problems.<div><div class="h5"><br>
<br>
On 05/05/14 19:30, Andrey Mozzhuhin wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">You can try to use SD Card in <span lang="en"><span>opposite</span></span>
direction:<br>
<div>0) fill SD Card with zeroes;<br>
</div>
1) format partition under RTEMS with msdos_format() function;<br>
2) check that PC can read/write this SD Card;<br>
3) if PC fails to mount this partition - dump SD Card and check
that all data is on right sectors.<br>
<div><br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-05-05 22:28 GMT+04:00 Andrey
Mozzhuhin <span dir="ltr"><<a href="mailto:nopscmn@gmail.com" target="_blank">nopscmn@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div>
<div>
<div>
<div>Hi, Andre<br>
<br>
</div>
You can try to use SD Card in <span lang="en"><span>opposite</span></span>
direction:<br>
</div>
<div>0) fill SD Card with zeroes;<br>
</div>
1) format partition under RTEMS with msdos_format()
function;<br>
</div>
2) check that PC can read/write this SD Card;<br>
</div>
3) if PC fails to mount this partition - dump SD Card
and check that all data is on right sectors.<br>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-05-05 13:52 GMT+04:00
Andre Marques <span dir="ltr"><<a href="mailto:andre.lousa.marques@gmail.com" target="_blank">andre.lousa.marques@gmail.com</a>></span>:
<div>
<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
Following the problem in<br>
<br>
<a href="http://www.rtems.org/pipermail/rtems-devel/2014-April/006585.html" target="_blank">http://www.rtems.org/pipermail/rtems-devel/2014-April/006585.html</a><br>
<br>
I am now trying to mount the SD card partitions
on RTEMS.<br>
<br>
Summarizing the process:<br>
<br>
1. rtems_io_register_driver (by calling my
driver with CONFIGURE_APPLICATION_EXTRA_DRIVERS
on hello sample)<br>
<br>
2. rtems_filesystem_make_dev_t (to get the
device file)<br>
<br>
3. rtems_disk_io_initialize<br>
<br>
4. rtems_disk_create_phys (to create the disk,
at /dev/sdc0)<br>
<br>
5. rtems_bdpart_register_from_disk (to read and
register the partitions)<br>
<br>
6. rtems_fsmount (to mount the partitions)<br>
<br>
For rtems_fsmount I am providing the following
fs_table:<br>
<br>
rtems_fstab_entry fs_table [] = {<br>
{<br>
.source = "/dev/sdc0",<br>
.target = "/mnt/p1",<br>
.type = "dosfs",<br>
.options = RTEMS_FILESYSTEM_READ_WRITE,<br>
.report_reasons = RTEMS_FSTAB_ANY,<br>
.abort_reasons = RTEMS_FSTAB_OK<br>
},{<br>
.source = "/dev/sdc01",<br>
.target = "/mnt/p2",<br>
.type = "dosfs",<br>
.options = RTEMS_FILESYSTEM_READ_WRITE,<br>
.report_reasons = RTEMS_FSTAB_ANY,<br>
.abort_reasons = RTEMS_FSTAB_NONE<br>
}<br>
};<br>
<br>
The SD card has only one partition starting at
block number 8192.<br>
<br>
After I call rtems_fsmount it calls my driver to
read block 8192 and 8193 and then hangs.<br>
<br>
I have tested the driver and It seems to have no
problem reading single or multiple blocks.<br>
<br>
Any tips?<br>
<br>
Also I am using the following confdefs
configuration (some values are exaggerated):<br>
<br>
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER<br>
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER<br>
#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK<br>
<br>
#define CONFIGURE_FILESYSTEM_DOSFS<br>
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM<br>
<br>
#define CONFIGURE_APPLICATION_EXTRA_DRIVERS
SD_CARD_DRIVER_TABLE_ENTRY<br>
<br>
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
20<br>
<br>
#define CONFIGURE_MAXIMUM_TASKS 2<br>
#define CONFIGURE_MAXIMUM_DRIVERS 10<br>
<br>
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE<br>
<br>
#define CONFIGURE_INIT_TASK_STACK_SIZE (32 *
1024)<br>
<br>
#define CONFIGURE_INITIAL_EXTENSIONS
RTEMS_TEST_INITIAL_EXTENSION<br>
<br>
#define CONFIGURE_INIT<br>
<br>
--André Marques<br>
<br>
_______________________________________________<br>
rtems-devel mailing list<br>
<a href="mailto:rtems-devel@rtems.org" target="_blank">rtems-devel@rtems.org</a><br>
<a href="http://www.rtems.org/mailman/listinfo/rtems-devel" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-devel</a><br>
</blockquote>
</div>
</div>
</div>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
rtems-devel mailing list
<a href="mailto:rtems-devel@rtems.org" target="_blank">rtems-devel@rtems.org</a>
<a href="http://www.rtems.org/mailman/listinfo/rtems-devel" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-devel</a>
</pre>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div>