GT-730F/L (CDCクラス)
Descriptor表示がデバッグに使えるように、すべてのフィールドを表示し、頭0サプレスされていたのを止めました。
Tiny Dump Monitor
>ub
Binaryimage download start!
Download address = 1C000000h
Binaryimage download start! ..........................................................................................................................................................................................................................................................................................................................
Download program size : 139E0h
Jump address = 1C00053Ch
Download program start!!
--- Hello USB World!! ---
>H_CheckAttach(): buf1=0001, buf2=0001, buf3=0001
H_CheckAttach(): rhst=0000, buf1=0001
H_CheckAttach(): buf1=0001, buf2=0001, buf3=0001
H_CheckAttach(): rhst=0000, buf1=0001
H_UsbStateManager(): UsbDeviceState=0001
H_UsbStateManager(): UsbDeviceState=0002
<-- [SETUP STAGE] : Req=0680, Val=0100, Indx=0000, Len=0040
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0040, UsbCmdStage=0211
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0040, UsbCmdStage=0220
--> [DATA STAGE READ]
--> CR=12011001 00000040 7B060323 00040102 0001
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0040, UsbCmdStage=0222
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0040, UsbCmdStage=0230
<-- CW=
usb_write_buffer_c():status=0001
<-- [STATUS STAGE READ MODE]
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0040, UsbCmdStage=0232
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0040, UsbCmdStage=0232
H_UsbStateManager(): UsbDeviceState=0003
Full-Speed Device----
H_UsbStateManager(): UsbDeviceState=0004
H_UsbStateManager(): UsbDeviceState=0005
<-- [SETUP STAGE] : Req=0500, Val=0003, Indx=0000, Len=0000
H_CtrlTransStart(): Req=0500, Val=0003, Indx=0000, Len=0000, UsbCmdStage=0312
H_CtrlTransStart(): Req=0500, Val=0003, Indx=0000, Len=0000, UsbCmdStage=0330
--> [STATUS STAGE NO DATA]
H_CtrlTransStart(): Req=0500, Val=0003, Indx=0000, Len=0000, UsbCmdStage=0332
USB Address is 3----
H_CtrlTransStart(): Req=0500, Val=0003, Indx=0000, Len=0000, UsbCmdStage=0332
H_UsbStateManager(): UsbDeviceState=0006
H_UsbStateManager(): UsbDeviceState=0007
<-- [SETUP STAGE] : Req=0680, Val=0100, Indx=0000, Len=0012
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0012, UsbCmdStage=0211
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0012, UsbCmdStage=0220
--> [DATA STAGE READ]
--> CR=12011001 00000040 7B060323 00040102 0001
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0012, UsbCmdStage=0222
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0012, UsbCmdStage=0230
<-- CW=
usb_write_buffer_c():status=0001
<-- [STATUS STAGE READ MODE]
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0012, UsbCmdStage=0232
H_CtrlTransStart(): Req=0680, Val=0100, Indx=0000, Len=0012, UsbCmdStage=0232
H_UsbStateManager(): UsbDeviceState=0008
<-- [SETUP STAGE] : Req=0680, Val=0200, Indx=0000, Len=0009
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0009, UsbCmdStage=0211
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0009, UsbCmdStage=0220
--> [DATA STAGE READ]
--> CR=09022700 01010080 32
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0009, UsbCmdStage=0222
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0009, UsbCmdStage=0230
<-- CW=
usb_write_buffer_c():status=0001
<-- [STATUS STAGE READ MODE]
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0009, UsbCmdStage=0232
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0009, UsbCmdStage=0232
H_UsbStateManager(): UsbDeviceState=0009
<-- [SETUP STAGE] : Req=0680, Val=0200, Indx=0000, Len=0027
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0027, UsbCmdStage=0211
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0027, UsbCmdStage=0220
--> [DATA STAGE READ]
--> CR=09022700 01010080 32090400 0003FF00 00000705 81030A00 01070502 02400000
07058302 400000
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0027, UsbCmdStage=0222
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0027, UsbCmdStage=0230
<-- CW=
usb_write_buffer_c():status=0001
<-- [STATUS STAGE READ MODE]
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0027, UsbCmdStage=0232
Get configuration (Device descriptor) ------------------------
PASS!
Device descriptor dump :
12 01 10 01 00 00 00 40 7b 06 03 23 00 04 01 02
00 01
Device descriptor fields :
bLength 0000 : 0x12
bDescripotorType 0001 : 0x01
bcdUSB 0002 : 0x0110
bDeviceClass 0004 : 0x00
bDeviceSubClass 0005 : 0x00
bProtocolCode 0006 : 0x00
bMaxPacketSize 0007 : 0x40
idVendor 0008 : 0x067b
idProduct 000A : 0x2303
bcdDevice 000C : 0x0400
iManufacture 000E : 0x01
iProduct 000F : 0x02
iSerialNumber 0010 : 0x00
bNumConfigurations 0011 : 0x01
Get configuration (Configuration descriptor) -----------------
Configuration descriptor fields:
bLength 0000 : 0x09
bDescriptorType 0001 : 0x02
wTotalLength 0002 : 0x0027
bNumInterfaces 0004 : 0x01
bConfigurationValue0005 : 0x01
iConfiguration 0006 : 0x00
bmAttributes 0007 : 0x80
bMaxPower 0008 : 0x32
Interface descriptor fields:
bLength 0000 : 0x09
bDescriptorType 0001 : 0x04
bInterfaceNumber 0002 : 0x00
bAlternateSetting 0003 : 0x00
bNumEndpoints 0004 : 0x03
bInterfaceClass 0005 : 0xff
bInterfaceSubClass 0006 : 0x00
bInterfaceProtocol 0007 : 0x00
iInterface 0008 : 0x00
Endpoint descriptor fields:
bLength 0000 : 0x07
bDescriptorType 0001 : 0x05
bEndpointAddress 0002 : 0x81
bmAttributes 0003 : 0x03
wMaxPacketSize 0004 : 0x000a
bInterval 0006 : 0x01
Endpoint descriptor fields:
bLength 0000 : 0x07
bDescriptorType 0001 : 0x05
bEndpointAddress 0002 : 0x02
bmAttributes 0003 : 0x02
wMaxPacketSize 0004 : 0x0040
bInterval 0006 : 0x00
Endpoint descriptor fields:
bLength 0000 : 0x07
bDescriptorType 0001 : 0x05
bEndpointAddress 0002 : 0x83
bmAttributes 0003 : 0x02
wMaxPacketSize 0004 : 0x0040
bInterval 0006 : 0x00
H_CtrlTransStart(): Req=0680, Val=0200, Indx=0000, Len=0027, UsbCmdStage=0232
H_UsbStateManager(): UsbDeviceState=000A
H_UsbStateManager(): UsbDeviceState=000B
<-- [SETUP STAGE] : Req=0900, Val=0001, Indx=0000, Len=0000
H_CtrlTransStart(): Req=0900, Val=0001, Indx=0000, Len=0000, UsbCmdStage=0312
H_CtrlTransStart(): Req=0900, Val=0001, Indx=0000, Len=0000, UsbCmdStage=0330
--> [STATUS STAGE NO DATA]
H_CtrlTransStart(): Req=0900, Val=0001, Indx=0000, Len=0000, UsbCmdStage=0332
-H_SetEndpoint(). Length=39, offset=9
Config Descriptor
0000 09022700 01010080 32090400 0003FF00 00000705 81030A00 01070502 02400000 |..'.....2....................@..|
0020 07058302 400000 |....@.. |
USB_CFG_PIPETBL
0000 00010100 1C080000 00000001 00020100 1C100000 00000001 00030100 1C180000 |................................|
0020 00000001 00040100 1C200000 00000001 00050100 1C280000 00000001 00060000 |......... ...........(..........|
0040 00040000 00000000 00070000 00050000 00000000 00080000 00060000 00000000 |................................|
0060 00090000 00070000 00000000 FFFFFFFF FFFFFFFF FFFFFFFF |........................ |
- Table[ 1 ]=05, Table[ 3 ]=03.
- H_SetEndpointTable(-1). default return!!.
-H_SetEndpoint() ret=00FF end_point=00 pipe_number=1.
- Table[ 1 ]=05, Table[ 3 ]=03.
- H_SetEndpointTable(-1). default return!!.
-H_SetEndpoint() ret=00FF end_point=01 pipe_number=2.
- Table[ 1 ]=05, Table[ 3 ]=03.
- H_SetEndpointTable(-1). default return!!.
-H_SetEndpoint() ret=00FF end_point=02 pipe_number=3.
- Table[ 1 ]=05, Table[ 3 ]=03.
- H_SetEndpointTable(-1). default return!!.
-H_SetEndpoint() ret=00FF end_point=03 pipe_number=4.
- Table[ 1 ]=05, Table[ 3 ]=03.
- H_SetEndpointTable(-1). default return!!.
-H_SetEndpoint() ret=00FF end_point=04 pipe_number=5.
- Table[ 1 ]=05, Table[ 3 ]=03.
H_resetEP() :
pipe = 6
pipe_cfg = 8081,
pipe_buf = 4,
pipe_max_pktsize = 300a,
pipe_cycle = 0
-H_SetEndpoint() ret=0000 end_point=05 pipe_number=6.
- Table[ 1 ]=05, Table[ 3 ]=02.
H_resetEP() :
pipe = 1
pipe_cfg = 4112,
pipe_buf = 1c08,
pipe_max_pktsize = 3040,
pipe_cycle = 0
-H_SetEndpoint() ret=0010 end_point=00 pipe_number=1.
- Table[ 1 ]=05, Table[ 3 ]=02.
-H_SetEndpoint() ret=00FF end_point=00 pipe_number=1.
- Table[ 1 ]=05, Table[ 3 ]=02.
H_resetEP() :
pipe = 2
pipe_cfg = 4183,
pipe_buf = 1c10,
pipe_max_pktsize = 3040,
pipe_cycle = 0
-H_SetEndpoint() ret=0000 end_point=01 pipe_number=2.H_CtrlTransStart(): Req=0900, Val=0001, Indx=0000, Len=0000, UsbCmdStage=0332
H_SetEndpointTable(): PIPE#=0006, EP#=0001
H_SetEndpointTable(): PIPE#=0001, EP#=0002
H_SetEndpointTable(): PIPE#=0002, EP#=0003
H_UsbStateManager(): UsbDeviceState=000C
<-- [SETUP STAGE] : Req=21A1, Val=0000, Indx=0000, Len=0007
H_CtrlTransStart(): Req=21A1, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0211
H_CtrlTransStart(): Req=21A1, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0220
--> [DATA STAGE READ]
--> CR=80250000 000000
H_CtrlTransStart(): Req=21A1, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0222
H_CtrlTransStart(): Req=21A1, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0230
<-- CW=
usb_write_buffer_c():status=0001
<-- [STATUS STAGE READ MODE]
H_CtrlTransStart(): Req=21A1, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0232
H_CtrlTransStart(): Req=21A1, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0232
H_UsbStateManager(): UsbDeviceState=000D
<-- [SETUP STAGE] : Req=2021, Val=0000, Indx=0000, Len=0007
H_CtrlTransStart(): Req=2021, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0111
H_CtrlTransStart(): Req=2021, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0120
<-- CW=00960000 000008
usb_write_buffer_c():status=0001
<-- [DATA_STAGE WRITE]=00960000 000008
H_CtrlTransStart(): Req=2021, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0130
--> [STATUS STAGE WRITE MODE]
H_CtrlTransStart(): Req=2021, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0132
H_CtrlTransStart(): Req=2021, Val=0000, Indx=0000, Len=0007, UsbCmdStage=0132
H_UsbStateManager(): UsbDeviceState=000E
<-- [SETUP STAGE] : Req=2221, Val=0000, Indx=0000, Len=0000
H_CtrlTransStart(): Req=2221, Val=0000, Indx=0000, Len=0000, UsbCmdStage=0311
H_CtrlTransStart(): Req=2221, Val=0000, Indx=0000, Len=0000, UsbCmdStage=0330
--> [STATUS STAGE NO DATA]
H_CtrlTransStart(): Req=2221, Val=0000, Indx=0000, Len=0000, UsbCmdStage=0332
H_CtrlTransStart(): Req=2221, Val=0000, Indx=0000, Len=0000, UsbCmdStage=0332
H_UsbStateManager(): UsbDeviceState=0010
<-- [SETUP STAGE] : Req=2221, Val=0101, Indx=0000, Len=0000
H_CtrlTransStart(): Req=2221, Val=0101, Indx=0000, Len=0000, UsbCmdStage=0311
H_CtrlTransStart(): Req=2221, Val=0101, Indx=0000, Len=0000, UsbCmdStage=0330
--> [STATUS STAGE NO DATA]
H_CtrlTransStart(): Req=2221, Val=0101, Indx=0000, Len=0000, UsbCmdStage=0332
H_CtrlTransStart(): Req=2221, Val=0101, Indx=0000, Len=0000, UsbCmdStage=0332
H_UsbStateManager(): UsbDeviceState=0011
<-- [SETUP STAGE] : Req=2221, Val=0202, Indx=0000, Len=0000
H_CtrlTransStart(): Req=2221, Val=0202, Indx=0000, Len=0000, UsbCmdStage=0311
H_CtrlTransStart(): Req=2221, Val=0202, Indx=0000, Len=0000, UsbCmdStage=0330
--> [STATUS STAGE NO DATA]
H_CtrlTransStart(): Req=2221, Val=0202, Indx=0000, Len=0000, UsbCmdStage=0332
H_CtrlTransStart(): Req=2221, Val=0202, Indx=0000, Len=0000, UsbCmdStage=0332
H_UsbStateManager(): UsbDeviceState=0012
<-- [SETUP STAGE] : Req=2221, Val=0303, Indx=0000, Len=0000
H_CtrlTransStart(): Req=2221, Val=0303, Indx=0000, Len=0000, UsbCmdStage=0311
H_CtrlTransStart(): Req=2221, Val=0303, Indx=0000, Len=0000, UsbCmdStage=0330
--> [STATUS STAGE NO DATA]
H_CtrlTransStart(): Req=2221, Val=0303, Indx=0000, Len=0000, UsbCmdStage=0332
H_CtrlTransStart(): Req=2221, Val=0303, Indx=0000, Len=0000, UsbCmdStage=0332
H_UsbStateManager(): UsbDeviceState=0013
$GPGGA,094233.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*5C
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,094233.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*74
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094234.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*5B
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,094234.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*73
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094235.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*5A
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPGSV,3,1,12,17,77,177,28,04,56,320,,10,53,242,,13,44,117,*75
$GPGSV,3,2,12,23,42,078,,20,23,050,,02,16,291,,28,09,196,*77
$GPGSV,3,3,12,12,09,317,,01,08,093,,05,01,234,,32,00,048,*7A
$GPRMC,094235.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*72
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094236.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*59
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,094236.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*71
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094237.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*58
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,094237.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*70
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094238.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*57
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPGSV,3,1,12,17,77,177,29,04,56,320,,10,53,242,,13,44,117,*74
$GPGSV,3,2,12,23,42,078,,20,23,050,,02,16,291,,28,09,196,*77
$GPGSV,3,3,12,12,09,317,,01,08,093,,05,01,234,,32,00,048,*7A
$GPRMC,094238.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*7F
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094239.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*56
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,094239.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*7E
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094240.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*58
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,094240.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*70
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094241.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*59
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPGSV,3,1,12,17,77,177,28,04,56,320,,10,53,242,,13,44,117,*75
$GPGSV,3,2,12,23,42,078,,20,23,050,,02,16,291,,28,09,196,*77
$GPGSV,3,3,12,12,09,317,,01,08,093,,05,01,234,,32,00,048,*7A
$GPRMC,094241.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*71
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094242.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*5A
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,094242.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*72
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094243.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*5B
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,094243.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*73
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094244.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*5C
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPGSV,3,1,12,17,77,177,30,04,56,320,,10,53,242,,13,44,117,*7C
$GPGSV,3,2,12,23,42,078,,20,23,050,,02,16,292,,28,09,196,*74
$GPGSV,3,3,12,12,09,317,,01,08,093,,05,01,234,,32,00,048,*7A
$GPRMC,094244.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*74
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPGGA,094245.000,3518.abcd,N,13914.abcd,E,0,00,0.0,83.0,M,0.0,M,,0000*5D
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,094245.000,V,3518.abcd,N,13914.abcd,E,000.0,000.0,230911,,,N*75
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
Tiny Dump Monitor
詳細な位置情報は置き換えましたが、置き換えた数字は3種類だけ。時間帯にも寄りますが、精度は良いようです
Device descriptor dumpと2バイトのフィールド(idVendor、idProduct、bcdDevice)の内容が不一致なので調べてみました。結果、原因はよく分からないのですが、castの仕方に問題があるようです。結局、キャストを使わないように修正しました。もしかすると、オリジナルはLinuxにあるような気がすのですが、printf()の書式には不得意な方の作成かも知れません。因みにポチはキャストや構造体、unionなど分からないことだらけです
リスト0
リスト1