<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: External RAM with RAM Disk USB App in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467011#M28181</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you testing on Full Speed mode? I was able to create a basic example for TWR-K65F180M and dev_msd_disk_bm_twrk65f180m example (KSDK 1.3) and it worked well, this is what I did:&lt;/P&gt;&lt;P&gt;In disk.h, I modify TOTAL_LOGICAL_ADDRESS_BLOCKS_NORMAL to 1024 in order to use a 512kB disk size, also, storage_disk pointer was modified as you did:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14618842060838344" data-renderedposition="138_8_1192_80" jivemacro_uid="_14618842060838344" modifiedtitle="true"&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define TOTAL_LOGICAL_ADDRESS_BLOCKS_NORMAL (1024)&lt;/P&gt;&lt;P&gt;#else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define TOTAL_LOGICAL_ADDRESS_BLOCKS_NORMAL (48)&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14618842330323356 jive_text_macro" data-renderedposition="244_8_1192_80" jivemacro_uid="_14618842330323356" modifiedtitle="true"&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t *storage_disk;&lt;/P&gt;&lt;P&gt;#else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t storage_disk[DISK_SIZE_NORMAL];&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;In hardware_init.c file, I added SDRAM initialization (taken from SDRAM example at &amp;lt;KSDK_1_3_PATH&amp;gt;\examples\twrk65f180m\driver_examples\sdramc):&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14618843515852806 jive_text_macro" data-renderedposition="376_8_1192_48" jivemacro_uid="_14618843515852806" modifiedtitle="true"&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FB_Type* fbbase = g_fbBase[0];&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="_jivemacro_uid_146188438207731 jive_macro_code jive_text_macro" data-renderedposition="450_8_1192_272" jivemacro_uid="_146188438207731" modifiedtitle="true"&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Change the clock DIV3*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_SYS_SetOutDiv3(2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_HAL_SetClkOutSel(SIM, kClockClkoutSelFlexbusClk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Sets the Flexbus security level*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_HAL_SetFlexbusSecurityLevelMode(SIM,kSimFbslLevel3);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable the FB_BE_xx_yy signal in Flexbus */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_SYS_EnableFlexbusClock(0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLEXBUS_HAL_SetMultiplexControlGroup2(fbbase,kFlexbusMultiplexGroup2_FB_BE_31_24);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLEXBUS_HAL_SetMultiplexControlGroup3(fbbase,kFlexbusMultiplexGroup3_FB_BE_23_16);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLEXBUS_HAL_SetMultiplexControlGroup4(fbbase,kFlexbusMultiplexGroup4_FB_BE_15_8);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLEXBUS_HAL_SetMultiplexControlGroup5(fbbase,kFlexbusMultiplexGroup5_FB_BE_7_0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Init sdram pins*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; configure_sdram_pins(0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Init Sdram Clock*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_SYS_EnableSdramcClock(0);&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Be sure to include proper header: #include "fsl_flexbus_driver.h" and #include "fsl_flexbus_hal.h") And finally, SDRAM_Init is called (also, be sure to add fsl_sdram_Driver.c and fsl_sdram_driver.h from SDRAM example) in APP_Init function:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14618845200366406 jive_text_macro" data-renderedposition="800_8_1192_96" jivemacro_uid="_14618845200366406" modifiedtitle="true"&gt;&lt;P&gt;void APP_init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SDRAM_Init();&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_PRINTF("Enter Testapp_init\n");&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And storage disk is pointing to SDRAM start address:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="_jivemacro_uid_14618845962165531 jive_macro_code jive_text_macro" data-renderedposition="948_8_1192_64" jivemacro_uid="_14618845962165531" modifiedtitle="true"&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_disk.storage_disk = (uint8_t *)SDRAM_START_ADDRESS;&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_Class_MSC_Init(CONTROLLER_ID, &amp;amp;g_msd_config, &amp;amp;g_disk.app_handle);&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After applying these changes, I was able to use SDRAM memory for my storage disk successfully.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you able to test this basic example?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Apr 2016 23:06:38 GMT</pubDate>
    <dc:creator>isaacavila</dc:creator>
    <dc:date>2016-04-28T23:06:38Z</dc:date>
    <item>
      <title>External RAM with RAM Disk USB App</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467010#M28180</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the dev_msd_cdc_bm_twrk65f180m app as a starting example with the RAM Disk configuration as storage for the MSD. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The example is using the internal RAM as storage and want to modify the example to use the external ram of my development board. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the SDRAM driver working and can read and write to the external RAM in my main routine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have modified the disk_struct_t to accept a pointer to my external RAM instead of fix address in internal RAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;typedef struct _disk_variable_struct&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; msd_handle_t app_handle;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t start_app;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint16_t speed;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #if RAM_DISK_APP&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* disk space reserved */&lt;/P&gt;&lt;P&gt;&amp;nbsp; //uint8_t storage_disk[DISK_SIZE];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t * storage_disk;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t disk_lock;&lt;/P&gt;&lt;P&gt;} disk_struct_t;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have modified my scatter file to create a section in external RAM for my new bigger size array as follow:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;__attribute__ ((section(".ext_ram"))) uint8_t storage_disk2[DISK_SIZE];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then assign the array to pointer&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; msc_disk_init(&amp;amp;g_composite_device.msc_disk);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_composite_device.msc_disk.storage_disk = storage_disk2;&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;By doing these simple changes I cant get the drive (MSD) to work (Doesnt show as drive). I would assume that it doesn't matter where the data goes unless there is something wrong when accessing the SDRAM controller inside the USB MSD callback function "Disk_USB_App_Class_Callback".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried a several thing and can't get it to work, any help would be really appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Apr 2016 17:47:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467010#M28180</guid>
      <dc:creator>jstessier</dc:creator>
      <dc:date>2016-04-21T17:47:43Z</dc:date>
    </item>
    <item>
      <title>Re: External RAM with RAM Disk USB App</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467011#M28181</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you testing on Full Speed mode? I was able to create a basic example for TWR-K65F180M and dev_msd_disk_bm_twrk65f180m example (KSDK 1.3) and it worked well, this is what I did:&lt;/P&gt;&lt;P&gt;In disk.h, I modify TOTAL_LOGICAL_ADDRESS_BLOCKS_NORMAL to 1024 in order to use a 512kB disk size, also, storage_disk pointer was modified as you did:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14618842060838344" data-renderedposition="138_8_1192_80" jivemacro_uid="_14618842060838344" modifiedtitle="true"&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define TOTAL_LOGICAL_ADDRESS_BLOCKS_NORMAL (1024)&lt;/P&gt;&lt;P&gt;#else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define TOTAL_LOGICAL_ADDRESS_BLOCKS_NORMAL (48)&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14618842330323356 jive_text_macro" data-renderedposition="244_8_1192_80" jivemacro_uid="_14618842330323356" modifiedtitle="true"&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t *storage_disk;&lt;/P&gt;&lt;P&gt;#else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t storage_disk[DISK_SIZE_NORMAL];&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;In hardware_init.c file, I added SDRAM initialization (taken from SDRAM example at &amp;lt;KSDK_1_3_PATH&amp;gt;\examples\twrk65f180m\driver_examples\sdramc):&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14618843515852806 jive_text_macro" data-renderedposition="376_8_1192_48" jivemacro_uid="_14618843515852806" modifiedtitle="true"&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FB_Type* fbbase = g_fbBase[0];&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="_jivemacro_uid_146188438207731 jive_macro_code jive_text_macro" data-renderedposition="450_8_1192_272" jivemacro_uid="_146188438207731" modifiedtitle="true"&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Change the clock DIV3*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_SYS_SetOutDiv3(2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_HAL_SetClkOutSel(SIM, kClockClkoutSelFlexbusClk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Sets the Flexbus security level*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_HAL_SetFlexbusSecurityLevelMode(SIM,kSimFbslLevel3);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable the FB_BE_xx_yy signal in Flexbus */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_SYS_EnableFlexbusClock(0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLEXBUS_HAL_SetMultiplexControlGroup2(fbbase,kFlexbusMultiplexGroup2_FB_BE_31_24);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLEXBUS_HAL_SetMultiplexControlGroup3(fbbase,kFlexbusMultiplexGroup3_FB_BE_23_16);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLEXBUS_HAL_SetMultiplexControlGroup4(fbbase,kFlexbusMultiplexGroup4_FB_BE_15_8);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLEXBUS_HAL_SetMultiplexControlGroup5(fbbase,kFlexbusMultiplexGroup5_FB_BE_7_0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Init sdram pins*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; configure_sdram_pins(0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Init Sdram Clock*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_SYS_EnableSdramcClock(0);&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Be sure to include proper header: #include "fsl_flexbus_driver.h" and #include "fsl_flexbus_hal.h") And finally, SDRAM_Init is called (also, be sure to add fsl_sdram_Driver.c and fsl_sdram_driver.h from SDRAM example) in APP_Init function:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14618845200366406 jive_text_macro" data-renderedposition="800_8_1192_96" jivemacro_uid="_14618845200366406" modifiedtitle="true"&gt;&lt;P&gt;void APP_init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SDRAM_Init();&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_PRINTF("Enter Testapp_init\n");&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And storage disk is pointing to SDRAM start address:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="_jivemacro_uid_14618845962165531 jive_macro_code jive_text_macro" data-renderedposition="948_8_1192_64" jivemacro_uid="_14618845962165531" modifiedtitle="true"&gt;&lt;P&gt;#if RAM_DISK_USES_SDRAM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_disk.storage_disk = (uint8_t *)SDRAM_START_ADDRESS;&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_Class_MSC_Init(CONTROLLER_ID, &amp;amp;g_msd_config, &amp;amp;g_disk.app_handle);&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After applying these changes, I was able to use SDRAM memory for my storage disk successfully.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you able to test this basic example?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Apr 2016 23:06:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467011#M28181</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2016-04-28T23:06:38Z</dc:date>
    </item>
    <item>
      <title>Re: External RAM with RAM Disk USB App</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467012#M28182</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Isaac,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have double checked everything mentioned below in my code and everything should be fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the composite device example as a starting point.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tested the SDRAM with the test code in the SDRAM example and no error is reported.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I declare an array in internal ram like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint8_t storage_disk2[DISK_SIZE];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And assign it later:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_composite_device.msc_disk.storage_disk = storage_disk2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It works, but as soon as I change to external RAM (only change):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_composite_device.msc_disk.storage_disk = (uint8_t *)SDRAM_START_ADDRESS;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;No MSD is detected by computer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you send me your working example?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Apr 2016 16:37:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467012#M28182</guid>
      <dc:creator>jstessier</dc:creator>
      <dc:date>2016-04-29T16:37:24Z</dc:date>
    </item>
    <item>
      <title>Re: External RAM with RAM Disk USB App</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467013#M28183</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello JS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please take in mind that i did the test on FS instead of HS (I am getting some errors when trying to access to SDRAM and USB is unable to send requested data in High Speed). Attach you can find all files that should replace dev_msd_disk_bm_twrk65f180m example's ones (&amp;lt;KSDK_1_3_PATH&amp;gt;\examples\twrk65f180m\demo_apps\usb\device\msd\bm\kds)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Apr 2016 17:04:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467013#M28183</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2016-04-29T17:04:41Z</dc:date>
    </item>
    <item>
      <title>Re: External RAM with RAM Disk USB App</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467014#M28184</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the fast answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is changing the usb only done in the disk init function? or I have to change it somewhere else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void msc_disk_init(void *param)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    g_msc_disk_ptr = (disk_struct_t*) param;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    g_msc_disk_ptr-&amp;gt;speed = USB_SPEED_FULL;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    //g_msc_disk_ptr-&amp;gt;speed = USB_SPEED_HIGH;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ////g_msc_disk_ptr-&amp;gt;speed = USB_SPEED_LOW;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There was not attachments to your mail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JS&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Apr 2016 17:21:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467014#M28184</guid>
      <dc:creator>jstessier</dc:creator>
      <dc:date>2016-04-29T17:21:48Z</dc:date>
    </item>
    <item>
      <title>Re: External RAM with RAM Disk USB App</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467015#M28185</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Js,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I uploaded a .zip file where all source and header files are shown. The speed for USB is changed here:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14619608784164218" data-renderedposition="86_8_1192_48" jivemacro_uid="_14619608784164218" modifiedtitle="true"&gt;&lt;P&gt;#ifndef HIGH_SPEED&lt;/P&gt;&lt;P&gt;#define&amp;nbsp; HIGH_SPEED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0)&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Apr 2016 20:14:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-RAM-with-RAM-Disk-USB-App/m-p/467015#M28185</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2016-04-29T20:14:50Z</dc:date>
    </item>
  </channel>
</rss>

