Shop OBEX P1 Docs P2 Docs Learn Events
Selecting boot EEPROM — Parallax Forums

Selecting boot EEPROM

iam7805iam7805 Posts: 14
edited 2007-03-31 01:57 in Propeller 1
Hi,

What I want to do is have two boot EEPROMs to choose from. I want to be able to have a first EEPROM installed, but be able to boot to a second one when it is inserted in a chip socket without removing the first. Of course, I also want to be able to program the first one when the second one isn't inserted, and program the second one when it is installed. How can I do this?

-iam

Comments

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2007-03-31 01:35
    The simplest solution that satisfies the requirements is usually the best. Add a switch to the first boot eeprom's address line A0 so that you can take it high or low either directly or with pull-ups. The second eeprom is just wired with all address lines low as the normal boot eeprom would be. It is your responsibility to switch the first eeprom's A0 to high if you install a second eeprom. Simple!

    Sure, you could get a little more complicated and install a small push-button under the second socket to do this. There is no easy way to sense device current to electronically switch the device as it's quiescent current is very low.

    *Peter*
  • iam7805iam7805 Posts: 14
    edited 2007-03-31 01:44
    So, if I understand you properly, A0 on the first EEPROM should be low to boot from it, and high to boot from the second EEPROM? If that is right, am I also correct in assuming that the Propeller will not boot at all if A0 is high and the second EEPROM is not installed? Finally, do I connect the SDA and SCL lines together and then to the Prop? I'm assuming that the SCL lines still need·a pull-up resistor to 3.3v and the SDA line needs a pull-up resistor to reset. Is that right?

    -iam
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2007-03-31 01:57
    Yes, although you might not understand why you are right in all your assumptions. The address lines are a method for modifying the device address so that you can stack up to 8 in the case of 27LC256s. The I2C bus devices always join up in parallel as it is a "bus", that is all the SCL lines are joined together as are the SDA lines. Technically a pullup resistor is required for both the SCL and the SDA line. However due to the nature of the implementation you may see some circuits with only a pullup on the SDA and there is nothing wrong with this as long as your I2C driver software maintains SCL as an output and does not try to float it.

    *Peter*
Sign In or Register to comment.