Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/11/07 21:29
Modified:
  02/11/07 21:46

Read: times


 
#132559 - Bootloader project gone bad
Responding to: ???'s previous message
Richard Erlacher said:
You won't get help if you won't take it.

Go ahead and attempt to build your 64-byte ROM. You'll need 512 diodes, 512 resistors, 64 8-bit buffers, a 1-of-64 decoder, intermediate buffers, probably 6 of them, and a place to put all that.

Actually, it looks like he's trying to implement a simple combinational logic circuit that implements his A[5:0]/D[7:0] truth table. That's why there's all this talk about the QM algorithm and other logic minimization techniques.

Get back to us when you have it working, if any of us are still alive.

Making one's own bootloader could be a great learning exerpience. That said, doing it in the way he's suggested thus far probably will not be terribly practical or useful. And, for that matter, getting something like this to work using pedestrian 74HC logic on an already overclocked microcontroller is going to be a real challenge, and not a particularly intellectual one.

Combinational logic design is not just about getting the correct logic, it requires the correct timing as well; logic minimization will frequently affect timing, and it won't take that many 74HCxx propagation delays to push him past the program fetch timing requirements for his already overclocked microcontroller. Even if he wanted to keep it to two level logic and do a straight implementation using the SoP form straight from his truth table, that 74HC series 64-input OR-gate is going to be a bit elusive.

Although a "ROM" of the type you've suggested is nearly as ridiculous, the access time on something like this is likely to be a whole lot better, and stands a reasonable chance at working. Moreover, it's much more representative of how a bootloader would actually be implemented inside a chip.

I really don't know why Mike is being so obstinate after so many have told him that his design is obtuse. While I certainly don't have the decades of experience that the likes of you and Erik and Kai have, perhaps the most important thing I've learned about this business, is that whenever I set out to solve an embedded design problem, I ask myself, "how have others solved similar problems?" Then, I start looking. I peruse datasheets, descriptions of others' projects, and even the dialog of those far wiser than me here on 8052.com. Most of the time, asking a question of others isn't even necessary; there is plenty of knowledge to be synthesized just from that which has already been said. Only then, armed with that knowledge, do I begin my own design.

Of course, you could use a simple 50-cent 64-byte fusible link PROM.

Yes, indeed! And, while flash and EEPROMs might be subject to corruption under some aggressive operating conditions, I never recall seeing any post-programming corruption in a 27C64 or similar (E)PROM device with its window properly covered. Even my more than decade-old SPARC machines which used 27C512 parts for their OpenBoot PROM still boot without difficulty!

If he really wants to build his own ISP system as a learning experience, I think that's great. However, using a device like you've suggested would open up the possibility of making a much more useful, richly-featured bootloader. And, for that matter, the implementation of a high-quality bootloader would probably be a whole lot more rewarding than trying to figure out how to "hardwire" 64 bytes of code. He could have the opportunity to learn, for example:
  • how to autobaud a serial port
  • that hardware-based serial communications, when configured properly, have no "synchronization problems".
  • how to parse an Intel HEX file.
  • design of glue logic, for entering into/exiting his bootloader mode, and, when in bootloader mode, making sure his system is in a reasonable state for programming (e.g., programmable EEPROM von Neumann-connected).
From a strictly pedagogical standpoint, using a ROM to implement a bootloader that if functionally compatible with the DS89C4x0 bootloader would be a great exercise; its interface is very clean and simple.

If all the circuits in the world fail, where will you get power?

RE

Perhaps from some AA cells in his pocket.

--Sasha Jevtic

List of 99 messages in thread
TopicAuthorDate
new plan. RE: 8051 SBC/PGMR            01/01/70 00:00      
   Make a front panel            01/01/70 00:00      
      clock needed.            01/01/70 00:00      
         in \"the bible\" there is a discussion of the \"once            01/01/70 00:00      
            think about this            01/01/70 00:00      
               That's how early MCU's were prototyped            01/01/70 00:00      
   FPGA software            01/01/70 00:00      
      Maybe not just yet ...            01/01/70 00:00      
         Logic minimisation            01/01/70 00:00      
      hmm...            01/01/70 00:00      
         Complicate things?            01/01/70 00:00      
            I have guts ;-)            01/01/70 00:00      
               guts?... maybe, but what about brains?            01/01/70 00:00      
         development            01/01/70 00:00      
            what i mean is...            01/01/70 00:00      
               Where's the directory? Where's the FCB, and FAT?            01/01/70 00:00      
         Reality vs perception            01/01/70 00:00      
   Back to basics, ... not BASIC!            01/01/70 00:00      
      .            01/01/70 00:00      
         comments            01/01/70 00:00      
            Erik ... you've struck a nerve ...            01/01/70 00:00      
               if you, just for once, would take the time to read            01/01/70 00:00      
                  So ... where's the help for him in that example?            01/01/70 00:00      
                     right there            01/01/70 00:00      
                        Front panel            01/01/70 00:00      
                     But...            01/01/70 00:00      
               Nerves            01/01/70 00:00      
                  You're right about that ...            01/01/70 00:00      
                     BINGO!            01/01/70 00:00      
                        So why not use a PROM?            01/01/70 00:00      
            did you visit here before?            01/01/70 00:00      
               ISP is not special!            01/01/70 00:00      
         Simple            01/01/70 00:00      
         Why not using an ISP-micro?            01/01/70 00:00      
   Why dismiss rom?            01/01/70 00:00      
      .            01/01/70 00:00      
         Yes, but, still, why dismiss ROM?            01/01/70 00:00      
   Sooooooooooooooooooooooooooooooooooooo complicated            01/01/70 00:00      
      That's an understatement ...            01/01/70 00:00      
         Aren't you doing an Erik now?            01/01/70 00:00      
            It's because I'm confused ...            01/01/70 00:00      
      no            01/01/70 00:00      
         but you said you already have a programmer            01/01/70 00:00      
   KISS, and one step at a time            01/01/70 00:00      
      KISS: alreay been said.            01/01/70 00:00      
   plan vs No_idea            01/01/70 00:00      
   Mike ... It looks as though you want ...            01/01/70 00:00      
      .            01/01/70 00:00      
         It looks as though you have some thinking to do.            01/01/70 00:00      
         Yes, a lot of thinking to do!            01/01/70 00:00      
            why do you worry about that?            01/01/70 00:00      
               Mark this on your calendar! ... Erik and I agree!            01/01/70 00:00      
   Mike - Time to fess up...            01/01/70 00:00      
      I kind of agree            01/01/70 00:00      
   not guts but folly            01/01/70 00:00      
   RE: Free Chips            01/01/70 00:00      
   I give up seeking help here            01/01/70 00:00      
      Because what you plan to do is just idiotic!            01/01/70 00:00      
      good plan!            01/01/70 00:00      
         Bootloader project gone bad            01/01/70 00:00      
            ...            01/01/70 00:00      
               Instead of the mishmash you propose, how about one            01/01/70 00:00      
                  Homework            01/01/70 00:00      
                     if it is, then whoever assigned it is crazier tha            01/01/70 00:00      
                        IT IS NOT HOMEWORK            01/01/70 00:00      
                           really?            01/01/70 00:00      
               16 bytes? Are you sure?            01/01/70 00:00      
      He who laughs last...            01/01/70 00:00      
         let me reword my question one step at a time            01/01/70 00:00      
            Guts            01/01/70 00:00      
            I don't get it Mike            01/01/70 00:00      
               here's the code again            01/01/70 00:00      
                  Mike please read good plan post            01/01/70 00:00      
                  Try to go back to reality, Mike ...            01/01/70 00:00      
                     It looks like he is trying to do minimisation            01/01/70 00:00      
      Sorry know one can help            01/01/70 00:00      
         blatant errors in syntax            01/01/70 00:00      
            Come on, Richard...            01/01/70 00:00      
      The CrazyROM            01/01/70 00:00      
         Agreed            01/01/70 00:00      
         CrazyRom(tm)            01/01/70 00:00      
            It is already taken...            01/01/70 00:00      
               Mike Stegmaier, I found the solution            01/01/70 00:00      
         Blast from the past            01/01/70 00:00      
         welcome back Michael Karas, we missed you            01/01/70 00:00      
            ade7756 interface with 89c51 urgent code needed            01/01/70 00:00      
               Why post that in THIS thread?            01/01/70 00:00      
               Not only is it entirely irrelevant to this thread            01/01/70 00:00      
         Thanks All            01/01/70 00:00      
            Warm welcome, Michael!            01/01/70 00:00      
            Cross-post            01/01/70 00:00      
            Link            01/01/70 00:00      
            Micheal Karas            01/01/70 00:00      
               that ois why there is 'stuff' around the            01/01/70 00:00      
   History lesson            01/01/70 00:00      
      ROM Reliability            01/01/70 00:00      
         high failure rate            01/01/70 00:00      
            Out of Market. Hmmm            01/01/70 00:00      
               Not SLOW, but slower ...            01/01/70 00:00      

Back to Subject List