PDA

View Full Version : Power on/off Cold Reset


hotstepper
02-27-04, 02:33 PM
Hi

I have an application written into the memory using the "AUTOSTART" command at location HEX 3C00. The version is 0.6...

Now on resetting the isopod using either the "alt+T" from nmiterm or using the reset button on the isopod the program runs fine..., but if i switch off the power totally and switch it one again the isopod doesnt respond as expected. what cud be the reason for this??

Also, let me know if there is any command for resetting the isopod within a machine??

One more thing:

: INTL DECIMAL 19200 SCI0 BAUD ; EEWORD
HEX 2800 AUTOSTART INTL
SAVE-RAM

This is the code i'm using to initialize the baudrate evrytime I switch on the isopod. I hav observed that hyperterm on windows responds well, but the same settings fail when I write a code in C an run it on a Linux based system. "Minicom" used in Linux responds perfectly.. with the same 8 databits, no parity, 1 stopbit settings, my c program is havin trouble communicating with the isopod over the serial port. It's resetting itself too often for my program to even send in any data i suppose. why is this happening?? Can someone tell me wat is the exact way of setting the properties for serial transfer in Linux for me to cross check my code? Please help me with this tooo...

In anticipation,

Hotstepper

RMDumse
02-27-04, 02:53 PM
Originally posted by hotstepper
Now on resetting the isopod using either the "alt+T" from nmiterm or using the reset button on the isopod the program runs fine..., but if i switch off the power totally and switch it one again the isopod doesnt respond as expected. what cud be the reason for this??

Most likely cause of the reset causing trouble after a power down is there is some portion of the dictionary left in RAM. Some definition, perhaps a CONSTANT or VARIABLE or : definition is missing a EEWORD, or a transition is missing and IN-EE, or that sort of thing.

You might do a words list and look for your definitions to be sure they are all together in memory. A skip in contiguous addresses might give a clue which word has not been perserved in FLASH.

Also, let me know if there is any command for resetting the isopod within a machine??

You mean like saying COLD in a definition? This would cause the system to start over like if it had been reset or powered up. But COLD only does a software reset, and not a hardware reset, meaning the software would start over, but none of the hardware registers would be returned to their default settings like a real hardware reset would do.

One more thing:

: INTL DECIMAL 19200 SCI0 BAUD ; EEWORD
HEX 2800 AUTOSTART INTL
SAVE-RAM

This is the code i'm using to initialize the baudrate evrytime I switch on the isopod. I hav observed that hyperterm on windows responds well, but the same settings fail when I write a code in C an run it on a Linux based system. "Minicom" used in Linux responds perfectly.. with the same 8 databits, no parity, 1 stopbit settings, my c program is havin trouble communicating with the isopod over the serial port. It's resetting itself too often for my program to even send in any data i suppose. why is this happening?? Can someone tell me wat is the exact way of setting the properties for serial transfer in Linux for me to cross check my code? Please help me with this tooo...


This is very difficult for us to say. It has to do with a PC unknown to use, with Linux, not well known to use, with your C program completely unknown to us.

Here is one thought. The DTR line may cause resets. Does your C code set it the same was as minicom?

Does you C code work with another PC using minicom and a null modem inplace of our board?

Perhaps you can find some clues there.

nmitech
02-27-04, 02:55 PM
hotstepper, If you are not grandvazir, you should reply to the link below and ask him to share the information. Your application is sound similar to his,

http://www.newmicros.com/discussion/showthread.php?threadid=626