Part Number: RM57L843
Other Parts Discussed in Thread: HALCOGEN
Hi!
All the ambiguity that I have regarding nRST pin would be solved if the following questions are answered separately..
1.) Whenever I am doing "Software Reset" (using the SYSECR register), should I be expecting the nRST pin to give a low pulse as an output? If yes, why? Does "EXTRST" bit in SYSESR register also SET whenever I do Software Reset along with "SWRST" bit?
2.) After performing a warm reset by either "Software Reset" or by driving nRST pin low through an external source (say watchdog), the contents of the RAM (lets say global variables defined and stored with some intermediate values until warm reset) should be retained unless I perform "Memory Initialization" in my startup code right?
3.) Is there any way/or_by_chance so happens that triggering nRST low through an external source for warm reset also sets the PORST bit in SYSESR register?
After having given the answers to the above question, please read my observations as under: (Experiments performed on a custom board - RM57L843 controller)
1.) Whenever I perform "Software Reset", I observe that both "EXTRST" and "SWRST" bits in SYSESR register are SET and not just "SWRST". I also see that "nRST" pin remains HIGH and does not give a low pulse upon "Software Reset". However, I feel that nRST pin should be going LOW (pulse) whenever I do "Software Reset".
2. and 3.) I am driving "nRST" low via a watchdog circuit (external watchdog) during normal running. After this, when I read the SYSESR register, I observe that "EXTRST" and "PORST" (power_on_reset bit !!) are both being SET which should not be the case at all! The contents of the RAM are also getting lost (global variables) even though I bypassed memory Initialization in startup code.
Firstly, I need some clarity on the conditions when nRST pin is driven low (low pulse) either internally by the controller (since it is bi-directional pin) or what happens when I drive it low externally through a watchdog etc.
Secondly, what is the connection between EXTRST, SWRST, PORST in the SYSESR register? I have gone through the TRM of RM57 several times, so please give me any other source for reference if at all there exists. Basically, SWRST/OSCRST/WATCHDOG/WINDOWED_WATCHDOG should also SET the "EXTRST" bit in SYSESR register. The PORST bit only sets upon "Power-On" and nothing else (I dont have any external voltage monitoring circuit to drive PORRST pin). I have a pull-up resistor on nRST pin but not in PORRST pin (which I know is recommended but anyways, the above said conditions/scenarios should not be occurring irrespective of whether PORRST pin is pulled up or not externally).
Thanks and Regards,
Chetan.