Der pmon ist ein kleiner Monitor und Bootlader, der mit dem Start den Agenda als erstes Programm läuft und das restliche System hochfährt.
Um einen pmon Prompt zu bekommen, muß ein Terminalprogramm an die serielle Schnittstelle des Agenda angeschlossen werden. Das Terminalprogramm ist auf folgende Parameter einzustellen: 115200, 8N1. Wenn der Agenda bootet, muß innerhalb von 3 Sekunden auf dem Terminalprogramm eine Taste gedrückt werden.
Beispiele für die Benutzung des pmon ist der Update des Kernels und der Update des ROM-Disk Images.
Einen neuen PMON fr die SNOW Rootdisk findet man unter http://www.delorie.com/agenda/sdrampak/. Da der VR3 ohne PMON nicht mehr bootet, ist besondere Sorgfalt wichtig. Das Flashen des PMON sollte immer mit frischen Batterien erfolgen. Zuerst muß man den PMON wieder unlocken, falls er gelockt ist. Dann kan er mit folgendem Befehl geflasht werden:
vrflash -C -D -l pmon.binary 0xc00000 root-1.2.6-sean.cramfs 0x100000 vmlinux-8.0.sdram-fast.binary.gz kernelAnschließend muß der Agenda ganz ausgemacht werden (Batterien raus) und anschließend muß danach noch der Befehl
vrflash -Reingegeben werden. Wichtig ist die richtige Angabe der HEX Adressen des PMON und der Romdisk! Diese Adressen sollten zur Sicherheit noch mit den READMEs verglichen werden!
h | on-line help | hi | display command history |
m | modify memory | r | display/set register |
tlb | display TLB registers | d | display memory |
l | list (disassemble) memory | copy | copy memory |
fill | fill memory | search | search memory |
tr | transparent mode | g | start execution (go) |
c | continue execution | t | trace (single step) |
to | trace (step over) | b | set break point(s) |
db | delete break point(s) | load | load memory from hostport |
dump | dump memory to hostport | set | display/set variable |
eset | edit variable(s) | unset | unset variable(s) |
date | get/set date and time | flash | program flash prom |
flashinfo | show flash info | debug | remote debug mode |
stty | set terminal options | sym | define symbol |
ls | list symbols | flush | flush caches |
mt | memory test | call | call function |
bt | stack backtrace | sh | command shell |
more | paginator | reboot | reboot PMON |
h on-line help h [*|cmd..] hi display command history hi [cnt] m modify memory m adr [val|-s str].. -b access bytes -h access half-words -w access words -d access double-words -n non-interactive (no write) Interactive Options <hexval> set memory, forward one CR forward one, no change = re-read ^|- back one . quit r display/set register r [reg* [val|field val]] * display all registers t* display all registers starting with t reg value set specified register reg field value set specified field f* display all fp registers tlb display TLB registers tlb [reg] d display memory d [-bhws] adr [cnt] -b display as bytes -h display as half-words -w display as words -d display as double-words -s display a null terminated string -r<reg> display as register l list (disassemble) memory l [-bct][adr [cnt]] -b list only branches -c list only calls -t list trace buffer -r show register values with trace copy copy memory copy from to siz fill fill memory fill from to {val|-s str}.. search search memory search from to {val|-s str}.. tr transparent mode tr g start execution (go) g [-s][-b bpadr][-e adr][-- args] -s don't set client sp -t time execution -e <adr> start address -b <bptadr> temporary breakpoint -- <args> args to be passed to client c continue execution c [bptadr] t trace (single step) t [-vibcmMrR] [cnt] -v verbose, list each step -b capture only branches -c capture only calls (jal) -i stop on pc invalid -m adr val stop on mem equal -M adr val stop on mem not equal -r reg val stop on reg equal -R reg val stop on reg not equal to trace (step over) to [-vibc] [cnt] -v verbose, list each step -b capture only branches -c capture only calls (jal) -i stop on pc invalid -m adr val stop on mem equal -M adr val stop on mem not equal -r reg val stop on reg equal -R reg val stop on reg not equal b set break point(s) b [-drws] [adr].. -d hw bpt for data access -r hw bpt for data read only -w hw bpt for data write only -s command string db delete break point(s) db [numb|*].. load load memory from hostport load [-beastif][-u baud][-o offs][-c cmd][-h port] -s don't clear old symbols -b don't clear breakpoints -e don't clear exception handlers -a don't add offset to symbols -t load at top of memory -i ignore checksum errors -f load into flash -n don't load symbols -y only load symbols -v verbose messages -o<offs> load offset -c cmdstr send cmdstr to host -u<num> set baud rate -h<port> load from <port> dump dump memory to hostport dump [-B] adr siz [port] set display/set variable set [name [value]] eset edit variable(s) eset name ... unset unset variable(s) unset name* ... date get/set date and time date [yymmddhhmm.ss] flash program flash prom flash [-w|eb|el] addr size offset flashinfo show flash info flashinfo debug remote debug mode debug [-svV][-h port][-- args] -s don't set client sp -v report protocol errors -V verbose mode -h <port> port to communicate with host -- <args> args to be passed to client stty set terminal options stty [device] [opts] -v list possible baud rates and terminal types -a list all settings <baud> set baud rate <term> set terminal type sane set sane settings ixany allow any char to restart output -ixany allow only <start> to restart output ixoff enable s/w input flow control -ixoff disable s/w input flow control ixon enable s/w output flow control rts_iflow enable h/w input flow control cts_oflow enable h/w output flow control rtscts enable bidirectional h/w flow control cs8 8 bit character size cs7 7 bit character size cs6 6 bit character size cs5 5 bit character size cstopb 2 stop bits -cstopb 1 stop bit parenb enable parity -parenb disable parity parodd odd parity -parodd even parity sym define symbol sym name value ls list symbols ls [-ln sym*|-va adr] -l long listing -n numeric order -v compute value -a lookup address flush flush caches flush [-di] -i flush I-cache -d flush D-cache mt memory test mt [-c][[addr] size] -c continuous test call call function call addr [val|-s str].. bt stack backtrace bt [-v] [cnt] sh command shell sh ^P recall previous cmd ^N recall next cmd ^F move cursor right ^B move cursor left ^A move cursor far left ^E move cursor far right ^D delete char at cursor ^H delete char before cursor ^K delete line from cursor !! repeat last cmd !str recall and execute cmd str !num recall and execute cmd num +-*/() operators ^addr contents of address @name contents of register &name value of symbol 0xnum hex number 0onum octal number 0tnum decimal number more paginator more /str search for str n repeat last search SPACE next page CR next line q quit reboot reboot PMON reboot