-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > > > Now, see, if *I* were designing a processor, a reset (i.e. > > > external or reset instruction) would clear the entire contents > > > of memory. > > Luckily you don't, for this would kill some interesting > applications, like the reset-pin interface (chip measures the time > between reset, uses it as data input from user or maybe for > bootloading or the like) Ok, fair enough on that one. I've never heard of it being used before, but fair enough. > and the > watchdog-temperature sensor (measure watchdog timeout to determine > die temperature). I can't even see how that's related. I said in that post that most of the existing "resets" used by Microchip were, in fact, just interrupts that cleared the PCL. I've always though that the watchdog reset, should be considered the interrupt that it is, if you want to use it as a reset, add a GOTO H'00' and you've got yourself a "reset". Walter Banks has mentioned a post crash dump as a useful debudding tool. That's fair enough, except that that can be handled by an interrupt. Let me play devil's advocate for a moment. I'm not arguing about convention, here. I'm sure you're right on that count. I did say that if *I* were designing a processor, that's what I'd do. I see 4 real classes of processor break. 1) interrupt-- Processor goes to an interrupt handling routine. Returns to code it was at upon completion. 2) partial reset-- (what Microchip calls a reset) PCL is returned to 0. Stack contents are invalidated, if not deleted 3) full reset-- Processor is returned to its power on state. RAM is cleared. all non-fused config is reset 4) power cycle-- Power to processot is removed and restored There was a thread earlier about processor design, with respect to the PICList having a special PICList processor built for us, which I think is a great idea. Since this all goes back to my statement "if *I* were designing a processor" I guess I'm going to have to clarify more. If I were designing a processor, there would be the full reset conditions that I mentioned, and on top of that, there would be prioritized interrupts (probably about 4, 8 or 16 levels), the highest of which would be initiated without a question of GIE. I would make several external pins mapable to interrupts (of various priorities)/normal I/O. There would be one full-reset pin. One that basically erased all volatile RAM on the processor. You can't get more of a clean start than that. Now, I hope you can see that there are other functional schemes that could use a full RAM clear in the reset process. I don't think there'd be much loss there, but there might be very little gain. I'll leave that analysis to the professional chip designers. - --Brendan - --- "Rejection out of hand of all but one's favoured alternative may cost you dearly in one way or another." -Russell McMahon -----BEGIN PGP SIGNATURE----- Version: PGPfreeware 6.5.8 for non-commercial use iQA/AwUBPWK0FwVk8xtQuK+BEQJRswCdGZCg3JlPoWQ5CXmeEPvP+eu7QRsAn2vK amrBLY6rCpxq9WnnYt0atZ8w =qpEv -----END PGP SIGNATURE----- -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads