Shop OBEX P1 Docs P2 Docs Learn Events
Firmware update without a SX key or Blitz — Parallax Forums

Firmware update without a SX key or Blitz

dufflingduffling Posts: 73
edited 2005-03-30 19:28 in General Discussion
Is there anyway to add a firmware update capability by adding a serial or USB port to a project using the SX?

my finished design will hopefully allow people to update the software on chip with a USB port or serial port

·

Comments

  • JonbJonb Posts: 146
    edited 2005-03-29 03:38
    With basic stamps, this is possible due to their "interpreted" nature. The processor is preprogrammed and the actual code is stored on an eeprom.
    The processor handles the serial communications to transfer the tokenized basic stamp code to the eeprom. Parallax even has a special program to distribute updated code(in the form of an executable) to your customers or end users.

    With the SX, the method of programming is Flash. You require a programmer to update the code on the SX chip itself. Updates require either a programmer, or a replacement of the SX IC... for now. If the update is minimal, consider storing key values which may need to change on an eeprom and include code on the sx to modify this data confused.gif·Another option is to use the sx as a slave which conducts all the operations for a master stamp which in turn could be updated.

    I'm curious to see if someone has a creative solution. On the other hand, get it right the first time.tongue.gif

    Post Edited (Jonb) : 3/29/2005 3:56:31 AM GMT
  • dufflingduffling Posts: 73
    edited 2005-03-29 03:54
    Right .. yes i thought of the master stamp idea already .. so am i correct in saying that the only way to program the SX chip is via the Oscillator pins?

    Im trying to save costs on my finished unit .. and so adding a stamp to the mix will increase my costs i was hope to do the whole project with 1 or 2
    SX chips if possible

    but the firmware update is a KEY idea in my design , the idea of building in key values may work thou ..

    does anyone know if the PIC controllers can be programmed via serial the way im suggesting?
  • JonbJonb Posts: 146
    edited 2005-03-29 03:57
    The ISP(In system programming) which the SX and PIC are capable of both share the same drawback, they require a programmer of some sort. I have heard of bootloading PICs but have no direct experience with them. the code is stored on an eeprom which is "loaded" into memory at power up.
  • dufflingduffling Posts: 73
    edited 2005-03-29 03:58
    Also am i correct to assume if i add an external eeprom i can interface this part to a USB or serial connection to update my KEY values this way ?
  • JonbJonb Posts: 146
    edited 2005-03-29 03:59
    The SX would actually be doing the serial communications through a MAX232 or a FTDI USB·IC·for example. The SX would take commands from a VB program and dump the data to an eeprom during a "special command mode".


    Seems like alot of work, why not just have them send the unit in for a free upgrade.

    Post Edited (Jonb) : 3/29/2005 4:05:28 AM GMT
  • dufflingduffling Posts: 73
    edited 2005-03-29 04:07
    hehe good point , well i guess im trying to make it as easy as possible to update the firmware or features
  • dufflingduffling Posts: 73
    edited 2005-03-29 05:13
    One other question thou .. surely its possible to wire up a simple serial port to 2 of the sx pins for serial communication serin serout ,

    my design uses two MIDI ports In and Out .. and i wish to have the IN port act as a update mode as well as MIDI IN

    so i would put my code into Program mode to update what ever values i need to within the SX ..

    for this i would not require a chip such as the MAX 232 .. ?

    thanks again
  • JonbJonb Posts: 146
    edited 2005-03-30 00:49
    It is suggested that you use one, it is more efficient and adds a buffer. Experiment and see what works for you smile.gif

    Post Edited (Jonb) : 3/30/2005 1:17:15 AM GMT
  • James NewtonJames Newton Posts: 329
    edited 2005-03-30 01:34
    The PICs which can be bootloaded are those who are able to "program themselves" by writing to parts of the actual program space. Not all PICs can do that. None of the SX's can.

    The only viable option for updating the firmware in an SX is to include another processor as a programmer.

    If you want to be able to update the firmware in the programmer, then you must use a bootloadable PIC.

    If you include a bootloadable PIC, you must ask yourself if you really need the SX.

    Assuming the answer is yes, the next question is "what is the cheapest bootloadable PIC" and I'm afraid I don't know the answer to that. Try piclist.com

    In any case, remote firmware upgrades are an expensive feature and I would be very supprized if they were really necessary for your product. Why not sell upgrades? Make the SX PCB easy to replace.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ---
    James Newton, Host of SXList.com
    james@sxlist.com 1-619-652-0593 fax:1-208-279-8767
    SX FAQ / Code / Tutorials / Documentation:
    http://www.sxlist.com Pick faster!



  • dufflingduffling Posts: 73
    edited 2005-03-30 07:43
    good point , i could design some kind of CPU core type system where the user could upgrade the GUTS of the unit easily but still retain
    the support electronics

    another question thou : Has any one used any kind of smart card or memory card system to any projects ? , this could be a useful way to store
    presets or setup parameters
  • allanlane5allanlane5 Posts: 3,815
    edited 2005-03-30 19:28
    It's easy to add an SPI EEPROM (26L512 (?)) to the SX for storing a few parameters. Smart Cards tend to have LOTS of RAM, and require a $50 interface board, which is probably overkill for a few parameters.
Sign In or Register to comment.