Infos zum Propeller II von Chip Gracey

Im Propeller update BLOG hat sich Chip Gracey mit einigen Informationen zum Bootverhalten und dem internen ROM gemeldet: Im ROM enthalten ist ein Bootloader für einen angeschlossenen SPI-Flash oder die serielle Schnittstelle mit SHA256/HMAC Authentifizierung, um den Code schützen zu können. Da der Flash nun SPI verwendet, dürfte sich die Bootzeit aus dem Flash deutlich verkürzen, obwohl ich das nie als Problem angesehen habe. Wahrscheinlich ist einfach der Code einfacher, da SPI ja ekanntlich einfacher gestrickt ist.

Aber viel interessanter: Im internen ROM ist nun ein Monitor enthalten, welcher sich meldet, sofern in den ersten 128 Fuses kein Sicherheitsschlüssel hinterlegt ist. Der Monitor erkennt automatisch die Baudrate und meldet sich mit einem Prompt. Das ist also des geheimnisvolle Development-Tool, von welchem immer die Rede war und schon Theorien über Spin-Compiler oder ein Forth die Runde machten… 😉 Im Forum von Parallax hat Chip auch schon den Quelltext vom Monitor hinterlassen – interessant um mal zu schauen, welche Änderungen es im PASM gibt. Hier eine Beispielsitzung:

=== Propeller II Monitor ===

>?

                - HUB -
{adr{.adr}}                     - View
{adr{.adr}}/{dat{ dat}}         - Search
{adr{.adr}}:dat{ dat}           - Enter
adr.adr[</>]adr                 - Move
adr.adr^                        - Checksum
adr@                            - Watch
[Y/W/N]                         - Byte/word/long
                - COGS -
cog+pgm{+ptr}                   - Start
cog-                            - Stop
M                               - Map
                - PINS -
{pin}[H/L/T/Z/R]                - High/low/toggle/off/read
pin#                            - Watch
pin|cfg                         - Configure
dat\                            - Set DACs
                - MISC -
dat*                            - Set clock
'                               - Repeat
Q                               - Quit

>0.
00000- 50 72 6F 70 65 6C 6C 65 72 20 49 49 20 20 76 31   'Propeller II  v1'
00010- 45 FE C1 0D E3 B6 FC 0C 01 D0 7C 0C 01 D0 7C 0D   'E.........|...|.'
00020- 01 D0 FC 80 1F D0 7C 62 01 EE FC 30 6D 0C A8 80   '......|b...0m...'
00030- 01 D8 7C 0C 5A BE FC 1C 83 08 BD A0 5A BE FC 1C   '..|.Z.......Z...'
00040- 83 08 BD 80 01 08 FD 28 FA FE FC A0 5A BE FC 1C   '.......(....Z...'
00050- 01 D6 7C 62 24 00 64 1C B2 D6 7C 61 01 D6 FC 34   '..|b$.d...|a...4'
00060- 0F FE FC F6 02 FF FC A0 08 FE 7C 86 52 D6 E8 A0   '..........|.R...'
00070- 01 D6 7C 62 60 CE FC 1C B2 D6 7C 61 01 D6 FC 34   '..|b`.....|a...4'
00080- 16 FE FC F6 2F 00 7C 1C 77 43 FC 0C 0D 04 FD 0C   '..../.|.wC......'
00090- 69 04 BD 80 6A D4 3C FF 57 43 FC 0C 00 00 4C 1C   'i...j.<.WC....L.'
000A0- 04 FE FC A0 DB B2 FC 0C DA B0 FC 0C 44 3E C0 0D   '............D>..'
000B0- DA B2 FC 0C 01 FE 7C E1 01 D8 CC 27 DC AE FC 0C   '......|....'....'
000C0- DB B0 FC 0C DA B0 FC 0C 25 FE FC F6 B2 E6 7C 0C   '........%.....|.'
000D0- 6D FE BC A0 20 00 FD A0 5A BE E8 1C D6 AC D4 0D   'm... ...Z.......'
000E0- DB B0 D4 0C DA B0 D4 0C 01 02 FD 34 32 00 FD F6   '...........42...'
000F0- C1 02 7D 08 31 FE FC F6 40 0E C0 0D 77 00 04 E0   '..}.1...@...w...'
>n
>0.
00000- 706F7250 656C6C65 49492072 31762020   'Propeller II  v1'
00010- 0DC1FE45 0CFCB6E3 0C7CD001 0D7CD001   'E.........|...|.'
00020- 80FCD001 627CD01F 30FCEE01 80A80C6D   '......|b...0m...'
00030- 0C7CD801 1CFCBE5A A0BD0883 1CFCBE5A   '..|.Z.......Z...'
00040- 80BD0883 28FD0801 A0FCFEFA 1CFCBE5A   '.......(....Z...'
00050- 627CD601 1C640024 617CD6B2 34FCD601   '..|b$.d...|a...4'
00060- F6FCFE0F A0FCFF02 867CFE08 A0E8D652   '..........|.R...'
00070- 627CD601 1CFCCE60 617CD6B2 34FCD601   '..|b`.....|a...4'
00080- F6FCFE16 1C7C002F 0CFC4377 0CFD040D   '..../.|.wC......'
00090- 80BD0469 FF3CD46A 0CFC4357 1C4C0000   'i...j.<.WC....L.'
000A0- A0FCFE04 0CFCB2DB 0CFCB0DA 0DC03E44   '............D>..'
000B0- 0CFCB2DA E17CFE01 27CCD801 0CFCAEDC   '......|....'....'
000C0- 0CFCB0DB 0CFCB0DA F6FCFE25 0C7CE6B2   '........%.....|.'
000D0- A0BCFE6D A0FD0020 1CE8BE5A 0DD4ACD6   'm... ...Z.......'
000E0- 0CD4B0DB 0CD4B0DA 34FD0201 F6FD0032   '...........42...'
000F0- 087D02C1 F6FCFE31 0DC00E40 E0040077   '..}.1...@...w...'
>y
>0/'Propeller
00000- 50 72 6F 70 65 6C 6C 65 72   'Propeller'
>/
005CF- 50 72 6F 70 65 6C 6C 65 72   'Propeller'
>e00.
00E00- 00 00 7C 1C 80 D4 FF 68 17 D6 FF 0E EA D7 17 86   '..|....h........'
00E10- 16 D6 D7 0C A2 D4 57 0C 18 BC D7 0C 16 D4 D7 0C   '......W.........'
00E20- A2 D6 57 0C 00 00 7C 1C 17 00 7C 0E A3 00 E9 0C   '..W...|...|.....'
00E30- 09 DC FF A0 F5 D9 BF A4 01 D8 FF 38 BA 01 FC F8   '...........8....'
00E40- 0C D8 FF 0C 01 DA FF 30 F5 D9 BF 80 0D D8 7F 0C   '.......0........'
00E50- D6 00 7C 0D BC DD FF F6 18 DA FF 28 AB DA 7F 0C   '..|........(....'
00E60- B5 01 7C 1C 00 B8 BF 54 25 B9 FF 0D F0 B8 7F 0C   '..|....T%.......'
00E70- EF E5 8F A0 04 E4 CF 28 F2 E7 8F A4 EF E5 8F 80   '.......(........'
00E80- EF E7 8F 80 F0 E9 8F A0 06 E8 CF 10 F2 E9 0F E1   '................'
00E90- F3 E9 0F 85 F1 E9 8F A0 03 E8 CF 10 F2 E9 0F E1   '................'
00EA0- F3 E9 0F 85 F1 DF 8F 80 03 DE CF 28 EF EB 8F A0   '...........(....'
00EB0- F0 DF BF A0 F1 E1 BF A0 3A E2 FF 0C C5 E3 7F FA   '........:.......'
00EC0- D9 01 7C 1C 89 00 00 00 00 00 00 00 9A 62 22 77   '..|..........b"w'
00ED0- 20 43 6F 70 79 72 69 67 68 74 20 32 30 31 33 20   ' Copyright 2013 '
00EE0- 20 50 61 72 61 6C 6C 61 78 2C 20 49 6E 63 2E 20   ' Parallax, Inc. '
00EF0- 77 77 77 2E 70 61 72 61 6C 6C 61 78 2E 63 6F 6D   'www.parallax.com'
>..
00F00- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F10- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F20- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F30- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F40- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F50- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F60- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F70- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F80- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F90- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FA0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FB0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FC0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FD0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FE0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FF0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
01000- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
01010- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
01020- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
01030- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
01040- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
01050- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
01060- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
01070- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
01080- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
01090- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
010A0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
010B0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
010C0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
010D0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
010E0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
010F0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
>1ff00.
1FF00- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FF10- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FF20- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FF30- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FF40- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FF50- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FF60- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FF70- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FF80- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FF90- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FFA0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FFB0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FFC0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FFD0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FFE0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
1FFF0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
>f00:1 2 3 4 5 6
>f00.f0f
00F00- 01 02 03 04 05 06 00 00 00 00 00 00 00 00 00 00   '................'
>f10:'Hello!' 77
>f00.
00F00- 01 02 03 04 05 06 00 00 00 00 00 00 00 00 00 00   '................'
00F10- 48 65 6C 6C 6F 21 77 00 00 00 00 00 00 00 00 00   'Hello!w.........'
00F20- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F30- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F40- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F50- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F60- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F70- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F80- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F90- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FA0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FB0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FC0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FD0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FE0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FF0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
>f00.f1f>f80
>f00.
00F00- 01 02 03 04 05 06 00 00 00 00 00 00 00 00 00 00   '................'
00F10- 48 65 6C 6C 6F 21 77 00 00 00 00 00 00 00 00 00   'Hello!w.........'
00F20- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F30- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F40- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F50- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F60- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F70- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F80- 01 02 03 04 05 06 00 00 00 00 00 00 00 00 00 00   '................'
00F90- 48 65 6C 6C 6F 21 77 00 00 00 00 00 00 00 00 00   'Hello!w.........'
00FA0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FB0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FC0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FD0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FE0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FF0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
>f30.f7f:'abc
>f00.
00F00- 01 02 03 04 05 06 00 00 00 00 00 00 00 00 00 00   '................'
00F10- 48 65 6C 6C 6F 21 77 00 00 00 00 00 00 00 00 00   'Hello!w.........'
00F20- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00F30- 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61   'abcabcabcabcabca'
00F40- 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62   'bcabcabcabcabcab'
00F50- 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63   'cabcabcabcabcabc'
00F60- 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61   'abcabcabcabcabca'
00F70- 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62   'bcabcabcabcabcab'
00F80- 01 02 03 04 05 06 00 00 00 00 00 00 00 00 00 00   '................'
00F90- 48 65 6C 6C 6F 21 77 00 00 00 00 00 00 00 00 00   'Hello!w.........'
00FA0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FB0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FC0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FD0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FE0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
00FF0- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   '................'
>m
 0 0 0 0 0 0 0 M
>6+1ec+1000
>m
 0 1 0 0 0 0 0 M
>6-
>m
 0 0 0 0 0 0 0 M
>

Link: Parallax Forum