Shop OBEX P1 Docs P2 Docs Learn Events
Propeller Bootloader? — Parallax Forums

Propeller Bootloader?

WakerWaker Posts: 4
edited 2012-12-07 15:35 in Propeller 1
The Propeller apparently has a bootloader in some type of ROM on board, and from browsing around, the sources have been released. I'm just wondering if this area is writable like an EEPROM or factory-pressed into the die. The ability to work without a bootloader is a dealbreaker for me. If I'm able to modify the bootloader, I'm sold on a C3 and a Synapse. :)

More information would be appreciated by a propeller newbie. Thanks in advance to those who post!
J

Comments

  • MagIO2MagIO2 Posts: 2,243
    edited 2012-12-07 15:10
    Why does the word ROM need any more explainations? ROM is read only, no way to change it! As far as I understood EEPROM is another process in chip manufacturing. That's why there is no EEPROM on the propeller. It would have increased the cost.
  • Invent-O-DocInvent-O-Doc Posts: 768
    edited 2012-12-07 15:19
    Good questions. Make sure not to be confused by the Propeller 2 bootloader that has been discussed online.

    Both the prop1 and prop2 use a CMOS process that does not allow for the inclusion of EEPROM or FLASH into the chip. For that reason, but rely on an external EEPROM to get things going.

    The ROMs for Prop1 and Prop2 are configured as follows:

    PROPELLER 1 (products for sale now): The propeller has 32K of ROM. This ROM includes the SPIN language interpreter, a bootloader that runs a spin program off EEPROM or an attached computer. It also has stuff on it like font bitmaps and sine tables. It is interesting to note that every thing that loads of prop1 is in SPIN. Even if you load an assembly program, it is in a basic SPIN program wrapper. The prop1 has 8 cogs each with 512 longs of ram (2K) and 32K of hub memory.

    PROPELLER 2 (new product 2013): The prop2 has ~2K of ROM. The prop2 ROM does only three things: 1) Bootloader from EEPROM or computer 2) Encrypted EEPROM data support w/ fuses and 3) program monitor. If there is no successful bootload device the prop2 can function over a serial connection and you can load and do various things with it. Things that used to be in ROM in the other chip are now loaded into RAM space (like SPIN interpreter and font). Trigonometry tables are not necessary because of the onboard CORDIC system in each COG. The prop2 has 512 longs (2K) for each cog like prop1 but has additional scratch memory space in each cog (used by default for color table). It also has 126K of RAM or so and can interface easily and quickly with other kinds of external RAM.

    Anyhow, I hope this clarifies ROM and other memory issues for you.
  • Mike GreenMike Green Posts: 23,101
    edited 2012-12-07 15:21
    The chip (Propeller I) has 32K of masked ROM on it which contain the bootloader, a copy of the Spin interpreter, a display font, and tables with sin/cos and exp/ln values. See the Propeller datasheet for specifics. As masked ROM, it can't be modified. The bootloader looks first at I/O pins 30 and 31 for an operational serial port that responds to a specific download protocol normally handled by the Propeller Tool or equivalent software. If not present, it looks at I/O pins 28 and 29 for a standard I2C EEPROM of 32K bytes or larger which is assumed to contain a program in the 1st 32K bytes. In that case, the program is loaded into the Propeller's Hub RAM and executed. If neither are present, the Propeller drops into a stopped state until the next reset occurs.
  • Invent-O-DocInvent-O-Doc Posts: 768
    edited 2012-12-07 15:23
    Also, I'd like to add the following since you probably asked about EEPROM because you are interested in storing data. there are two popular ways to do this with the prop1

    1. EEPROM CHIP - the prop2 uses 32K of EEPROM to load a program. The SPI EEPROMs on most newer propeller prototyping boards is actually 64K, so you have access to that 32K for variable storage. Various drivers are on OBEX to handle this. This partially makes up for lack of built in EEPROM.

    2. SDCARD. There is the FSRW or Kye's driver. It is super easy and popular to do! There are examples of how to access SD CARD for write and read on learn.parallax.com
  • WakerWaker Posts: 4
    edited 2012-12-07 15:23
    Wow, such fast replies! Thank you all for your information, it's a lot more clarifying.

    You can expect to see a large purchase soon. :)
  • Invent-O-DocInvent-O-Doc Posts: 768
    edited 2012-12-07 15:24
    Yeah, what Mike said!
  • kuronekokuroneko Posts: 3,623
    edited 2012-12-07 15:26
    Waker wrote: »
    ... I'm sold on a C3 and a Synapse.
    OT: A word of advice, no VGA out of the box if you use both together (there are ways around this though).
  • WakerWaker Posts: 4
    edited 2012-12-07 15:29
    kuroneko wrote: »
    OT: A word of advice, no VGA out of the box if you use both together (there are ways around this though).
    I'm assuming this is because of some arbitrary interface to some sort of VRAM for each cog.
  • kuronekokuroneko Posts: 3,623
    edited 2012-12-07 15:33
    Waker wrote: »
    I'm assuming this is because of some arbitrary interface to some sort of VRAM for each cog.
    No, the control lines for the SRAM card are shared with 3 VGA signals (HSYNC/VSYNC/B0). IOW running a VGA driver will mess up your SRAM content.

    Apart from that I have 400x300 running in full colour (using the SRAM).
  • WakerWaker Posts: 4
    edited 2012-12-07 15:35
    Thanks for the tip. Really could use it. :)
Sign In or Register to comment.