This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[SOLVED] TM4C1294XL lwip + SD card

Hi everyone,

I'm actually trying to make an embedded web server on the TM4C1294XL and it works .... until my webpage isn't so complex (more than 1MB).

So i want to save the web page file on a SD card which i will connect to the GPIOs of the TM4C.

I saw some topics on this subject on the forum and google but didn't find the fastest way i expected (to greedy maybe). Anyway, there is my question : Someone already made it works  and can share his working code program ? Should be very usefull to win this programming time if already done.

Thanks

Best regards,

John

  • Hello John,

    The image has to be in an executable region. The sd card is a storage and not executable region, so one way of making it work is to use SDRAM memory connected over EPI and the code+data execution is relocated to SDRAM.

    You can refer to the TI Design, which has example of code relocation to SRDAM for execution.

    www.ti.com/.../TIDM-TM4C129SDRAMNVM

    Regards
    Amit
  • Hi Amit,

    Thanks for your answer. :)

    My knowledge seems unsifficient to understand what is happening with this additionnal board.

    The Board permits to connect a SD card and make it works as an executable region or did i miss understand ?

    Thanks for your help,

    Best regards,
    John
  • Hello John,

    The board has a SD Card and SDRAM memory. The relocation code copies the content of the SD Card bin file to SDRAM and then jumps the CPU execution to SDRAM. When compiling the original project you would need to use 0x6000.0000 as the Flash address and a higher region for SRAM in the cmd file of your project. This will allow code execution for 0x6000.0000

    Regards
    Amit
  • Hello Amit,

    Thank you so much about these explinations, that's very usefull to me ! (not only to me i guess)

    Best regards,

    John

  • Hi Amit,

    My firm also appreciates your bringing better clarity to this issue. However (don't you just hate that word?) is it (certain) that a, "higher region for SRAM" is without consequence? Staff argues that SRAM location is fixed w/in most (all) MCUs - and that the suggestion of, "higher region" will (necessarily) diminish the size of vital (MCU) SRAM.

    I suppose the SRAM may (also) be external - might you clarify? (re-clarify) Merci.
  • Hello cb1

    Yes, sure. Following is the Memory section of the CCS command file which is used by CCS ARM linker to place the code and data. What I am doing is mapping SRAM to 0x60100000 with a length of 0x00040000 so that SRAM also maps in SDRAM

    MEMORY
    {
    /* Application stored in and executes from internal flash */
    FLASH (RX) : origin = APP_BASE, length = 0x00100000
    /* Application uses internal RAM for data */
    SRAM (RWX) : origin = 0x60100000, length = 0x00040000
    }

    Regards
    Amit
  • Hello Amit,

    I'm actually making the following additionnal card you adviced me : www.ti.com/.../TIDM-TM4C129SDRAMNVM

    I think there is a little mistake in the Bill of Materials (BOM) ; the manufacturer part number is "IS42S163202D" but this item doesn't exist anywhere. It seems the last '2' before 'D' is to much on this ID, so should be : "IS42S16320D"

    Hope will help someone if i'm not wrong.

    Best regards,
    John