Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
845 Views

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
0 Kudos
6 Replies
Altera_Forum
Honored Contributor I
74 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 I
74 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 I
74 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 I
74 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 I
74 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 I
74 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