Jump to content

USB Mass Storage device STM32


 Share

Recommended Posts

Hi,

As I have to wait to recable my LCDs in my MBSEQ till the weekend, I thought I would test my newly soldered MBSD cable and MB_CORE_32 using the USB Mass Storage device app available in MIOS32 downloads. I have used the ultra low cost MBSD route i.e. a Mini SD adapter with the cables soldered then putting a Micro SD card into the adapter.

When I plug in my Mini SD card, I get all the right signs from Windows XP SP2, an STM Mass storage device is found. But it seems that as Windows trys to create the removable device something goes wrong. The Removable device starts to appear in My Computer, then disappears. This appearing/disappearing goes round continuously but the device is never actually available (this creates a great glitchy sound of Windows alert playing all over the place, cool but not what I want!). I've tried this on 4 different machines today, Windows XP and Vista plus Macbook and Ubuntu desktop. The Windows machines at least try to recognise the SD card, Mac OS and Ubuntu see nothing. I always connect direct to a USB port, that is I have no hubs etc involved.

I've been over my Mini SD adapter and checked continuity, all fine. I've triple checked the schematic and I'm 99 percent sure that's fine (admit to being human though!). I have measured 3.3v on the SD card when hooked up to the CORE_32, fine. I've tried 3 different Micro SD cards, a SanDisk and two no names. Always the same behaviour :(

The only thing which seems a bit strange is that the status LED starts to flash once I plug in the SD card. Is it supposed to do that? Or is that a sign that the USB power can't handle powering up the SD card?

Other than that, does anyone have any suggestion why this may be happening?

Thanks in advance

David

Link to comment
Share on other sites

Hi David,

The only thing which seems a bit strange is that the status LED starts to flash once I plug in the SD card. Is it supposed to do that? Or is that a sign that the USB power can't handle powering up the SD card?

It shouldn't flash - do you mean the same dimming effect which will be performed by the bootloader after power-on?

This indicates that something resets the core.

E.g. a short circuit once the card has been connected.

After reset, and after the application has been restarted, the IO pin drivers will be enabled, and if this causes a short (-> power drop), the core will boot again.

Period.

Since you already checked the adapter, the issue could be located at the core side.

E.g., check that J24 is connected to 3.3V position (not 5V!), check that R30 resistor arrays *not* mounted, check with a multimeter that there is no short between SI/SO/SC/RC pins

Best Regards, Thorsten.

Link to comment
Share on other sites

Hi TK,

Thanks for the speedy reply.

It shouldn't flash - do you mean the same dimming effect which will be performed by the bootloader after power-on?

This indicates that something resets the core.

E.g. a short circuit once the card has been connected.

I would say this is exactly what is happening.

Since you already checked the adapter, the issue could be located at the core side.

E.g., check that J24 is connected to 3.3V position (not 5V!), check that R30 resistor arrays *not* mounted,

For sure it is 3.3v. I originally had R30, but I removed it after rechecking the MBSEQ interconnection PDF and making my first post :)

check with a multimeter that there is no short between SI/SO/SC/RC pins

I have double checked a few times, there is no short to be measured between those 4 lines, when the SD card adapter is plugged in or not.

The only thing I have found with a good poking around with my multimeter on j16 is that between VSS and VCC there is a resistance which seems to constantly shift around. This is regardless of the SD card adapter being plugged in or not. I guess this is ok?

So I'm a bit stuck now :sad: Any other ideas, or should I try to make another SD adapter?

Best Regards

David

Edited for smilies!

Edited by monokinetic
Link to comment
Share on other sites

Hi David,

it would be interesting if the MBSEQ V4 application is able to read the SD Card, or if the core will be rebooted as well.

In the most recent release (beta16) I integrated a command interface to access debugging functions from the MIOS32 terminal, which is part of MIOS Studio 2:

mios_studio_terminal32.png

Could you please try it?

Just enter "help" to test that the communication is working, and "sdcard" to retrieve informations from the SD Card

Best Regards, Thorsten.

Link to comment
Share on other sites

Hi Thorsten,

What a funny coincidence, this afternoon I was just thinking, what I would need is a way to test this on MBSeqV4 firmware and a few hours later I found your post!!!

In the most recent release (beta16) I integrated a command interface to access debugging functions from the MIOS32 terminal, which is part of MIOS Studio 2:

Could you please try it?

Just enter "help" to test that the communication is working, and "sdcard" to retrieve informations from the SD Card

Best Regards, Thorsten.

I will more than happily try it..... I uploaded MBSeqV4 beta 16 and the result of entering sdcard in MIOS Studio V2 is this:

[46078.002] SD Card Informations

[46078.002] ====================

[46078.002] --------------------

[46078.002] CID:

[46078.002] - ManufacturerID:

[46078.002] - OEM AppliID:

[46078.002] - ProdName: SD128

[46078.002] - ProdRev: 0

[46078.002] - ProdSN: 0x00004661

[46078.002] - Reserved1: 41

[46078.002] - ManufactDate: 82

[46078.002] - msd_CRC: 0x38

[46078.002] - Reserved2: 1

[46078.002] --------------------

[46078.003] --------------------

[46078.003] - CSDStruct: 0

[46078.003] - SysSpecVersion: 0

[46078.003] - Reserved1: 0

[46078.003] - TAAC: 127

[46078.003] - NSAC: 0

[46078.003] - MaxBusClkFrec: 50

[46078.003] - CardComdClasses: 437

[46078.003] - RdBlockLen: 9

[46078.003] - PartBlockRead: 1

[46078.003] - WrBlockMisalign: 0

[46078.004] - RdBlockMisalign: 0

[46078.004] - DSRImpl: 0

[46078.004] - Reserved2: 0

[46078.004] - DeviceSize: 1943

[46078.004] - MaxRdCurrentVDDMin: 5

[46078.004] - MaxRdCurrentVDDMax: 6

[46078.004] - MaxWrCurrentVDDMin: 5

[46078.005] - MaxWrCurrentVDDMax: 6

[46078.005] - DeviceSizeMul: 6

[46078.012] 0 root dir entries, data area commences at sector #2069.

[46078.012] 123873 clusters (253691904 bytes) in data area, filesystem IDd as FAT32

[46078.013] Content of root directory:

[46078.013] - MIOS

[46078.013] Found 1 directory entries.

[46078.013] --------------------

[46078.013] 

[46078.013] Checking SD Card at application layer

[46078.014] =====================================

[46078.014] Deriving SD Card informations - please wait!

[46079.464] SD Card: 'NO NAME    ': 253 of 253 MB free

[46079.464] File MBSEQ_B1.V4: doesn't exist

[46079.465] File MBSEQ_B2.V4: doesn't exist

[46079.465] File MBSEQ_B3.V4: doesn't exist

[46079.465] File MBSEQ_B4.V4: doesn't exist

[46079.465] File MBSEQ_B5.V4: doesn't exist

[46079.465] File MBSEQ_B6.V4: doesn't exist

[46079.465] File MBSEQ_B7.V4: doesn't exist

[46079.465] File MBSEQ_B8.V4: doesn't exist

[46079.465] File MBSEQ_M.V4: doesn't exist

[46079.466] File MBSEQ_S.V4: doesn't exist

[46079.466] File MBSEQ_G.V4: doesn't exist

[46079.466] File MBSEQ_C.V4: doesn't exist

[46079.466] File MBSEQ_HW.V4: doesn't exist or hasn't been re-loaded

[46079.466] done.

Wow, what a really helpful tool! These are exciting times in the world of Midibox, thanks for all your hard work everyone involved in the new MIOS studio! (Now we just need to get it working over IP and we could do remote assistance of people's hardware over the net :thumbsup: )

Anyway, I get no power reset type behaviour when plugging in the SD Card when running the new MBSeqV4 beta 16 i.e. the status LED stays on.

So I guess that means the Core32 is reading the SD card fine and the problem is with the USB MSD firmware?

If I can be of any assistance with finding out why the USB MSD firmware is not working, please let me know :)

Otherwise consider this case closed.

Kind Regards

David

Edited by monokinetic
Link to comment
Share on other sites

Great results! :)

the MBSEQ application uses the status LED for a different purpose, but since it's even possible to read the directory, the communication between core and SD Card seems to be ok.

Could you please try usb_mass_storage_device_v1_1.zip?

This version uses exactly the same SD Card driver like the MBSEQ release. The latest changes have been added by Phil to support MMC and HCSD - although your card seems to be a common type, it seems that the changes solve previous access problems.

If the MSD application still crashes, it will be very difficult to debug this remotely :-/

(even with a TCP/IP connection to the core ;)

Best Regards, Thorsten.

Link to comment
Share on other sites

Could you please try usb_mass_storage_device_v1_1.zip?

Of course. Gave it a quick try this evening, just on one computer but it seems to have the same behaviour as MSD v1.0 i.e. not recognised usb device, core resetting.

If the MSD application still crashes, it will be very difficult to debug this remotely :-/

(even with a TCP/IP connection to the core ;)

Ah well, to be honest I would rather our time goes towards something that makes noise rather than an SD Card reader :)

Cheers

David

Link to comment
Share on other sites

Sorry for hijacking, but what are the constraints for the SD-card? I tried to use a 16MB SD-card and the SEQ recognized the card (SD Card Connected :-D) but it didn't find the hardware configuration and when I run the sdcard command in MIOS Studio I get

[26217.108] SD Card Informations

[26217.108] ====================

[26217.108] --------------------

[26217.108] CID:

[26217.110] - ManufacturerID:

[26217.110] - OEM AppliID:

[26217.110] - ProdName: D016W

[26217.110] - ProdRev: 32

[26217.112] - ProdSN: 0x097a1a00

[26217.112] - Reserved1: 6

[26217.112] - ManufactDate: 415

[26217.114] - msd_CRC: 0x18

[26217.114] - Reserved2: 1

[26217.114] --------------------

[26217.114] --------------------

[26217.116] - CSDStruct: 0

[26217.116] - SysSpecVersion: 9

[26217.116] - Reserved1: 2

[26217.118] - TAAC: 0

[26217.118] - NSAC: 50

[26217.118] - MaxBusClkFrec: 31

[26217.118] - CardComdClasses: 1432

[26217.120] - RdBlockLen: 0

[26217.120] - PartBlockRead: 1

[26217.120] - WrBlockMisalign: 1

[26217.122] - RdBlockMisalign: 1

[26217.122] - DSRImpl: 0

[26217.122] - Reserved2: 0

[26217.122] - DeviceSize: 1019

[26217.124] - MaxRdCurrentVDDMin: 7

[26217.124] - MaxRdCurrentVDDMax: 1

[26217.124] - MaxWrCurrentVDDMin: 6

[26217.126] - MaxWrCurrentVDDMax: 3

[26217.126] - DeviceSizeMul: 7

[26217.126] - EraseGrSize: 31

[26217.128] - EraseGrMul: 28

[26217.128] - WrProtectGrSize: 18

[26217.128] - WrProtectGrEnable: 0

[26217.130] - ManDeflECC: 2

[26217.130] - WrSpeedFact: 0

[26217.130] - MaxWrBlockLen: 0

[26217.130] - WriteBlockPaPartial: 0

[26217.132] - Reserved3: 0

[26217.132] - ContentProtectAppli: 0

[26217.132] - FileFormatGrouop: 1

[26217.134] - CopyFlag: 1

[26217.134] - PermWrProtect: 1

[26217.134] - TempWrProtect: 0

[26217.136] - FileFormat: 3

[26217.136] - ECC: 3

[26217.136] - msd_CRC: 0x6d

[26217.136] - Reserved4: 1

[26217.138] --------------------

[26217.138] --------------------

[26217.138] Partition 0 start sector 0 (invalid type, assuming superfloppy format)

[26217.140] Volume label ''

[26217.140] 0 sector/s per cluster, 0 reserved sector/s, volume total 0 sectors.

[26217.142] 0 sectors per FAT, first FAT at sector #0, root dir at #0.

[26217.144] (For FAT32, the root dir is a CLUSTER number, FAT12/16 it is a SECTOR number)

[26217.146] 0 root dir entries, data area commences at sector #0.

[26217.148] 0 clusters (0 bytes) in data area, filesystem IDd as FAT12

[26217.148] Content of root directory:

[26217.150] Found 0 directory entries.

[26217.150] --------------------

[26217.150] 

[26217.150] Checking SD Card at application layer

[26217.152] =====================================

[26217.152] Deriving SD Card informations - please wait!

[26217.154] SD Card: '': 4294 of 0 MB free

[26217.154] File MBSEQ_B1.V4: doesn't exist

[26217.156] File MBSEQ_B2.V4: doesn't exist

[26217.156] File MBSEQ_B3.V4: doesn't exist

[26217.158] File MBSEQ_B4.V4: doesn't exist

[26217.158] File MBSEQ_B5.V4: doesn't exist

[26217.160] File MBSEQ_B6.V4: doesn't exist

[26217.160] File MBSEQ_B7.V4: doesn't exist

[26217.160] File MBSEQ_B8.V4: doesn't exist

[26217.162] File MBSEQ_M.V4: doesn't exist

[26217.162] File MBSEQ_S.V4: doesn't exist

[26217.164] File MBSEQ_G.V4: doesn't exist

[26217.164] File MBSEQ_C.V4: doesn't exist

[26217.166] File MBSEQ_HW.V4: doesn't exist or hasn't been re-loaded

[26217.166] done.

Which doesn't look so healthy. I replaced the card with a 2GB card and it works much better. The 16 MB card works fine in windows and in os x though.

Link to comment
Share on other sites

Interesting.....

Can you tell us exactly what make/model/type the 16MB card is please? I guess that there is something strange about that card. It appears that it isn't being initialized properly.

There can be various causes of this, the MIOS32 driver attempts to initialize as per the SD spec but some cards deviate from the spec. I know that MicroSD cards don't "have" to support SPI mode (which is what we use) but all other cards "should" work :)

Cheers

Phil

Link to comment
Share on other sites

I guess that the SD Card access is working, but:

[26217.148] 0 clusters (0 bytes) in data area, filesystem IDd as FAT12

FAT12 is unusual, I never tested this format with DOSFS.

However, since MBSEQ will use a new FAT driver (FatFs), there is a certain chance that the card can be successfully read with beta17

Best Regards, Thorsten.

Link to comment
Share on other sites

hi,

i still have a usb msd problem.

i am using a 4gb microSDHC.

similar to monokinetic above my led flashes then stays off.

windows reports 'usb device not recognized'. :wacko:

i just updated to latest msd v1.1 and it's the same result. :logik:

only just noticed there's beta16 mbseq so i'm off to try the 'help' & 'sdcard' for more info.

s.

Link to comment
Share on other sites

:unsure:

not sure what it all means, but i do know windows has formatted my 4gb to 128kb :shocked:

and i've just tried formatting when connected via mbseq in msd mode and it only will reformat to 128kb!!!

here we go:

[1193893.687] SD Card Informations

[1193893.687] ====================

[1193893.687] --------------------

[1193893.687] CID:

[1193893.687] - ManufacturerID:

[1193893.687] - OEM AppliID:

[1193893.687] - ProdName: SD04G

[1193893.687] - ProdRev: 56

[1193893.687] - ProdSN: 0xb4013e85

[1193893.687] - Reserved1: 0

[1193893.688] - ManufactDate: 152

[1193893.688] - msd_CRC: 0x76

[1193893.688] - Reserved2: 1

[1193893.688] --------------------

[1193893.688] --------------------

[1193893.688] - CSDStruct: 1

[1193893.688] - SysSpecVersion: 0

[1193893.688] - Reserved1: 0

[1193893.688] - TAAC: 14

[1193893.688] - NSAC: 0

[1193893.688] - MaxBusClkFrec: 50

[1193893.688] - CardComdClasses: 1461

[1193893.689] - RdBlockLen: 9

[1193893.689] - PartBlockRead: 0

[1193893.689] - WrBlockMisalign: 0

[1193893.690] - RdBlockMisalign: 0

[1193893.690] - DSRImpl: 0

[1193893.690] - Reserved2: 0

[1193893.690] - DeviceSize: 0

[1193893.690] - MaxRdCurrentVDDMin: 3

[1193893.690] - MaxRdCurrentVDDMax: 5

[1193893.690] - MaxWrCurrentVDDMin: 4

[1193893.690] - MaxWrCurrentVDDMax: 1

[1193893.690] - DeviceSizeMul: 6

[1193893.690] - EraseGrSize: 31

[1193893.690] - EraseGrMul: 28

[1193893.690] - WrProtectGrSize: 0

[1193893.690] - WrProtectGrEnable: 0

[1193893.690] - ManDeflECC: 0

[1193893.690] - WrSpeedFact: 2

[1193893.692] - MaxWrBlockLen: 9

[1193893.692] - WriteBlockPaPartial: 0

[1193893.692] - Reserved3: 0

[1193893.692] - ContentProtectAppli: 0

[1193893.692] - FileFormatGrouop: 0

[1193893.692] - CopyFlag: 0

[1193893.692] - PermWrProtect: 0

[1193893.694] - TempWrProtect: 0

[1193893.694] - FileFormat: 0

[1193893.694] - ECC: 0

[1193893.694] - msd_CRC: 0x28

[1193893.694] - Reserved4: 1

[1193893.694] --------------------

[1193893.694] --------------------

[1193893.694] Partition 0 start sector 0 (invalid type, assuming superfloppy format)

[1193893.694] Volume label 'NO NAME '

[1193893.694] 1 sector/s per cluster, 6 reserved sector/s, volume total 256 sectors.

[1193893.694] 1 sectors per FAT, first FAT at sector #6, root dir at #8.

[1193893.696] (For FAT32, the root dir is a CLUSTER number, FAT12/16 it is a SECTOR number)

[1193893.696] 512 root dir entries, data area commences at sector #40.

[1193893.696] 216 clusters (110592 bytes) in data area, filesystem IDd as FAT12

[1193893.698] Content of root directory:

[1193893.698] - MBSEQ_HW.V4

[1193893.698] Found 1 directory entries.

[1193893.698] --------------------

[1193893.698]

[1193893.698] Checking SD Card at application layer

[1193893.698] =====================================

[1193893.698] Deriving SD Card informations - please wait!

[1193893.701] SD Card: 'NO NAME ': 0 of 0 MB free

[1193893.701] File MBSEQ_B1.V4: doesn't exist

[1193893.701] File MBSEQ_B2.V4: doesn't exist

[1193893.701] File MBSEQ_B3.V4: doesn't exist

[1193893.701] File MBSEQ_B4.V4: doesn't exist

[1193893.701] File MBSEQ_B5.V4: doesn't exist

[1193893.701] File MBSEQ_B6.V4: doesn't exist

[1193893.701] File MBSEQ_B7.V4: doesn't exist

[1193893.701] File MBSEQ_B8.V4: doesn't exist

[1193893.701] File MBSEQ_M.V4: doesn't exist

[1193893.701] File MBSEQ_S.V4: doesn't exist

[1193893.703] File MBSEQ_G.V4: doesn't exist

[1193893.703] File MBSEQ_C.V4: doesn't exist

[1193893.703] File MBSEQ_HW.V4: valid

[1193893.703] done.

any help?

s.

Link to comment
Share on other sites

The 16MB card is a Cannon branded SD (full physical size). It was deliverd with a new Cannon Ixus camera 2006. I noticed the FAT12 and reformatted it in OS X, but never had the chance to change to another FAT format. Maybe Windows is a better place to do that. Will try tonight. Also, does the debugging and info commands only work via USB connection? If that is the case, I think it should be mentioned somwhere because I tyied to use them over MIDI... Stupid me, but I am not the only one :baby:

Link to comment
Share on other sites

unsure.gif

not sure what it all means, but i do know windows has formatted my 4gb to 128kb shocked.png

and i've just tried formatting when connected via mbseq in msd mode and it only will reformat to 128kb!!!

Try reformatting using this program http://www.sdcard.or...mers/formatter/

It should reformat the card correctly... If possible I would connect the card directly to the PC (or through a USB adapter) rather than using it via mbseq.

EDIT: Make sure you turn on "FORMAT SIZE ADJUSTMENT" !

Edited by philetaylor
Link to comment
Share on other sites

I uploaded beta 18C and queried the seq about the FAT12 CD Card and got this:

[39114.704] SD Card Informations

[39114.704] ====================

[39114.705] --------------------

[39114.705] CID:

[39114.705] - ManufacturerID:

[39114.705] - OEM AppliID:

[39114.707] - ProdName: D016W

[39114.707] - ProdRev: 32

[39114.707] - ProdSN: 0x097a1a00

[39114.707] - Reserved1: 182

[39114.709] - ManufactDate: 415

[39114.709] - msd_CRC: 0x18

[39114.709] - Reserved2: 1

[39114.710] --------------------

[39114.710] --------------------

[39114.738] - CSDStruct: 0

[39114.738] - SysSpecVersion: 9

[39114.738] - Reserved1: 2

[39114.738] - TAAC: 0

[39114.738] - NSAC: 50

[39114.738] - MaxBusClkFrec: 31

[39114.738] - CardComdClasses: 1432

[39114.738] - RdBlockLen: 0

[39114.738] - PartBlockRead: 1

[39114.738] - WrBlockMisalign: 1

[39114.738] - RdBlockMisalign: 1

[39114.738] - DSRImpl: 0

[39114.738] - Reserved2: 0

[39114.738] - DeviceSize: 1019

[39114.738] - MaxRdCurrentVDDMin: 7

[39114.738] - MaxRdCurrentVDDMax: 1

[39114.738] - MaxWrCurrentVDDMin: 6

[39114.738] - MaxWrCurrentVDDMax: 3

[39114.738] - DeviceSizeMul: 7

[39114.738] - EraseGrSize: 31

[39114.738] - EraseGrMul: 28

[39114.738] - WrProtectGrSize: 18

[39114.738] - WrProtectGrEnable: 0

[39114.738] - ManDeflECC: 2

[39114.738] - WrSpeedFact: 0

[39114.738] - MaxWrBlockLen: 0

[39114.738] - WriteBlockPaPartial: 0

[39114.738] - Reserved3: 0

[39114.738] - ContentProtectAppli: 0

[39114.738] - FileFormatGrouop: 1

[39114.738] - CopyFlag: 1

[39114.738] - PermWrProtect: 1

[39114.738] - TempWrProtect: 0

[39114.738] - FileFormat: 3

[39114.738] - ECC: 3

[39114.738] - msd_CRC: 0x6d

[39114.738] - Reserved4: 1

[39114.738] --------------------

[39114.738] Failed to open root directory - error status: 13

[39114.738]

[39114.738] Checking SD Card at application layer

[39114.738] =====================================

[39114.738] SD Card: Invalid FAT

[39114.738] File MBSEQ_B1.V4: doesn't exist

[39114.738] File MBSEQ_B2.V4: doesn't exist

[39114.738] File MBSEQ_B3.V4: doesn't exist

[39114.740] File MBSEQ_B4.V4: doesn't exist

[39114.740] File MBSEQ_M.V4: doesn't exist

[39114.742] File MBSEQ_S.V4: doesn't exist

[39114.742] File MBSEQ_G.V4: doesn't exist

[39114.744] File MBSEQ_C.V4: doesn't exist

[39114.744] File MBSEQ_HW.V4: doesn't exist or hasn't been re-loaded

[39114.746] done.

Link to comment
Share on other sites

I moved your posting to the right location, because in the MBSEQ V4 thread nobody can read about the history...

FatFs reports error status 13, which stands for invalid file system.

So, neither FatFs nor DosFs are able to read this SD Card, therefore no hope for this strange format.

Phil prepared a new application which allows to format SD Cards, you could beta test this one.

Best Regards, Thorsten.

Link to comment
Share on other sites

Phil prepared a new application which allows to format SD Cards, you could beta test this one.

The updated app is in the trunk/apps/troubleshooting/sdcard_tools directory of svn.

If you don't have the build environment setup, please let me know and I will send you the hex file.

It uses the MIOS_Studio 2.0 console to send simple commands to sdcard_tools which allow dir, cd, mkdir, rename and format. Please be aware that the format doesn't currently ask for ANY confirmation, it just does it!

I am working on the file copy routine at the moment, it should be completed later todaym :)

Cheers

Phil

Link to comment
Share on other sites

The updated app is in the trunk/apps/troubleshooting/sdcard_tools directory of svn.

If you don't have the build environment setup, please let me know and I will send you the hex file.

It uses the MIOS_Studio 2.0 console to send simple commands to sdcard_tools which allow dir, cd, mkdir, rename and format. Please be aware that the format doesn't currently ask for ANY confirmation, it just does it!

I am working on the file copy routine at the moment, it should be completed later todaym :)

Cheers

Phil

TK, thanks for sorting my posts. I didn't remember this was a separate thread... :blink:

Phil, is this a separate MIOS application? I don't have the build tool chain ready. Even though I should get it up, I'd rather spend my time learning MB SEQ V4 at the moment. I just got it working with four IIC MIDI modules. :) It you want me to try the application, please provide a hex. Otherwise I could format the SD card in Windows.

Link to comment
Share on other sites

Copy fails because the FIL structure is created locally (accordingly it will allocate stack memory)

Stack is reduced to 1024 bytes, but each FIL allocates more than 512 bytes, therefore the function doesn't work deterministic anymore (or just crashes)

Solution: declare the FIL structures outside the function ("static FIL fsrc, fdst:")

Best Regards, Thorsten.

Link to comment
Share on other sites

Solution: declare the FIL structures outside the function ("static FIL fsrc, fdst:")

Thanks, I knew it would be something stupid that I had done... I even remember you mentioning that in the FatFS thread but I just didn't notice... I also had to declare the tmp_buffer outside the fuction for the same reason :)

Performance isn't bad considering the amount of work it has to do :)


[3041271.692] Mounting SD Card...

[3041271.696] SUCCESS: SD Card mounted!

[3041277.446] dir

[3041277.449] Volume in Drive 0 

[3041277.449] Directory of 0:/

[3041277.449] [......a] 03/04/10  11:11:30 AM 	13094673 HP-3D.zip

[3041277.449] 3967488 KB total disk space.

[3041277.450] 3967056 KB available on the disk.

[3041288.163] copy hp-3d.zip test.zip

[3041366.618] Copying /hp-3d.zip to /test.zip

[3041366.619] Copied 13094673 bytes in 78 seconds (163 KB/s)!

Link to comment
Share on other sites

I got some interesting results copying the same 12MB file with some different cards.

A standard Lexar 128MB card was the slowest at 122KB/s, then a 4GB Sandisk Ultra II SDHC was 202 KB/s, the surprising thing was a Dane-elec MMC+ 1GB card managed 365KB/s, nearly twice as fast as the SDHC :)

Cheers

Phil

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...