Documentation for “Zerocat Chipflasher” as of Wed, 27 Jul 2022 12:09:29 +0200
Repository: git://zerocat.org/zerocat/projects/chipflasher
Version: v0.6.9-632-7d693973
Branch: flashrom-interface
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor. Version 1.00.78 Compiling... ../../firmware2/src/FullDuplexSerial.spin Done. Program size is 740 bytes TYPE: 53 VALUE: 00000401 (00000004) NAME: START TYPE: 53 VALUE: 00000002 (00000004) NAME: STOP TYPE: 53 VALUE: 00000003 (00000004) NAME: RXFLUSH TYPE: 53 VALUE: 00000004 (00000004) NAME: RXCHECK TYPE: 53 VALUE: 00000105 (00000004) NAME: RXTIME TYPE: 53 VALUE: 00000006 (00000004) NAME: RX TYPE: 53 VALUE: 00000107 (00000004) NAME: TX TYPE: 53 VALUE: 00000108 (00000004) NAME: STR TYPE: 53 VALUE: 00000109 (00000004) NAME: WBUF TYPE: 53 VALUE: 0000010A (00000004) NAME: DEC TYPE: 53 VALUE: 0000020B (00000004) NAME: HEX TYPE: 53 VALUE: 0000020C (00000004) NAME: BIN TYPE: 47 VALUE: 00000000 (00000000) NAME: RX_HEAD TYPE: 47 VALUE: 00000004 (00000000) NAME: RX_TAIL TYPE: 47 VALUE: 00000008 (00000000) NAME: TX_HEAD TYPE: 47 VALUE: 0000000C (00000000) NAME: TX_TAIL TYPE: 47 VALUE: 00000010 (00000000) NAME: RX_PIN TYPE: 47 VALUE: 00000014 (00000000) NAME: TX_PIN TYPE: 47 VALUE: 00000018 (00000000) NAME: RXTX_MODE TYPE: 47 VALUE: 0000001C (00000000) NAME: BIT_TICKS TYPE: 47 VALUE: 00000020 (00000000) NAME: BUFFER_PTR TYPE: 45 VALUE: 00000000 (00000000) NAME: RX_BUFFER TYPE: 45 VALUE: 00000010 (00000000) NAME: TX_BUFFER TYPE: 4A VALUE: 00000034 (00000000) NAME: ENTRY TYPE: 4A VALUE: 0000008C (00000058) NAME: RECEIVE TYPE: 4A VALUE: 000000AC (00000078) NAME: BIT^C^A^A^A TYPE: 4A VALUE: 000000B0 (0000007c) NAME: WAIT^C^A^A^A TYPE: 4A VALUE: 00000100 (000000cc) NAME: TRANSMIT TYPE: 4A VALUE: 0000014C (00000118) NAME: BIT^D^A^A^A TYPE: 4A VALUE: 00000168 (00000134) NAME: WAIT^D^A^A^A TYPE: 48 VALUE: 00000184 (00000150) NAME: COG TYPE: 4B VALUE: 00000188 (00000154) NAME: T1 TYPE: 4B VALUE: 00000188 (00000158) NAME: T2 TYPE: 4B VALUE: 00000188 (0000015c) NAME: T3 TYPE: 4B VALUE: 00000188 (00000160) NAME: RXTXMODE TYPE: 4B VALUE: 00000188 (00000164) NAME: BITTICKS TYPE: 4B VALUE: 00000188 (00000168) NAME: RXMASK TYPE: 4B VALUE: 00000188 (0000016c) NAME: RXBUFF TYPE: 4B VALUE: 00000188 (00000170) NAME: RXDATA TYPE: 4B VALUE: 00000188 (00000174) NAME: RXBITS TYPE: 4B VALUE: 00000188 (00000178) NAME: RXCNT TYPE: 4B VALUE: 00000188 (0000017c) NAME: RXCODE TYPE: 4B VALUE: 00000188 (00000180) NAME: TXMASK TYPE: 4B VALUE: 00000188 (00000184) NAME: TXBUFF TYPE: 4B VALUE: 00000188 (00000188) NAME: TXDATA TYPE: 4B VALUE: 00000188 (0000018c) NAME: TXBITS TYPE: 4B VALUE: 00000188 (00000190) NAME: TXCNT TYPE: 4B VALUE: 00000188 (00000194) NAME: TXCODE TYPE: 4E VALUE: 00000004 (00000000) NAME: RXPIN TYPE: 4E VALUE: 00000008 (00000000) NAME: TXPIN TYPE: 4E VALUE: 0000000C (00000000) NAME: MODE TYPE: 4E VALUE: 00000010 (00000000) NAME: BAUDRATE TYPE: 4E VALUE: 00000000 (00000000) NAME: OKAY TYPE: 4E VALUE: 00000000 (00000000) NAME: RXBYTE TYPE: 4E VALUE: 00000004 (00000000) NAME: MS TYPE: 4E VALUE: 00000000 (00000000) NAME: RXBYTE TYPE: 4E VALUE: 00000008 (00000000) NAME: T TYPE: 4E VALUE: 00000000 (00000000) NAME: RXBYTE TYPE: 4E VALUE: 00000004 (00000000) NAME: TXBYTE TYPE: 4E VALUE: 00000004 (00000000) NAME: STRINGPTR TYPE: 4E VALUE: 00000000 (00000000) NAME: STRLENGTH TYPE: 4E VALUE: 00000004 (00000000) NAME: BUFPTR TYPE: 4E VALUE: 00000000 (00000000) NAME: N TYPE: 4E VALUE: 00000004 (00000000) NAME: VALUE TYPE: 4E VALUE: 00000008 (00000000) NAME: I TYPE: 4E VALUE: 0000000C (00000000) NAME: X TYPE: 4E VALUE: 00000004 (00000000) NAME: VALUE TYPE: 4E VALUE: 00000008 (00000000) NAME: DIGITS TYPE: 4E VALUE: 00000004 (00000000) NAME: VALUE TYPE: 4E VALUE: 00000008 (00000000) NAME: DIGITS Distilled longs: 0 OBJ bytes: 790 _CLKMODE: 00 _CLKFREQ: 00B71B00 0000- 44 00 D4 02 D4 02 0D 00 88 01 00 00 AD 01 00 00 D............... 0010- C3 01 00 00 CD 01 00 00 E0 01 04 00 FD 01 00 00 ................ 0020- 09 02 00 00 2A 02 00 00 39 02 00 00 49 02 08 00 ....*...9...I... 0030- 95 02 00 00 BD 02 00 00 F0 AB BC A0 10 AA FC 80 ................ 0040- 55 AC BC 08 01 B4 FC A0 56 B4 BC 2C 04 AA FC 80 U.......V..,.... 0050- 55 AC BC 08 01 C0 FC A0 56 C0 BC 2C 04 AA FC 80 U.......V..,.... 0060- 55 B0 BC 08 04 AA FC 80 55 B2 BC 08 04 AA FC 80 U.......U....... 0070- 55 B6 BC 08 5B C2 BC A0 10 C2 FC 80 04 B0 7C 62 U...[.........|b 0080- 02 B0 7C 61 60 E8 9B 68 60 EC AB 68 33 CA FC A0 ..|a`..h`..h3... 0090- 65 BE BC 5C 01 B0 7C 62 F2 B5 3C 61 16 00 64 5C e..\..|b..<a..d\ 00A0- 09 BA FC A0 59 BC BC A0 01 BC FC 28 F1 BD BC 80 ....Y......(.... 00B0- 59 BC BC 80 65 BE BC 5C 5E AA BC A0 F1 AB BC 84 Y...e..\^....... 00C0- 00 AA 7C C1 1F 00 4C 5C F2 B5 3C 61 01 B8 FC 30 ..|...L\..<a...0 00D0- 1E BA FC E4 17 B8 FC 28 FF B8 FC 60 01 B0 7C 62 .......(...`..|b 00E0- FF B8 D4 6C F0 AD BC 08 5B AC BC 80 56 B8 3C 00 ...l....[...V.<. 00F0- 5B AC BC 84 01 AC FC 80 0F AC FC 60 F0 AD 3C 08 [..........`..<. 0100- 16 00 7C 5C 5F CA BC 5C F0 AB BC A0 08 AA FC 80 ..|\_..\........ 0110- 55 AC BC 08 04 AA FC 80 55 AE BC 08 57 AC 3C 86 U.......U...W.<. 0120- 33 00 68 5C 61 AE BC 80 57 C4 BC 00 61 AE BC 84 3.h\a...W...a... 0130- 01 AE FC 80 0F AE FC 60 55 AE 3C 08 00 C5 FC 68 .......`U.<....h 0140- 02 C4 FC 2C 01 C4 FC 68 0B C6 FC A0 F1 C9 BC A0 ...,...h........ 0150- 04 B0 7C 62 02 B0 7C 61 01 C4 E0 6C 01 C4 FC 29 ..|b..|a...l...) 0160- 60 E8 AB 70 60 EC 97 74 59 C8 BC 80 5F CA BC 5C `..p`..tY..._..\ 0170- 64 AA BC A0 F1 AB BC 84 00 AA 7C C1 4D 00 4C 5C d.........|.M.L\ 0180- 46 C6 FC E4 33 00 7C 5C 00 00 00 00 01 05 02 43 F...3.|\.......C 0190- 35 37 01 1A 53 67 37 21 1E 35 C0 70 F6 5D 8B 24 57..Sg7!.5.p.].$ 01A0- C9 20 34 C7 34 43 28 36 EC 87 81 84 35 92 80 61 . 4.4C(6....5..a 01B0- 32 87 81 84 35 90 0A 09 87 81 84 35 92 98 36 ED 2...5......5..6. 01C0- 21 43 35 38 09 1A 32 00 05 04 35 FE 0A 02 04 77 !C58..2...5....w 01D0- 32 62 3E 44 40 FB 0A 0B 44 98 24 61 44 36 EC 37 2b>D@...D.$aD6.7 01E0- 23 E8 45 32 3F 91 69 00 05 04 62 80 35 FE 3F 91 #.E2?.i...b.5.?. 01F0- 68 ED 35 C0 39 03 E8 F6 F6 64 FA F2 0B 02 04 67 h.5.9....d.....g 0200- 32 00 05 04 62 80 35 F9 0A 02 04 75 32 4C 48 36 2...b.5....u2LH6 0210- EC 37 23 E8 FB 0B 02 04 74 64 48 99 34 48 36 EC .7#.....tdH.4H6. 0220- 37 23 E8 49 58 37 02 E8 0A 03 01 05 06 32 64 16 7#.IX7.......2d. 0230- 61 60 08 08 01 66 AE 80 05 07 09 78 32 66 AE A0 a`...f.....x2f.. 0240- 61 60 08 08 01 66 A6 80 05 07 09 78 32 64 37 1E a`...f.....x2d7. 0250- FC 6D 64 35 F9 0A 0A 64 6C EC E9 65 01 38 2D 05 .md5...dl..e.8-. 0260- 07 3B 3B 9A CA 00 69 38 0A 08 2D 64 68 FE 0A 16 .;;...i8..-dh... 0270- 01 64 68 F6 38 30 EC 6C 68 36 FC F4 EC 05 07 68 .dh.80.lh6.....h 0280- 66 57 62 1C 04 0C 60 68 36 FC F2 0A 05 01 38 30 fWb...`h6.....80 0290- 05 07 38 0A 6A 56 09 53 32 37 02 68 ED 37 00 E3 ..8.jV.S27.h.7.. 02A0- 66 43 68 08 1B 01 35 39 02 B8 37 01 66 C1 37 23 fCh...59..7.f.7# 02B0- E8 38 30 38 39 12 38 41 38 46 12 0F 05 07 09 65 .8089.8A8F.....e 02C0- 32 37 04 68 ED 66 43 68 08 0D 01 36 66 C1 36 E8 27.h.fCh...6f.6. 02D0- 38 30 EC 05 07 09 73 32 C5 53 54 41 52 54 04 53 80....s2.START.S 02E0- 54 4F 50 00 52 58 46 4C 55 53 48 00 52 58 43 48 TOP.RXFLUSH.RXCH 02F0- 45 43 4B 00 52 58 54 49 4D 45 01 52 58 00 54 58 ECK.RXTIME.RX.TX 0300- 01 53 54 52 01 57 42 55 46 01 44 45 43 01 48 45 .STR.WBUF.DEC.HE 0310- 58 02 42 49 4E 02 X.BIN. ******************************************** * Full-Duplex Serial Driver v1.2 * * Author: Chip Gracey, Jeff Martin * * Copyright (c) 2006-2009 Parallax, Inc. * * See end of file for terms of use. * ******************************************** Changes, introduced for Zerocat Chipflasher: * New: PUB wbuf(bufptr) : n * PUB str(stringptr) -> PUB str(stringptr) : strlength * fix memory access to cog flag, as stop method does not stop the cog - remove dummy placeholder variable Object "../../firmware2/src/FullDuplexSerial" Interface: PUB start(rxpin, txpin, mode, baudrate) : PUB stop PUB rxflush PUB rxcheck : PUB rxtime(ms) : PUB rx : PUB tx(txbyte) PUB str(stringptr) : PUB wbuf(bufptr) : PUB dec(value) PUB hex(value, digits) PUB bin(value, digits) Program: 181 Longs Variable: 17 Longs ___________________________________________ PUB start(rxpin, txpin, mode, baudrate) : Start serial driver - starts a cog returns false if no cog available mode bit 0 = invert rx mode bit 1 = invert tx mode bit 2 = open-drain/source tx mode bit 3 = ignore tx echo on rx _________ PUB stop Stop serial driver - frees a cog ____________ PUB rxflush Flush receive buffer _______________ PUB rxcheck : Check if byte received (never waits) returns -1 if no byte received, $00..$FF if byte __________________ PUB rxtime(ms) : Wait ms milliseconds for a byte to be received returns -1 if no byte received, $00..$FF if byte __________ PUB rx : Receive byte (may wait for byte) returns $00..$FF _______________ PUB tx(txbyte) Send byte (may wait for room in buffer) ______________________ PUB str(stringptr) : Send string ____________________ PUB wbuf(bufptr) : Send buffer content, first two bytes (word) specifies length of data queue _______________ PUB dec(value) Print a decimal number _______________________ PUB hex(value, digits) Print a hexadecimal number _______________________ PUB bin(value, digits) Print a binary number ****************************************************************************** TERMS OF USE: MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ******************************************************************************