Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

uClinux and Remote Update on Cyclone III

Hi all,

I'm trying to implement Remote Firmware Update on a Cyclone III based custom board. The goal is to remotely update the system with both a new sof file and a new zImage. My system boots from a SPI Flash (in which I store the pof file) and I'm not using MTD, I'm directly accessing the flash that is not memory mapped.

I have a Web GUI that shows me some information about system status. I'd like to insert in this GUI the possibility to upload the new firmware (sof+image).

I've found no examples about remote configuration using uClinux. I have a few questions, I hope you can help me in figuring out the answers:

- How can I pass files to the system? Do I need to pass just a .flash file and then simply store it into the flash?

- How can I concatenate pof and zImage files in a single .flash file?

Thanks in advance,

Marco

6 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I've done remote update via Ethernet utilizing uC-OSii (it made it pretty easy since they had an example).

    Basically, my embedded server (based on simple socket server in the NIOS II IDE) would detect that I wanted to update the firmware and it would reboot to the reprogramming mode (a different reset vector), then I integrated into my GUI their scheme which was command line 'tftp.' I DID 'zImage' and 'firmware image' separately because one could be updated without the other one needing it.

    I don't know the specifics of the hardware design, I do the embedded stuff.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi jpe1313,

    thank you for your reply. I read an application note (AN429) and it would have been easier if I had uC-OS. Anyway, I have a uClinux-based system and I cannot find anything about Remote Update under uClinux. I hope that you or someone else can help me. At the time I'm writing, I'm using ftp to transfer a <zImage>.flash.bin file to my board and then use a script to store data into the flash. Unfortunately my custom flash controller is too slow and I'm first trying to speedup it.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Hi jpe1313,

    thank you for your reply. I read an application note (AN429) and it would have been easier if I had uC-OS. Anyway, I have a uClinux-based system and I cannot find anything about Remote Update under uClinux. I hope that you or someone else can help me. At the time I'm writing, I'm using ftp to transfer a <zImage>.flash.bin file to my board and then use a script to store data into the flash. Unfortunately my custom flash controller is too slow and I'm first trying to speedup it.

    --- Quote End ---

    When we did this, we had 2 Nios CPU's, one that was running straight C and the other that was running uC-OSii. So, maybe you could add a second CPU that runs the uC-OSii and reprograms your system.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    This could be helpful, but I think that it is not so efficient to instantiate another CPU just to perform a single operation. Moreover, I think that uC-OSII is not free, so I need to buy also a license, am I right?

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    This could be helpful, but I think that it is not so efficient to instantiate another CPU just to perform a single operation. Moreover, I think that uC-OSII is not free, so I need to buy also a license, am I right?

    --- Quote End ---

    It is free for educational non commercial usage. You may just want to go into the NIOSII-IDE and create the shell project and see how they access the flash to reprogram that may help you.

    I googled "remote update uclinux"

    Did you see this link:

    http://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?_forum_action=forummessagebrowse&thread_id=32005&action=forumbrowse
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    jpe1313,

    thank you for your reply. My work is destinated to be commercial as soon as possible, so I can't use uC-OS. I saw the link you provide above, but it seems not properly related to "Altera" remote update. However, this is how I'm trying to solve my problem.