Shop OBEX P1 Docs P2 Docs Learn Events
Strange Prop issue when booting from EEPROM.. — Parallax Forums

Strange Prop issue when booting from EEPROM..

markaericmarkaeric Posts: 282
edited 2011-06-24 08:37 in Propeller 1
Hey guys,

I'm currently using DIP40 Propeller Education Kit and am having an issue with my program when it's loaded from the EEPROM. I can tell it's partially working by some 7-segment LEDs and a few other things. However, if I load the program directly to RAM, just about everything else works fine.

I tried using another Prop, but the problem remained. Unfortunately, I don't have an extra DIP eeprom, so I can't try that just yet.

I'm using BST on Ubuntu, and I don't get any errors no matter which way I compile. I haven't had an issue with this before.

One last thing, this doesn't appear to be related to the PropPlug reset issue.

Any thoughts on what might be the issue would be greatly appreciated.

Thanks,
Mark

Comments

  • LeonLeon Posts: 7,620
    edited 2011-06-23 09:45
    Try removing and replacing the EEPROM, there might be a poor connection. If that doesn't help replace it.
  • markaericmarkaeric Posts: 282
    edited 2011-06-23 10:12
    Thanks Leon. I tried reinserting the eeprom, and some other stuff, but it's still a no-go. Wouldn't an eeprom issue be identified during the write verification?
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2011-06-23 10:31
    markaeric wrote:
    One last thing, this doesn't appear to be related to the PropPlug reset issue.
    Are you sure? What's the condition of the Prop Plug and its connection to your computer when the problem occurs?

    And, yes, an EEPROM issue would be identified during verification.

    -Phil
  • Duane DegnDuane Degn Posts: 10,588
    edited 2011-06-23 10:43
    I'm assuming you're using a breadboarded circuit right? Are you using a good gauge of wire for a breadboard (22 or 24). Breadboards can have bad connections even with good wire. If you're using wire that is too thin it will make things even worse.

    You might want to try switching out the wire you have now.
  • markaericmarkaeric Posts: 282
    edited 2011-06-23 10:58
    Thanks for the replies.

    Phil,

    The issue persists whether I have the prop plug connected to the programming headers or not.


    Duane,

    I am using a breadboard. The thing is, I've never altered that portion of the circuit on the breadboard (using the reference layout). The rest of the circuit (save for a few things) works fine as long as I load the program to ram. And since BST doesn't report any problems when programming the eeprom, I have to imagine the connections to it are fine. But who knows.


    -Mark
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2011-06-23 11:02
    The only thing I can think of is that the EEPROM verify routine reads the data at a slower rate than the EEPROM boot routine. If that's the case, you might want to make sure you have bypass caps on both the Propeller chip and the EEPROM. Also, double check to make sure there's a pull-up on the EEPROM's SDA line. (If it's 10K, it wouldn't hurt to reduce it to 4.7K.)

    -Phil
  • markaericmarkaeric Posts: 282
    edited 2011-06-23 11:41
    Phil,

    I don't have any bypass caps in the circuit.. I'll go ahead and try slapping some on. The pull-up on the eeprom is indeed 10k - I'll try it with a 4.7k.

    On another note, I placed a bunch debug comments in the spin cog that appears to have the issue, and have found it to get stuck at the following code:
      ifnot (LastBtn == Btn) 'if there has been a change in button state since the last go around
        Case Btn
    
          0:
            Button := LastBtn := 0
            BtnTimer := 0
    
          BtnSel:
            BtnTimer := cnt + SelBtnHld
            Button := LastBtn := Btn
    
          BtnSav:
            LastBtn := Btn
            SaveSettings
    
          BtnCfg:
            LastBtn := Btn
            CfgMode++
    
          Other:
            Button := LastBtn := Btn
    
    

    I just don't get it.
  • markaericmarkaeric Posts: 282
    edited 2011-06-24 07:43
    Still can't figure this out. I've added bypass caps to the Prop and eeprom, as well as the change to the pull up resistor. The thing that really gets me is that I tried using a program that's about 80% different save for some of the code I posted above. It too only sees an issue when loaded to and run from eeprom. I'm starting to doubt that it's a hardware issue.
  • markaericmarkaeric Posts: 282
    edited 2011-06-24 07:51
    D'OH! I just found that my "Save" button, which I don't currently have wired up, was set to be connected to pin 28! This has to be the issue..



    Edit: Yep, that was it!

    Thanks for all the suggestions everyone. If anyone needs me, I'll be walking down the Hall of Shame.


    Grrrr...... Can't figure out how to change the thread's status to "Solved"
  • Duane DegnDuane Degn Posts: 10,588
    edited 2011-06-24 08:37
    Don't be too hard on yourself. We've all done something like this (at least I know I have).

    To change to "Solved," edit your first post, "go advanced" and you should have access to the little pull down menu with "Unsolved" and "Solved."

    Duane
Sign In or Register to comment.