Re: BF548 EZ-KIT Lite - USB Mass Storage Device Demo

HI martin ,

i got a problem that, when i were using the on board RAM(size is 64MB) as the mass storage in the mass_storage _app then it enumerates the board as a mass storage device(like a usb pen drive), 1.HOWEVER when i copy a file other than .txt extension i.e like a .pdf/.ppt/.doc file then it does not copy to RAM successfully.(it creates a object of that type but the actual content/size  is always zero).
2. AFTER COPYING ONE TEXT FILE THEN I AM UNABLE TO COPY ANOTHER TEXT FILE IN IT.
3.The pc enumerates the board as a 8MB pen drive, is there any method to increase the size /capacity as i have a RAM of size 64MB.

4The format and copying progress option (which normally work well with pendrivs is not working with it) it shows copying for a long time but the progress bar/details do not show the extent of copying completed.

Parents
    •  Analog Employees 
    on May 29, 2014 3:32 PM

    Hi Akash,

    As the same issue is handled by private support could you please continue the discussion through private support to avoid duplication of efforts, below is the response which I have suggested in previous mail(through private support):

    Please follow the below steps to extend the drive size from 8MB to 16MB. 

    • Select Project > Project Options
    • Select “Add Startup Code/LDF”
    • Select “Add an LDF and startup code”
    • Select “External Memory” check the “Use external memory (SDRAM)” checkbox.
    • Select the “Size of external memory” set it to 64 MB
    • Select “System Heap” and check the “Customize the system heap?” checkbox.
    • Set the “Memory types” to “L3 external memory (SDRAM)”
    • Set the “Minimum size” to 10 MB
    • Press the OK button

    Under Project > Project Options select “Assemble” and uncheck the “Generate verbose output” and “Skip preprocessing” options then press the OK button.  At this time you can rebuild the project. 

    The limitation to 8MB is both in the USB library and the application configuration. To use 16MB you will need to:

    • Add $(ADI_DSP)\Blackfin\lib\src\drivers\usb\class\peripheral\mass_storage\adi_usb_msd_scsi.c to your project
    • Select Project > Project Options
    • Select “Compile : Preprocessor” and add ADI_DISK_16MB to the “Preprocessor definitions”
    • Select “External Memory”.
    • Set “Partition external memory” to “None”
    • Change the memory size at line 271 of mass_storage_app.c to 0x1000000
    • Modify the declarations in bsp_bf548.c i.e extern "asm" int FssGeneralHeap;extern "asm" int FssGeneralHeap_length; by removing extern “asm” for both FssGeneralHeap and FssGeneralHeap_length 
    • Press the OK button
    • Recompile

    You will now be able to use a 16MB RAM Disk. With the default partitioning it is not possible to have a 16MB RAM disk. The alternative to no partitioning is the custom option.

    With both the 8MB and 16MB options I am able to copy large files without issue.

    Note that the USB stack requires L3 i.e external memory. Hence you cannot emulate the complete memory as a mass storage. The example shows an option on how to use DDR as a mass storage.

    Regards,

    Suraj.

Reply
    •  Analog Employees 
    on May 29, 2014 3:32 PM

    Hi Akash,

    As the same issue is handled by private support could you please continue the discussion through private support to avoid duplication of efforts, below is the response which I have suggested in previous mail(through private support):

    Please follow the below steps to extend the drive size from 8MB to 16MB. 

    • Select Project > Project Options
    • Select “Add Startup Code/LDF”
    • Select “Add an LDF and startup code”
    • Select “External Memory” check the “Use external memory (SDRAM)” checkbox.
    • Select the “Size of external memory” set it to 64 MB
    • Select “System Heap” and check the “Customize the system heap?” checkbox.
    • Set the “Memory types” to “L3 external memory (SDRAM)”
    • Set the “Minimum size” to 10 MB
    • Press the OK button

    Under Project > Project Options select “Assemble” and uncheck the “Generate verbose output” and “Skip preprocessing” options then press the OK button.  At this time you can rebuild the project. 

    The limitation to 8MB is both in the USB library and the application configuration. To use 16MB you will need to:

    • Add $(ADI_DSP)\Blackfin\lib\src\drivers\usb\class\peripheral\mass_storage\adi_usb_msd_scsi.c to your project
    • Select Project > Project Options
    • Select “Compile : Preprocessor” and add ADI_DISK_16MB to the “Preprocessor definitions”
    • Select “External Memory”.
    • Set “Partition external memory” to “None”
    • Change the memory size at line 271 of mass_storage_app.c to 0x1000000
    • Modify the declarations in bsp_bf548.c i.e extern "asm" int FssGeneralHeap;extern "asm" int FssGeneralHeap_length; by removing extern “asm” for both FssGeneralHeap and FssGeneralHeap_length 
    • Press the OK button
    • Recompile

    You will now be able to use a 16MB RAM Disk. With the default partitioning it is not possible to have a 16MB RAM disk. The alternative to no partitioning is the custom option.

    With both the 8MB and 16MB options I am able to copy large files without issue.

    Note that the USB stack requires L3 i.e external memory. Hence you cannot emulate the complete memory as a mass storage. The example shows an option on how to use DDR as a mass storage.

    Regards,

    Suraj.

Children
No Data