Welcome! Log In Create A New Profile

Advanced

Software Based Firmware Update

Posted by ZachHoeken 
Software Based Firmware Update
June 08, 2007 04:17PM
Another idea thrown around is the idea of a software based firmware update where the firmware is sent via the SNAP protocol from the java software and the chips can be reprogrammed without removing them from the board.

I'm not sure, but it seems like this is entirely a software type of thing. One could start testing / developing on this right now. There shouldn't be a need to modify any board designs, so its a good candidate for someone with solid firmware / programming skills to get involved with.

Proposed Process:

1. create firmware programming code
2. create java programming code
3. test it... does it work?
4. awesome! lets incorporate it into the main system.
Anonymous User
Re: Software Based Firmware Update
June 11, 2007 01:24AM
I suppose I can give an update on what I'm doing. When I left my code Friday, I had a prototype routine I am satisfied with that reprograms and functions as a signal repeater. Now I just need to make the support libs, one of the objectives is to update the signalling functionality of sdcc for the pic14 port. If you notice, signal.h is nonexistent. ^_^ That way I can get a more standardized interrupt signalling framework that makes analytical sense than present.

After I get that squared away, I'll get at least a C proof-of-concept program working as I'm horrible at working with a Java GUI program. (I passed that class by the skin of my teeth. C is much more fun grinning smiley )

Hope to get much done in the coming days.
Re: Software Based Firmware Update
June 11, 2007 12:05PM
nice! please do keep us informed. software based firmware update would be so sweet for this project.
Anonymous User
Re: Software Based Firmware Update
June 11, 2007 01:06PM
Well, now I'm just giving my forehead a good slapping. According to the datasheet (which should have been the first place I looked), the program memory is not accessible inside the firmware: only from programming. Having been around the 16f877a for so long, I simply assumed that all chips had the program memory available.

With the 16f628/48 chips, software updating is impossible. sad smiley

I must ask about the chips now. Why were the 628/648's chosen? The 16f88's have the same pinout, are a more updated design, and have program memory accessible to the firmware. Was it a cost or simplicity issue?

Since the 88 and 628/648 are so alike, sharing much of the same hardware, I dont think there will be much hassle in recompiling for the 88 chip if you are the other core members wish to change to a new chip. From microchip's site, the added cost is only about 60-80 cents.

I'm sure rappers from other countries will be paying some imports to get the chips unless they have a relatively local distributor, so the added cost will be fairly negligible when looking at inherent markup. Plus stacked against the already ~$400 pricetag its negligible anyway.

Thusly, *I* dont see a problem with switching to a new chip from a hardware, firmware, engineering, and economical standpoint, but I must leave that decision to the devs. winking smiley
Re: Software Based Firmware Update
June 11, 2007 02:54PM
i think it was mostly a cost decision. i dont know much about the chips themselves, but if you're willing, please try out the chips. if they work, are compatible with the board, i see no reason not to upgrade to the more powerful one that would allow us to do better things.

of course i dont speak for the developers, but i'm sure the rest of the team could be convinced if its such a simple change.
Re: Software Based Firmware Update
June 11, 2007 03:03PM
You might want to consider moving to the 18 series, they have a much better instruction set for running C, although you need a compiler that makes use of it of course.


[www.hydraraptor.blogspot.com]
Re: Software Based Firmware Update
June 11, 2007 03:06PM
I use the 18F4610 on Tommelise. The 18F series ROCKS! smileys with beer
Anonymous User
Re: Software Based Firmware Update
June 11, 2007 03:36PM
PIC16F628A's RX & TX pins are 7 and 8. For the 16F88, they're on 8 and 11. I don't know if any of the other pins are problems. Looks like any sort of upgrade would need at least a minor board redesign.

If you're willing to brave the 18F series, the 18F1320 costs a dime more than the 16F88. If a 28-pin device is doable, another quarter gets you an 18F2321 that comes with two comparators & two PWMs which could be very handy for driving motors. Microstepping, anyone? (yeah, I know, just dreaming...)
Re: Software Based Firmware Update
June 11, 2007 03:59PM
RE: the two PWMs on 18F chips and also the 16F877A. If anybody figures out how to have the two of them actually doing two different things, please let me know. I spent the better part of a several man-weekstrying to make that happen about 6 months ago. confused smiley
Anonymous User
Re: Software Based Firmware Update
June 11, 2007 04:03PM
Crap, you are right! Well that kinda throws out my idea for the time being.

In this case a board redesign will be required for my idea to work. As I dont actually have a Darwin or Tommy, I dont have an adequate testbed for my design for a quick turnaround product. Thus its not something you guys should expect to pop up overnight.

I suppose I can devote some of the time between now and plastic part kis becoming available to a 18 series port. SVN here I come! grinning smiley
Re: Software Based Firmware Update
June 11, 2007 04:06PM
I recently managed to output 80 8 bit PWM signals at 1KHz using only one timer and some software in C. Who needs hardware PWM? Mind you it was on an 18 series running at 40MHz.


[www.hydraraptor.blogspot.com]
Re: Software Based Firmware Update
June 11, 2007 04:07PM
bummer. i know that adrian and the rest of the team will be adamant about switching to something that is not pin-compatible with the 16F628 until v2.0. i guess we'll just have to manually program the chips until then. if we add the ICSP header, then its not really a big deal.

feel free to mess around with it though, it will be valuable experience for when we do actually switch.
Anonymous User
Re: Software Based Firmware Update
June 12, 2007 09:44AM
Unless somebody wanted to design a simple header board that did the necessary wring changes and plugged in to the existing socket - that way no wiring changes would be necssary and it could support any chip layout (in theory).

grinning smiley
Anonymous User
Re: Software Based Firmware Update
June 12, 2007 11:13AM
Now that's an idea!
Re: Software Based Firmware Update
June 12, 2007 11:57AM
yeah, that would be pretty rad. although i'm thinking it would probably be easiest to stick with the manual programming / ICSP and just hold off on the in-circuit stuff til v2.0 of the boards. the more complexity we throw at it, the harder it is going to be for people to understand.

also, if you work on the v2.0 board, then your work will be part of the main system, instead of a hack to the v1.2 board. it would definitely be very valuable to investigate which chip is the best chip for the next board. it appears that the limitations of the 16F628 are quite numerous. it would be very awesome to upgrade, so it will be important to look at all the various chips and find the one that is right for us. personally i dont know much about them, so it would be cool to have someone lay out the pros and cons on a chip by chip basis.
Anonymous User
Re: Software Based Firmware Update
June 12, 2007 02:33PM
I've been going over the datasheets for the 18F2455 and its got some really nice features in it. As I futher read up, I may be able to comment on it, but I dont have nearly the depth of knowledge on these as I do the high-end 16 series chips.
Sorry, only registered users may post in this forum.

Click here to login