Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12453 Discussions

uClinux and Remote Update on Cyclone III

Altera_Forum
Honored Contributor II
883 Views

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
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
112 Views

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
Honored Contributor II
112 Views

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
Honored Contributor II
112 Views

 

--- 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
Honored Contributor II
112 Views

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
Honored Contributor II
112 Views

 

--- 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_i...
Altera_Forum
Honored Contributor II
112 Views

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.
Reply