मुझे FT4232H से swd प्रोग्रामिंग इंटरफेस पर ST32 MCU को प्रोग्राम करने के लिए एक openocd.cfg कॉन्फ़िगरेशन बनाने और परीक्षण करने की आवश्यकता है। मेरे पास अभी तक ST32 MCU नहीं है, इसलिए मैं FT4232H-56Q मिनी मॉड्यूल को एनालॉग ADuCM4050 से जोड़ने की कोशिश कर रहा हूं जो ADZS-U4050WL-EZKIT पर है और इसे Openocd का उपयोग करके कनेक्ट करना है।
मेरी उम्मीद है कि FT4232H के लिए Openocd.cfg फ़ाइल समान है (पिन असाइनमेंट, डिफ़ॉल्ट स्तर और दिशा, आदि), इसलिए मैं उस काम को प्राप्त करना चाहता हूं और प्राप्त ADUCM4050 को ST32 भाग में बदल दूंगा।
समस्या यह है, कि मैं ओपनकाड कॉन्फ़िगरेशन / सिंटैक्स काम नहीं कर पा रहा हूँ। मुझे त्रुटि हो रही है:
User : 122 531 command.c:687 command_run_line(): target/aducm4x50.tcl:48: Error: invalid command name "dap"
मैं इसे विंडोज पर चला रहा हूं, और मुझे समझ नहीं आ रहा है कि कैसे आगे बढ़ना है। इसी तरह की त्रुटि वाला एक व्यक्ति था यहाँ , लेकिन उन्होंने कहा कि उन्होंने इसका मार्ग सिंटैक्स बदलकर हल किया। मैंने निरपेक्ष और सापेक्ष रास्तों को निर्दिष्ट करने की कोशिश की है और इसे पा नहीं सकते। मैंने Openocd.exe, Openocd.cfg और lib .dll usb फ़ाइलों को स्क्रिप्ट्स dir में डाला। मैं कल लिनक्स की कोशिश करूंगा।
openocd.cfg:
interface ftdi
transport select swd
ftdi_vid_pid 0x0403 0x6011
ftdi_layout_init 0x20 0xfb
ftdi_layout_signal nTRST -data 0x20
ftdi_layout_signal SWD_EN -data 0
ftdi_channel 1
ftdi_layout_init 0x00 0xed
ftdi_channel 2
ftdi_layout_init 0x00 0xfd
ftdi_channel 3
ftdi_layout_init 0x00 0xfd
डीबग डी 3 के साथ चलने पर यहां संपूर्ण आउटपुट है:
D:\testing\openocd-0.10.0\scripts>openocd.exe -f openocd.cfg -f target/aducm4050.cfg -d3
Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
User : 13 1 command.c:544 command_print(): debug_level: 3
Debug: 14 2 options.c:181 add_default_dirs(): bindir=bin-x64
Debug: 15 3 options.c:182 add_default_dirs(): pkgdatadir=
Debug: 16 4 options.c:183 add_default_dirs(): exepath=D:/testing/openocd-0.10.0/scripts
Debug: 17 5 options.c:184 add_default_dirs(): bin2data=../
Debug: 18 6 configuration.c:42 add_script_search_dir(): adding C:\Users\Mike\AppData\Roaming/OpenOCD
Debug: 19 8 configuration.c:42 add_script_search_dir(): adding D:/testing/openocd-0.10.0/scripts/..//site
Debug: 20 11 configuration.c:42 add_script_search_dir(): adding D:/testing/openocd-0.10.0/scripts/..//scripts
Debug: 21 13 configuration.c:82 find_file(): found openocd.cfg
Debug: 22 15 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_interface ftdi
Debug: 23 17 command.c:143 script_debug(): command - interface ocd_interface ftdi
Debug: 25 19 command.c:364 register_command_handler(): registering 'ocd_ftdi_device_desc'...
Debug: 26 20 command.c:364 register_command_handler(): registering 'ocd_ftdi_serial'...
Debug: 27 22 command.c:364 register_command_handler(): registering 'ocd_ftdi_location'...
Debug: 28 23 command.c:364 register_command_handler(): registering 'ocd_ftdi_channel'...
Debug: 29 25 command.c:364 register_command_handler(): registering 'ocd_ftdi_layout_init'...
Debug: 30 27 command.c:364 register_command_handler(): registering 'ocd_ftdi_layout_signal'...
Debug: 31 29 command.c:364 register_command_handler(): registering 'ocd_ftdi_set_signal'...
Debug: 32 30 command.c:364 register_command_handler(): registering 'ocd_ftdi_get_signal'...
Debug: 33 32 command.c:364 register_command_handler(): registering 'ocd_ftdi_vid_pid'...
Debug: 34 34 command.c:364 register_command_handler(): registering 'ocd_ftdi_tdo_sample_edge'...
Debug: 35 35 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select swd
Debug: 36 38 command.c:143 script_debug(): command - ocd_transport ocd_transport select swd
Debug: 37 39 command.c:323 command_new(): BUG: command 'swd' does not have the '.usage' field filled out
Debug: 38 41 command.c:364 register_command_handler(): registering 'ocd_swd'...
Info : 39 43 ftdi.c:1051 ftdi_swd_init(): FTDI SWD mode enabled
Debug: 40 44 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_ftdi_vid_pid 0x0403 0x6011
Debug: 41 49 command.c:143 script_debug(): command - ftdi_vid_pid ocd_ftdi_vid_pid 0x0403 0x6011
Debug: 43 51 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_ftdi_layout_init 0x20 0xfb
Debug: 44 62 command.c:143 script_debug(): command - ftdi_layout_init ocd_ftdi_layout_init 0x20 0xfb
Debug: 46 64 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_ftdi_layout_signal nTRST -data 0x20
Debug: 47 78 command.c:143 script_debug(): command - ftdi_layout_signal ocd_ftdi_layout_signal nTRST -data 0x20
Debug: 49 80 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_ftdi_layout_signal SWD_EN -data 0
Debug: 50 93 command.c:143 script_debug(): command - ftdi_layout_signal ocd_ftdi_layout_signal SWD_EN -data 0
Debug: 52 96 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_ftdi_channel 1
Debug: 53 106 command.c:143 script_debug(): command - ftdi_channel ocd_ftdi_channel 1
Debug: 55 117 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_ftdi_layout_init 0x00 0xed
Debug: 56 119 command.c:143 script_debug(): command - ftdi_layout_init ocd_ftdi_layout_init 0x00 0xed
Debug: 58 133 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_ftdi_channel 2
Debug: 59 135 command.c:143 script_debug(): command - ftdi_channel ocd_ftdi_channel 2
Debug: 61 148 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_ftdi_layout_init 0x00 0xfd
Debug: 62 151 command.c:143 script_debug(): command - ftdi_layout_init ocd_ftdi_layout_init 0x00 0xfd
Debug: 64 163 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_ftdi_channel 3
Debug: 65 166 command.c:143 script_debug(): command - ftdi_channel ocd_ftdi_channel 3
Debug: 67 178 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_ftdi_layout_init 0x00 0xfd
Debug: 68 181 command.c:143 script_debug(): command - ftdi_layout_init ocd_ftdi_layout_init 0x00 0xfd
Debug: 70 194 configuration.c:82 find_file(): found target/aducm4050.cfg
Debug: 71 195 configuration.c:82 find_file(): found target/aducm4x50.tcl
Debug: 72 206 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select swd
Debug: 73 208 command.c:143 script_debug(): command - ocd_transport ocd_transport select swd
Warn : 74 218 transport.c:297 jim_transport_select(): Transport "swd" was already selected
Debug: 75 220 configuration.c:82 find_file(): found target/swj-dp.tcl
Debug: 76 233 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 77 235 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Debug: 78 248 configuration.c:82 find_file(): found bitsbytes.tcl
Debug: 79 250 configuration.c:82 find_file(): found memory.tcl
Debug: 80 263 configuration.c:82 find_file(): found mem_helper.tcl
Debug: 81 264 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_add_usage_text mrw address
Debug: 82 278 command.c:143 script_debug(): command - add_usage_text ocd_add_usage_text mrw address
Debug: 84 280 command.c:1098 help_add_command(): added 'mrw' help text
Debug: 85 293 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_add_help_text mrw Returns value of word in memory.
Debug: 86 295 command.c:143 script_debug(): command - add_help_text ocd_add_help_text mrw Returns value of word in memory.
Debug: 88 305 command.c:1111 help_add_command(): added 'mrw' help text
Debug: 89 317 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_add_usage_text mrb address
Debug: 90 319 command.c:143 script_debug(): command - add_usage_text ocd_add_usage_text mrb address
Debug: 92 332 command.c:1098 help_add_command(): added 'mrb' help text
Debug: 93 334 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_add_help_text mrb Returns value of byte in memory.
Debug: 94 348 command.c:143 script_debug(): command - add_help_text ocd_add_help_text mrb Returns value of byte in memory.
Debug: 96 351 command.c:1111 help_add_command(): added 'mrb' help text
Debug: 97 363 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_add_usage_text mmw address setbits clearbits
Debug: 98 365 command.c:143 script_debug(): command - add_usage_text ocd_add_usage_text mmw address setbits clearbits
Debug: 100 378 command.c:1098 help_add_command(): added 'mmw' help text
Debug: 101 380 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_add_help_text mmw Modify word in memory. new_val = (old_val & ~clearbits) | setbits;
Debug: 102 395 command.c:143 script_debug(): command - add_help_text ocd_add_help_text mmw Modify word in memory. new_val = (old_val & ~clearbits) | setbits;
Debug: 104 398 command.c:1111 help_add_command(): added 'mmw' help text
Debug: 105 409 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_adapter_khz 1000
Debug: 106 412 command.c:143 script_debug(): command - adapter_khz ocd_adapter_khz 1000
Debug: 108 422 core.c:1631 jtag_config_khz(): handle jtag khz
Debug: 109 432 core.c:1598 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 110 434 core.c:1598 adapter_khz_to_speed(): convert khz to interface specific speed value
User : 111 448 command.c:544 command_print(): adapter speed: 1000 kHz
Debug: 112 449 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 113 463 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Debug: 114 465 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 115 478 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Debug: 116 480 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 117 493 command.c:143 script_debug(): command - ocd_transport ocd_transport select
Debug: 118 495 command.c:143 script_debug(): command - ocd_command ocd_command type ocd_swd newdap aducm4050 cpu -expected-id 0x6ba02477
Debug: 119 507 command.c:143 script_debug(): command - ocd_swd ocd_swd newdap aducm4050 cpu -expected-id 0x6ba02477
Debug: 120 509 tcl.c:549 jim_newtap_cmd(): Creating New Tap, Chip: aducm4050, Tap: cpu, Dotted: aducm4050.cpu, 2 params
Debug: 121 519 core.c:1304 jtag_tap_init(): Created Tap: aducm4050.cpu @ abs position 0, irlen 0, capture: 0x0 mask: 0x0
User : 122 531 command.c:687 command_run_line(): target/aducm4x50.tcl:48: Error: invalid command name "dap"
in procedure 'script'
at file "embedded:startup.tcl", line 60
at file "target/aducm4050.cfg", line 8
at file "target/aducm4x50.tcl", line 48
"Dap" त्रुटि को हल करने के अलावा, मैं अपनी42ocd.cfg फ़ाइल से मिलान करने के लिए FT4232H के चैनल A और B पिन को अपने पिन बदलते हुए नहीं देख रहा हूँ। वे सभी उच्च हैं, लेकिन मुझे "ftdi_layout_init 0x20 0xfb" के साथ कुछ कम होने की उम्मीद है। क्या मेरे पास यह सही है? या यह सिर्फ हो सकता है कि "42 "त्रुटि के कारण FT4232H को फिर से जोड़ा नहीं गया है?
# ftdi_layout_init [data] [direction]
# name signal state direction JTAG name
# *DBUS0 TCK (low=0) (out=1) TCK
# *DBUS1 TDI (low=0) (out=1) TDI
# *DBUS2 TDO (low=0) (in=0) TDO
# *DBUS3 NC (low=0) (out=1) TMS
# *DBUS4 NC (low=0) (out=1)
# *DBUS5 RST (high=1) (out=1) (nTRST)
# *DBUS6 NC (low=0) (out=1) (nRST)
# *DBUS7 NC (low=0) (out=1) RTCK
ftdi_layout_init 0x20 0xfb
संपादित करें: नहीं, ऐसा लगता है कि यह आउटपुट FT4232H के यूएसबी से जुड़े होने के बावजूद होता है। इसलिए मेरे पास अभी भी USB ड्राइवर समस्याएँ हो सकती हैं (FTDIBus ड्राइवर को WinUSB में बदलने के लिए Zadig।
किसी भी मदद या सुझाव के लिए अग्रिम धन्यवाद।