WIZwiki_W7500 CMSIS-DAP Porting

2015. 10. 8. 15:102018년 이전 관심사/mbed

반응형

WIZwiki_W7500 CMSIS-DAP Porting

WIZwiki_W7500 Board를 개발하는 중, W7500 Chip이 Reset 되지 않는 문제를 발견하였다.
이 문제로 인해, WIZwki_W7500에 아래와 같은 문제가 발생 했다.

  • Firmware Upload 시, SWD_ERROR 발생
    • Firmware Upload 전, Target Chip(W7500)을 Reset 하는데, Reset 후 W7500이 Booting 되지 않아서 발생한 문제
  • mbed self test에서 Fail되는 현상
    • mbed test bench에서 Firmware Upload 후 CMSIS-DAP을 Reset 하는데 이 때 W7500이 Booting 되지 않아서 발생한 문제

Modified point for Software

기존 CMSIS-DAP의 Reference 대로 LPC11U35의 P1_19번 핀으로 Wizwiki Board의 Switch Reset을 Monitoring 한다.

www.life4iot.com_003

CMSIS-DAP이 Power on Reset 될 때, Target Board(W7500)이 Booting이 완료 될 때 까지 Reset을 시도 한다.

www.life4iot.com_002

www.life4iot.com_001

mbed single test result

위와 같이 CMSIS-DAP 코드를 수정해서 mbed self test를 통과 할 수 있었다.

Building library CMSIS (WIZwiki_W7500, uARM)
Building library MBED (WIZwiki_W7500, uARM)
Building project DETECT (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\DTCT_1\detect.bin" -p COM12 -t 10 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
.......port ready!
HOST: Reset target...
HOST: Property 'timeout' = '10'
HOST: Property 'host_test_name' = 'detect_auto'
HOST: Property 'description' = 'Simple detect test'
HOST: Property 'test_id' = 'DTCT_1'
HOST: Start test...
{{start}}
HOST: Detecting target name...
MBED: Target 'WIZwiki_W7500'
HOST: MUT Target name 'WIZwiki_W7500', expected 'WIZwiki_W7500'... [OK]
MBED: Test ID 'DTCT_1'
MBED: UUID '8ded4549-9396-4b12-b4e1-d90801203d2f'


{{success}}

{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::DTCT_1::Simple detect test [OK] in 1.46 of 10 sec
Building project DEV_NULL (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\EXAMPLE_1\dev_null.bin" -p COM12 -t 10 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Property 'timeout' = '20'
HOST: Property 'host_test_name' = 'dev_null_auto'
HOST: Property 'description' = 'stdout redirected to dev null'
HOST: Property 'test_id' = 'EXAMPLE_1'
HOST: Start test...
Received 0 bytes: 


{{success}}

{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::EXAMPLE_1::/dev/null [OK] in 4.45 of 20 sec
Building project HELLO (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_10\hello.bin" -p COM12 -t 10 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Property 'timeout' = '5'
HOST: Property 'host_test_name' = 'hello_auto'
HOST: Property 'description' = 'Hello World'
HOST: Property 'test_id' = 'MBED_10'
HOST: Start test...
Read 13 bytes:
Hello World


{{success}}

{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_10::Hello World [OK] in 1.34 of 5 sec
Building project TICKER (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_11\ticker.bin" -p COM12 -t 20 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Property 'timeout' = '15'
HOST: Property 'host_test_name' = 'wait_us_auto'
HOST: Property 'description' = 'Ticker Int'
HOST: Property 'test_id' = 'MBED_11'
HOST: Start test...
* in 1.00 sec (0.00) [OK]
* in 0.98 sec (0.02) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 0.98 sec (0.02) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 0.98 sec (0.02) [OK]
* in 1.00 sec (0.00) [OK]
Consecutive OK timer reads: 10
Completed in 9.94 sec


{{success}}

{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_11::Ticker Int [OK] in 12.29 of 15 sec
Building project CPP (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_12\cpp.bin" -p COM12 -t 10 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Unknown property: Static::init
HOST: Property 'timeout' = '10'
HOST: Property 'host_test_name' = 'default_auto'
HOST: Property 'description' = 'C++'
HOST: Property 'test_id' = 'MBED_12'
HOST: Start test...
Static::stack_test
Stack::init
Stack::hello
Stack::destroy
Static::check_init: OK
Heap::init
Heap::hello
Heap::check_init: OK
Heap::destroy
{{success}}
{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_12::C++ [OK] in 2.40 of 10 sec
Building project RTC (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_16\rtc.bin" -p COM12 -t 15 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Property 'timeout' = '20'
HOST: Property 'host_test_name' = 'rtc_auto'
HOST: Property 'description' = 'RTC'
HOST: Property 'test_id' = 'MBED_16'
HOST: Start test...
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 0.05 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.03 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.03 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.03 sec... FAIL
MBED: [0] [1970-01-01 00:00:00 AM]
HOST: [0] [1970-01-01 00:00:00 AM] received time +0 sec after 1.04 sec... FAIL


{{failure}}

{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_16::RTC [FAIL] in 5.51 of 20 sec
Building project STDIO (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_2\stdio.bin" -p COM12 -t 20 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Property 'timeout' = '20'
HOST: Property 'host_test_name' = 'stdio_auto'
HOST: Property 'description' = 'stdio'
HOST: Property 'test_id' = 'MBED_2'
HOST: Start test...
{{start}}

HOST: Generated number: 17349
MBED: Your value was: 17349
HOST: Number 17349 read after 0.031 sec ... [OK]
HOST: Generated number: 12660
MBED: Your value was: 12660
HOST: Number 12660 read after 0.047 sec ... [OK]
HOST: Generated number: -72654
MBED: Your value was: -72654
HOST: Number -72654 read after 0.031 sec ... [OK]
HOST: Generated number: 30812
MBED: Your value was: 30812
HOST: Number 30812 read after 0.047 sec ... [OK]
HOST: Generated number: 84634
MBED: Your value was: 84634
HOST: Number 84634 read after 0.031 sec ... [OK]
HOST: Generated number: -88020
MBED: Your value was: -88020
HOST: Number -88020 read after 0.047 sec ... [OK]
HOST: Generated number: 24709
MBED: Your value was: 24709
HOST: Number 24709 read after 0.031 sec ... [OK]
HOST: Generated number: 6023
MBED: Your value was: 6023
HOST: Number 6023 read after 0.047 sec ... [OK]
HOST: Generated number: 37272
MBED: Your value was: 37272
HOST: Number 37272 read after 0.031 sec ... [OK]
HOST: Generated number: -46512
MBED: Your value was: -46512
HOST: Number -46512 read after 0.047 sec ... [OK]


{{success}}

{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_2::stdio [OK] in 1.74 of 20 sec
Building project TICKER_2 (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_23\ticker_2.bin" -p COM12 -t 15 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Property 'timeout' = '15'
HOST: Property 'host_test_name' = 'wait_us_auto'
HOST: Property 'description' = 'Ticker Int us'
HOST: Property 'test_id' = 'MBED_23'
HOST: Start test...
* in 0.98 sec (0.02) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 0.98 sec (0.02) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 0.98 sec (0.02) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 0.98 sec (0.02) [OK]
Consecutive OK timer reads: 10
Completed in 9.92 sec


{{success}}

{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_23::Ticker Int us [OK] in 12.30 of 15 sec
Building project TIMEOUT (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_24\timeout.bin" -p COM12 -t 15 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Property 'timeout' = '15'
HOST: Property 'host_test_name' = 'wait_us_auto'
HOST: Property 'description' = 'Timeout Int us'
HOST: Property 'test_id' = 'MBED_24'
HOST: Start test...
* in 1.03 sec (0.03) [OK]
* in 1.04 sec (0.04) [OK]
* in 1.05 sec (0.05) [OK]
* in 1.03 sec (0.03) [OK]
* in 1.05 sec (0.05) [OK]
* in 1.04 sec (0.04) [OK]
* in 1.05 sec (0.05) [OK]
* in 1.03 sec (0.03) [OK]
* in 1.05 sec (0.05) [OK]
* in 1.05 sec (0.05) [OK]
Consecutive OK timer reads: 10
Completed in 10.41 sec


{{success}}

{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_24::Timeout Int us [OK] in 12.80 of 15 sec
Building project TIME_US (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_25\time_us.bin" -p COM12 -t 15 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Property 'timeout' = '15'
HOST: Property 'host_test_name' = 'wait_us_auto'
HOST: Property 'description' = 'Time us'
HOST: Property 'test_id' = 'MBED_25'
HOST: Start test...
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
* in 1.00 sec (0.00) [OK]
Consecutive OK timer reads: 10
Completed in 9.98 sec


{{success}}

{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_25::Time us [OK] in 12.33 of 15 sec
Building project DIV (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_26\div.bin" -p COM12 -t 10 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
...port ready!
HOST: Reset target...
HOST: Property 'timeout' = '20'
HOST: Property 'host_test_name' = 'default_auto'
HOST: Property 'description' = 'Integer constant division'
HOST: Property 'test_id' = 'MBED_26'
HOST: Start test...
64bit: 0x7FFFFFFF8: expected 0x55555555 got 0x55555555 ... [OK]

64bit: 0x17FFFFFFE8: expected 0xFFFFFFFF got 0xFFFFFFFF ... [OK]

{{success}}
{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_26::Integer constant division [OK] in 2.40 of 20 sec
Building project TICKER_3 (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_34\ticker_3.bin" -p COM12 -t 15 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
...port ready!
HOST: Reset target...
HOST: Property 'timeout' = '20'
HOST: Property 'host_test_name' = 'default_auto'
HOST: Property 'description' = 'Integer constant division'
HOST: Property 'test_id' = 'MBED_26'
HOST: Start test...
64bit: 0x7FFFFFFF8: expected 0x55555555 got 0x55555555 ... [OK]

64bit: 0x17FFFFFFE8: expected 0xFFFFFFFF got 0xFFFFFFFF ... [OK]

{{success}}
{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_34::Ticker Two callbacks [OK] in 2.39 of 20 sec
Building project BASIC (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_A1\basic.bin" -p COM12 -t 10 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Property 'timeout' = '20'
HOST: Property 'host_test_name' = 'default_auto'
HOST: Property 'description' = 'Basic'
HOST: Property 'test_id' = 'MBED_A1'
HOST: Start test...
{{success}}
{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_A1::Basic [OK] in 2.48 of 20 sec
Building project CALL_BEFORE_MAIN (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_A21\call_before_main.bin" -p COM12 -t 10 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Unknown property: MBED: mbed_main() call before main()
HOST: Property 'timeout' = '20'
HOST: Property 'host_test_name' = 'default_auto'
HOST: Property 'description' = 'Call function mbed_main before main'
HOST: Property 'test_id' = 'MBED_A21'
HOST: Start test...
MBED: main() starts now!

{{success}}
{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_A21::Call function before main (mbed_main) [OK] in 2.45 of 20 sec
Building project ECHO (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_A9\echo.bin" -p COM12 -t 10 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Property 'timeout' = '20'
HOST: Property 'host_test_name' = 'echo'
HOST: Property 'description' = 'Serial Echo at 115200'
HOST: Property 'test_id' = 'MBED_A9'
HOST: Start test...
...port ready!
HOST: Starting the ECHO test
..................................................

{{success}}

{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_A9::Serial Echo at 115200 [OK] in 2.66 of 20 sec
Building project BUS_OUT (WIZwiki_W7500, uARM)
Executing 'python host_test.py -d H:\ -f "F:\WiznetGit_Repository\W7500_Miscellaneous\mbed-master\build\test\WIZwiki_W7500\uARM\MBED_BUSOUT\bus_out.bin" -p COM12 -t 15 -C 1.5 -m WIZwiki_W7500'
Test::Output::Start
MBED: Instrumentation: "COM12" and disk: "H:\"
HOST: Copy image onto target...
HOST: Initialize serial port...
........port ready!
HOST: Reset target...
HOST: Start test...
MBED: BusIn mask: 0xF

MBED: BusIn LED mask: 0xF

MBED: BusOut.bit[0] is connected

MBED: BusOut.bit[1] is connected

MBED: BusOut.bit[2] is connected

MBED: BusOut.bit[3] is connected

MBED: Blinking LEDs: 

AaBbCcDd

{{success}}
{{end}}
Test::Output::Finish
TargetTest::WIZwiki_W7500::uARM::MBED_BUSOUT::BusOut [OK] in 3.29 of 15 sec
Test summary:
+--------+---------------+-----------+-------------+---------------------------------------+--------------------+---------------+-------+
| Result | Target        | Toolchain | Test ID     | Test Description                      | Elapsed Time (sec) | Timeout (sec) | Loops |
+--------+---------------+-----------+-------------+---------------------------------------+--------------------+---------------+-------+
| OK     | WIZwiki_W7500 | uARM      | DTCT_1      | Simple detect test                    |        1.46        |       10      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | EXAMPLE_1   | /dev/null                             |        4.45        |       20      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_10     | Hello World                           |        1.34        |       5       |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_11     | Ticker Int                            |       12.29        |       15      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_12     | C++                                   |        2.4         |       10      |  1/1  |
| FAIL   | WIZwiki_W7500 | uARM      | MBED_16     | RTC                                   |        5.51        |       20      |  0/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_2      | stdio                                 |        1.74        |       20      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_23     | Ticker Int us                         |        12.3        |       15      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_24     | Timeout Int us                        |        12.8        |       15      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_25     | Time us                               |       12.33        |       15      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_26     | Integer constant division             |        2.4         |       20      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_34     | Ticker Two callbacks                  |        2.39        |       20      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_A1     | Basic                                 |        2.48        |       20      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_A21    | Call function before main (mbed_main) |        2.45        |       20      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_A9     | Serial Echo at 115200                 |        2.66        |       20      |  1/1  |
| OK     | WIZwiki_W7500 | uARM      | MBED_BUSOUT | BusOut                                |        3.29        |       15      |  1/1  |
+--------+---------------+-----------+-------------+---------------------------------------+--------------------+---------------+-------+
Result: 1 FAIL / 15 OK

Completed in 182.77 sec

Build successes:
  * uARM::WIZwiki_W7500


반응형