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.

Loading code from USB-flash after receiving it over the Ethernet

Hi, I am new in this community and got a huge HVAC-project running on Arduino Mega, but now I am running out of speed and space on that board.

I thought of switching over to the TM4C1294 Connected LaunchPad and Energia-IDE.

I have been searching for 2 hours in this forum but I am not quiet sure wether I found the right answer or not.

So please don't mind a Newbie's question:

I want to use the board as a webclient that pulls a code(sketch) from a webserver, stores the .bin or .hex-file in some kind of storage (USB, SD, Flash) on the board and after that resets itself, load the code und will run with it. Is that possible and if is there an example how to do it?

I know that from Mbed, it is working fine but only with the original Mbed-LPCxxx and I don't want to rewrite the whole code to the Mbed-IDE because I am not so familiar with CortexM4 programming.

Would be great to come to Your community, it seems to be a friendly one.


Thank You

Andreas

  • Andreas Beerwinkel said:
    ...use the board as a webclient that pulls a code(sketch) from a webserver, stores the .bin or .hex-file in some kind of storage (USB, SD, Flash) on the board and after that resets itself, load the code - run with it. Is that possible and if is there an example...

    Welcome here friend - indeed these are powerful ARM MCUs - I hope my response does not register as less than, "friendly."

    First - its quite good (and appreciated) that you made the time/effort to search through this forum seeking similar applications.     That's always helpful - and often reveals both failed & successful (past) approaches.     Good that.

    And - just as you report - I cannot recall a single post here which embodies the entirety of your request.    May I comment that in my view - such a project will be difficult - will demand great effort & considerable time.     Can it be done - I suspect yes - but not w/out some, "pain/suffering."

    I'm a long time advocate of KISS - your application is so broad - and so inter-related - that it defies KISS.     Any one - of your many parts - may prove incorrect - how then will you know which one (or ones) are at fault?    (thus the use of KISS - which enables just, "one unknown at a time" - such that multiple failure modes/causes are minimized!

    Complex projects - such as yours - can & will yield to KISS.     You must first break your project into its major constituent parts - and attack these in isolation - one at a time.    I'm not saying that you should be "unmindful" of the other parts - you should provide "hooks" into these - but your effort usually proves most effective when focused upon one key part at a time!

    In summary - I suspect that the TM4C device you mention is superior to your LPC (our small firm also flies that vendor's flag - & 3 others) and you may wish to seriously, "A-B" compare the specs of each MCU - to determine if the effort ahead proves worthwhile.    Again - I don't believe your described task to be "quick or easy!"

    Most here learn best/fastest by focusing upon one MCU Peripheral block at a time - and building understanding/mastery - at a comfortable pace.    That's far different than what you've outlined - perhaps warrants consideration...     Good luck...

  • This is an example of interfacing TM4C194 with external Falsh.

    www.ti.com/.../TIDM-TM4C129XSDRAM;tisearch=tidesigns

    In the TIVAWare examples, you can find some ethernet examples.

    Thanks and regards,

    Zhaohong
  • Andreas Beerwinkel said:

    switching to TM4C1294 Connected LaunchPad ... have been searching this forum ... want to use the board as a webclient that pulls a code(sketch) from a webserver, stores ... in some kind of storage (USB, SD, Flash) on the board and after that resets itself, load the code and will run with it. 

    Thus - unless (suggested) external flash is resident upon "Connected LaunchPad" - suggestion adds complexity and violates poster's spec of, "on the board."

    Only one here has advised of pending complexity - even when poster's spec is not violated!     A chance for an official note of, "degree of difficulty" appears lacking...     Posters place great faith in vendor response - seems bit strange that "outsiders" appear tad more, "reality based..."