Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add Blackpill-F411CE #123

Merged
merged 9 commits into from
Jan 19, 2023
Merged

add Blackpill-F411CE #123

merged 9 commits into from
Jan 19, 2023

Conversation

JohnK1987
Copy link
Member

@JohnK1987 JohnK1987 commented Jan 15, 2023

Summary of changes

This PR will add Blackpill-F411CE as regular target to MbedOS.

Were done:

  • New clock configuration via system_clock_override.c just for Blacpill-F411CE
  • In TARGET_STM32F411xE\system_clock.c was modified SetSysClock_PLL_HSI to WEAK
  • New board specific files related to Pins
  • Upload method configuration
  • board specific configuration in targets.json file
  • a MCU page with Blackpill details (more in section Documentation bellow)

As a reference I used materials from Zoltan Hudak, who allow me that, thank you.

Impact of changes

I do not see any negative impact or impact to rest of MbedOS.

Migration actions required

N/A

Documentation

The board page is preped on my github repo and can be move after validation and merge of this PR - https://github.com/mbed-ce/mbed-os/wiki/MCU-Info-Page:-STM32F411xE


Pull request type

[X] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[] Covered by existing mbed-os tests (Greentea or Unittest)
[X] Tests / results supplied as part of this PR

I did tests for all enabled upload methods and Greentea test with HSE and also HSI clock source settings and only mbed-usb-device-basic failed in both cases. I do not have Nucleo-F411RE for verification, but I mentioned it on the board page and I am able to create an Issue about that (according to as we agree).

Greentea result for Blackpill-F411CE
C:\Users\User\MbedCE\MbedCE_Testerino\mbed-os\BUILD_GT_BLACKPILL_F411CE>ctest . --output-on-failure
Test project C:/Users/User/MbedCE/MbedCE_Testerino/mbed-os/BUILD_GT_BLACKPILL_F411CE
      Start  1: mbed-drivers-ticker
 1/71 Test  #1: mbed-drivers-ticker ............................   Passed   26.16 sec
      Start  2: mbed-usb-device-basic
 2/71 Test  #2: mbed-usb-device-basic ..........................***Failed   20.54 sec
Executing: mbedhtrun --skip-flashing -p COM3 -e C:/Users/User/MbedCE/MbedCE_Testerino/mbed-os/drivers/usb/tests/TESTS/usb_device/basic/../../host_tests -m BLACKPILL_F411CE --baud-rate=115200
[1673735002.44][HTST][INF] host test executor ver. 1.8.14
[1673735002.44][HTST][INF] copy image onto target... SKIPPED!
[1673735002.45][HTST][INF] starting host test process...
[1673735003.71][CONN][INF] starting connection process...
[1673735003.72][CONN][INF] notify event queue about extra 60 sec timeout for serial port pooling
[1673735003.72][CONN][INF] initializing serial port listener...
[1673735003.72][SERI][INF] using specified port 'COM3'
[1673735003.72][SERI][INF] serial(port=COM3, baudrate=115200, read_timeout=0.01, write_timeout=5)
[1673735003.72][HTST][INF] setting timeout to: 60 sec
[1673735003.72][SERI][INF] reset device using 'default' plugin...
[1673735003.97][SERI][INF] waiting 1.00 sec after reset
[1673735004.98][SERI][INF] wait for it...
[1673735004.99][SERI][TXD] mbedmbedmbedmbedmbedmbedmbedmbedmbedmbed
[1673735004.99][CONN][INF] sending up to 2 __sync packets (specified with --sync=2)
[1673735004.99][CONN][INF] sending preamble '4825a765-e507-470c-9c89-5f6a87f67f14'
[1673735004.99][SERI][TXD] {{__sync;4825a765-e507-470c-9c89-5f6a87f67f14}}
[1673735005.01][CONN][RXD] mbedmbedmbedmbedmbedmbedmbedmbed
[1673735005.01][CONN][RXD] >>> Running 13 test cases...
[1673735005.01][CONN][INF] found SYNC in stream: {{__sync;4825a765-e507-470c-9c89-5f6a87f67f14}} it is #0 sent, queued...
[1673735005.01][CONN][INF] found KV pair in stream: {{__version;1.3.0}}, queued...
[1673735005.01][CONN][INF] found KV pair in stream: {{__timeout;180}}, queued...
[1673735005.01][CONN][INF] found KV pair in stream: {{__host_test_name;pyusb_basic}}, queued...
[1673735005.01][CONN][INF] found KV pair in stream: {{__testcase_count;13}}, queued...
[1673735005.01][CONN][INF] found KV pair in stream: {{__testcase_name;usb control basic test}}, queued...
[1673735005.01][HTST][INF] sync KV found, uuid=4825a765-e507-470c-9c89-5f6a87f67f14, timestamp=1673735005.013710
[1673735005.01][HTST][INF] DUT greentea-client version: 1.3.0
[1673735005.01][HTST][INF] setting timeout to: 180 sec
[1673735005.01][HTST][INF] host test class: '<class 'pyusb_basic.PyusbBasicTest'>'
[1673735005.01][HTST][INF] host test setup() call...
[1673735005.01][HTST][INF] CALLBACKs updated
[1673735005.01][HTST][INF] host test detected: pyusb_basic
[1673735005.03][CONN][INF] found KV pair in stream: {{__testcase_name;usb control stall test}}, queued...
[1673735005.03][CONN][INF] found KV pair in stream: {{__testcase_name;usb control sizes test}}, queued...
[1673735005.03][CONN][INF] found KV pair in stream: {{__testcase_name;usb control stress test}}, queued...
[1673735005.03][CONN][INF] found KV pair in stream: {{__testcase_name;usb device reset test}}, queued...
[1673735005.05][CONN][INF] found KV pair in stream: {{__testcase_name;usb soft reconnection test}}, queued...
[1673735005.05][CONN][INF] found KV pair in stream: {{__testcase_name;usb repeated construction destruction test}}, queued...
[1673735005.05][CONN][INF] found KV pair in stream: {{__testcase_name;endpoint test data correctness}}, queued...
[1673735005.06][CONN][INF] found KV pair in stream: {{__testcase_name;endpoint test halt}}, queued...
[1673735005.06][CONN][INF] found KV pair in stream: {{__testcase_name;endpoint test parallel transfers}}, queued...
[1673735005.06][CONN][INF] found KV pair in stream: {{__testcase_name;endpoint test parallel transfers ctrl}}, queued...
[1673735005.06][CONN][INF] found KV pair in stream: {{__testcase_name;endpoint test abort}}, queued...
[1673735005.08][CONN][RXD]
[1673735005.08][CONN][RXD] >>> Running case #1: 'usb control basic test'...
[1673735005.08][CONN][INF] found KV pair in stream: {{__testcase_name;endpoint test data toggle reset}}, queued...
[1673735005.08][CONN][INF] found KV pair in stream: {{__testcase_start;usb control basic test}}, queued...
[1673735005.45][CONN][INF] found KV pair in stream: {{control_basic_test;0123456789 3368 517}}, queued...
[1673735005.53][SERI][TXD] {{pass;0}}
[1673735005.56][CONN][RXD] >>> 'usb control basic test': 1 passed, 0 failed
[1673735005.56][CONN][RXD] <greentea test suite>:0::PASS
[1673735005.56][CONN][RXD]
[1673735005.56][CONN][RXD] >>> Running case #2: 'usb control stall test'...
[1673735005.56][CONN][INF] found KV pair in stream: {{__testcase_finish;usb control basic test;1;0}}, queued...
[1673735005.56][CONN][INF] found KV pair in stream: {{__testcase_start;usb control stall test}}, queued...
[1673735005.91][CONN][INF] found KV pair in stream: {{control_stall_test;0123456789}}, queued...
[1673735005.93][SERI][TXD] {{pass;0}}
[1673735005.96][CONN][RXD] >>> 'usb control stall test': 1 passed, 0 failed
[1673735005.96][CONN][RXD] <greentea test suite>:0::PASS
[1673735005.96][CONN][RXD]
[1673735005.96][CONN][RXD] >>> Running case #3: 'usb control sizes test'...
[1673735005.96][CONN][INF] found KV pair in stream: {{__testcase_finish;usb control stall test;1;0}}, queued...
[1673735005.96][CONN][INF] found KV pair in stream: {{__testcase_start;usb control sizes test}}, queued...
[1673735006.30][CONN][INF] found KV pair in stream: {{control_sizes_test;0123456789}}, queued...
[1673735006.37][SERI][TXD] {{pass;0}}
[1673735006.38][CONN][INF] found KV pair in stream: {{__testcase_finish;usb control sizes test;1;0}}, queued...
[1673735006.40][CONN][RXD] >>> 'usb control sizes test': 1 passed, 0 failed
[1673735006.40][CONN][RXD] <greentea test suite>:0::PASS
[1673735006.40][CONN][RXD]
[1673735006.40][CONN][RXD] >>> Running case #4: 'usb control stress test'...
[1673735006.40][CONN][INF] found KV pair in stream: {{__testcase_start;usb control stress test}}, queued...
[1673735006.77][CONN][INF] found KV pair in stream: {{control_stress_test;0123456789}}, queued...
[1673735006.85][SERI][TXD] {{pass;0}}
[1673735006.88][CONN][RXD] >>> 'usb control stress test': 1 passed, 0 failed
[1673735006.88][CONN][RXD] <greentea test suite>:0::PASS
[1673735006.88][CONN][RXD]
[1673735006.88][CONN][RXD] >>> Running case #5: 'usb device reset test'...
[1673735006.88][CONN][INF] found KV pair in stream: {{__testcase_finish;usb control stress test;1;0}}, queued...
[1673735006.88][CONN][INF] found KV pair in stream: {{__testcase_start;usb device reset test}}, queued...
[1673735006.90][CONN][INF] found KV pair in stream: {{reset_support;0}}, queued...
<<< get_set_configuration_test >>>
device deconfigured - OK
configuration 1 set - OK
configuration 2 set - OK

<<< get_set_interface_test >>>
cfg(1) inteface 0.0 set - OK
cfg(1) inteface 0.1 set - OK
cfg(1) inteface 1.0 set - OK
cfg(1) inteface 1.1 set - OK
cfg(2) inteface 0.0 set - OK
cfg(2) inteface 0.1 set - OK
cfg(2) inteface 1.0 set - OK
cfg(2) inteface 1.1 set - OK

<<< get_status_test >>>
cfg(1) interface 0.0 status - OK
cfg(1) intf(0.0) endpoint 129 status - OK
cfg(1) intf(0.0) endpoint 1 status - OK
cfg(1) interface 0.1 status - OK
cfg(1) intf(0.1) endpoint 129 status - OK
cfg(1) intf(0.1) endpoint 1 status - OK
cfg(1) interface 1.0 status - OK
cfg(1) intf(1.0) endpoint 130 status - OK
cfg(1) intf(1.0) endpoint 2 status - OK
cfg(1) interface 1.1 status - OK
cfg(1) intf(1.1) endpoint 130 status - OK
cfg(1) intf(1.1) endpoint 2 status - OK
cfg(2) interface 0.0 status - OK
cfg(2) intf(0.0) endpoint 130 status - OK
cfg(2) intf(0.0) endpoint 2 status - OK
cfg(2) interface 0.1 status - OK
cfg(2) intf(0.1) endpoint 130 status - OK
cfg(2) intf(0.1) endpoint 2 status - OK
cfg(2) interface 1.0 status - OK
cfg(2) intf(1.0) endpoint 129 status - OK
cfg(2) intf(1.0) endpoint 1 status - OK
cfg(2) interface 1.1 status - OK
cfg(2) intf(1.1) endpoint 129 status - OK
cfg(2) intf(1.1) endpoint 1 status - OK

<<< set_clear_feature_test >>>
cfg(1) intf(0.0)   ep 129 halted - OK
cfg(1) intf(0.0)   ep 129 unhalted - OK
cfg(1) intf(0.0)   ep 1 halted - OK
cfg(1) intf(0.0)   ep 1 unhalted - OK
cfg(1) intf(0.1)   ep 129 halted - OK
cfg(1) intf(0.1)   ep 129 unhalted - OK
cfg(1) intf(0.1)   ep 1 halted - OK
cfg(1) intf(0.1)   ep 1 unhalted - OK
cfg(1) intf(1.0)   ep 130 halted - OK
cfg(1) intf(1.0)   ep 130 unhalted - OK
cfg(1) intf(1.0)   ep 2 halted - OK
cfg(1) intf(1.0)   ep 2 unhalted - OK
cfg(1) intf(1.1)   ep 130 halted - OK
cfg(1) intf(1.1)   ep 130 unhalted - OK
cfg(1) intf(1.1)   ep 2 halted - OK
cfg(1) intf(1.1)   ep 2 unhalted - OK
cfg(2) intf(0.0)   ep 130 halted - OK
cfg(2) intf(0.0)   ep 130 unhalted - OK
cfg(2) intf(0.0)   ep 2 halted - OK
cfg(2) intf(0.0)   ep 2 unhalted - OK
cfg(2) intf(0.1)   ep 130 halted - OK
cfg(2) intf(0.1)   ep 130 unhalted - OK
cfg(2) intf(0.1)   ep 2 halted - OK
cfg(2) intf(0.1)   ep 2 unhalted - OK
cfg(2) intf(1.0)   ep 129 halted - OK
cfg(2) intf(1.0)   ep 129 unhalted - OK
cfg(2) intf(1.0)   ep 1 halted - OK
cfg(2) intf(1.0)   ep 1 unhalted - OK
cfg(2) intf(1.1)   ep 129 halted - OK
cfg(2) intf(1.1)   ep 129 unhalted - OK
cfg(2) intf(1.1)   ep 1 halted - OK
cfg(2) intf(1.1)   ep 1 unhalted - OK

<<< get_descriptor_test >>>
interface descriptor is not directly accessible - OK
endpoint descriptor is not directly accessible - OK

<<< set_descriptor_test >>>
SET_DESCRIPTOR is unsupported - OK

<<< control_stall_test >>>
Invalid request stalled - OK
Invalid request stalled - OK
Invalid request stalled - OK
Invalid request stalled - OK
Requesting string 6 failed - OK
Requesting string 7 failed - OK

[1673735006.90][HTST][INF] Reset supported: true
[1673735006.91][SERI][TXD] {{placeholder;true}}
[1673735007.24][CONN][INF] found KV pair in stream: {{device_reset_test;0123456789}}, queued...
[1673735007.44][SERI][TXD] {{pass;0}}
[1673735007.46][CONN][INF] found KV pair in stream: {{device_reset_test;0123456789}}, queued...
[1673735007.99][SERI][TXD] {{pass;0}}
[1673735008.01][CONN][INF] found KV pair in stream: {{device_reset_test;0123456789}}, queued...
[1673735008.53][SERI][TXD] {{pass;0}}
[1673735008.55][CONN][INF] found KV pair in stream: {{device_reset_test;0123456789}}, queued...
[1673735008.89][SERI][TXD] {{pass;0}}
[1673735008.92][CONN][RXD] >>> 'usb device reset test': 1 passed, 0 failed
[1673735008.92][CONN][RXD] <greentea test suite>:0::PASS
[1673735008.92][CONN][RXD]
[1673735008.92][CONN][RXD] >>> Running case #6: 'usb soft reconnection test'...
[1673735008.92][CONN][INF] found KV pair in stream: {{__testcase_finish;usb device reset test;1;0}}, queued...
[1673735008.94][CONN][INF] found KV pair in stream: {{__testcase_start;usb soft reconnection test}}, queued...
[1673735009.27][CONN][INF] found KV pair in stream: {{device_soft_reconnection_test;0123456789}}, queued...
[1673735009.28][SERI][TXD] {{pass;0}}
[1673735009.31][CONN][INF] found KV pair in stream: {{device_soft_reconnection_test;0123456789}}, queued...
[1673735009.66][SERI][TXD] {{pass;0}}
[1673735009.69][CONN][INF] found KV pair in stream: {{device_soft_reconnection_test;0123456789}}, queued...
[1673735010.04][SERI][TXD] {{pass;0}}
[1673735010.07][CONN][INF] found KV pair in stream: {{device_soft_reconnection_test;0123456789}}, queued...
[1673735010.53][SERI][TXD] {{pass;0}}
[1673735010.61][CONN][INF] found KV pair in stream: {{device_soft_reconnection_test;0123456789}}, queued...
[1673735011.06][SERI][TXD] {{pass;0}}
[1673735011.09][CONN][RXD] >>> 'usb soft reconnection test': 1 passed, 0 failed
[1673735011.09][CONN][RXD] <greentea test suite>:0::PASS
[1673735011.09][CONN][RXD]
[1673735011.09][CONN][RXD] >>> Running case #7: 'usb repeated construction destruction test'...
[1673735011.09][CONN][INF] found KV pair in stream: {{__testcase_finish;usb soft reconnection test;1;0}}, queued...
[1673735011.11][CONN][INF] found KV pair in stream: {{__testcase_start;usb repeated construction destruction test}}, queued...
[1673735012.51][CONN][INF] found KV pair in stream: {{repeated_construction_destruction_test;0123456789}}, queued...
[1673735012.52][SERI][TXD] {{pass;0}}
[1673735012.88][CONN][INF] found KV pair in stream: {{repeated_construction_destruction_test;0123456789}}, queued...
[1673735012.90][SERI][TXD] {{pass;0}}
[1673735013.29][CONN][INF] found KV pair in stream: {{repeated_construction_destruction_test;0123456789}}, queued...
[1673735013.31][SERI][TXD] {{pass;0}}
[1673735013.34][CONN][RXD] >>> 'usb repeated construction destruction test': 1 passed, 0 failed
[1673735013.34][CONN][RXD] <greentea test suite>:0::PASS
[1673735013.34][CONN][RXD]
[1673735013.34][CONN][INF] found KV pair in stream: {{__testcase_finish;usb repeated construction destruction test;1;0}}, queued...
[1673735013.35][CONN][RXD] >>> Running case #8: 'endpoint test data correctness'...
[1673735013.35][CONN][INF] found KV pair in stream: {{__testcase_start;endpoint test data correctness}}, queued...
[1673735013.70][CONN][INF] found KV pair in stream: {{ep_test_data_correctness;0123456789}}, queued...
[1673735013.97][SERI][TXD] {{pass;0}}
[1673735014.00][CONN][RXD] >>> 'endpoint test data correctness': 1 passed, 0 failed
[1673735014.00][CONN][RXD] <greentea test suite>:0::PASS
[1673735014.00][CONN][RXD]
[1673735014.00][CONN][RXD] >>> Running case #9: 'endpoint test halt'...
[1673735014.00][CONN][INF] found KV pair in stream: {{__testcase_finish;endpoint test data correctness;1;0}}, queued...
[1673735014.00][CONN][INF] found KV pair in stream: {{__testcase_start;endpoint test halt}}, queued...
[1673735014.33][CONN][INF] found KV pair in stream: {{ep_test_halt;0123456789}}, queued...
interface 0, alt 0 -- skipping the default AlternateSetting
interface 0, alt 1 -- running tests
interface 0, alt 2 -- running tests
interface 0, alt 3 -- running tests
interface 0, alt 4 -- running tests
interface 0, alt 0 -- skipping the default AlternateSetting
interface 0, alt 1 -- running tests
Endpoint 0x81 halt failed (USBError(None, b'libusb0-dll:err [control_msg] sending control message failed, win error: Vstupn\xec-v\xfdstupn\xed operace 
byla p\xf8eru\x9aena bu\xef z d\xf9vodu ukon\xe8en\xed vl\xe1kna, nebo na \x9e\xe1dost aplikace.\r\n\n')).
[1673735017.52][HTST][INF] TEST FAILED: [C:\Users\User\MbedCE\MbedCE_Testerino\mbed-os\drivers\usb\tests\TESTS\host_tests\pyusb_basic.py]:1016, Halting endpoint 0x81 failed
[1673735017.54][SERI][TXD] {{fail;0}}
[1673735017.56][CONN][RXD] <greentea test suite>:275::FAIL: Expected 'pass' Was 'fail'
[1673735017.56][CONN][INF] found KV pair in stream: {{__testcase_finish;endpoint test halt;0;1}}, queued...
[1673735017.57][CONN][RXD] >>> 'endpoint test halt': 0 passed, 1 failed with reason 'Assertion Failed'
[1673735017.57][CONN][RXD]
[1673735017.57][CONN][RXD]
[1673735017.57][CONN][RXD] >>> Test cases: 8 passed, 1 failed with reason 'Assertion Failed'
[1673735017.57][CONN][RXD] >>> TESTS FAILED!
[1673735017.57][CONN][RXD]
[1673735017.57][CONN][RXD] -----------------------
[1673735017.57][CONN][RXD] 0 Tests 1 Failures 0 Ignored
[1673735017.57][CONN][RXD] FAIL
[1673735017.58][CONN][INF] found KV pair in stream: {{__testcase_summary;8;1}}, queued...
[1673735017.59][CONN][INF] found KV pair in stream: {{end;failure}}, queued...
[1673735017.59][CONN][INF] found KV pair in stream: {{__exit;0}}, queued...
[1673735017.59][HTST][INF] __exit(0)
[1673735017.59][HTST][INF] __notify_complete(False)
[1673735017.59][HTST][INF] __exit_event_queue received
[1673735017.59][HTST][INF] test suite run finished after 12.57 sec...
[1673735017.60][CONN][INF] received special event '__host_test_finished' value='True', finishing
[1673735017.73][HTST][INF] CONN exited with code: 0
[1673735017.73][HTST][INF] Some events in queue
[1673735017.73][HTST][INF] stopped consuming events
[1673735017.73][HTST][INF] host test result() call skipped, received: False
[1673735017.73][HTST][INF] calling blocking teardown()
[1673735017.73][HTST][INF] teardown() finished
[1673735017.73][HTST][INF] {{result;failure}}
CMake Error at mbed-run-greentea-mbed-usb-device-basic.cmake:20 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 1"

      Start  3: mbed-usb-device-hid
 3/71 Test  #3: mbed-usb-device-hid ............................   Passed   16.69 sec
      Start  4: mbed-usb-device-msd
 4/71 Test  #4: mbed-usb-device-msd ............................   Passed   80.64 sec
      Start  5: mbed-usb-device-serial
 5/71 Test  #5: mbed-usb-device-serial .........................   Passed   28.80 sec
      Start  6: mbed-hal-common-tickers
 6/71 Test  #6: mbed-hal-common-tickers ........................   Passed    7.34 sec
      Start  7: mbed-hal-common-tickers-freq
 7/71 Test  #7: mbed-hal-common-tickers-freq ...................   Passed   14.79 sec
      Start  8: mbed-hal-crc
 8/71 Test  #8: mbed-hal-crc ...................................***Skipped   0.02 sec
      Start  9: mbed-hal-critical-section
 9/71 Test  #9: mbed-hal-critical-section ......................   Passed    7.44 sec
      Start 10: mbed-hal-flash-functional-tests
10/71 Test #10: mbed-hal-flash-functional-tests ................   Passed   10.53 sec
      Start 11: mbed-hal-lp-ticker
11/71 Test #11: mbed-hal-lp-ticker .............................***Skipped   0.02 sec
      Start 12: mbed-hal-minimum-requirements
12/71 Test #12: mbed-hal-minimum-requirements ..................   Passed    6.83 sec
      Start 13: mbed-hal-mpu
13/71 Test #13: mbed-hal-mpu ...................................   Passed    6.90 sec
      Start 14: mbed-hal-ospi
14/71 Test #14: mbed-hal-ospi ..................................***Skipped   0.02 sec
      Start 15: mbed-hal-pinmap
15/71 Test #15: mbed-hal-pinmap ................................   Passed    7.21 sec
      Start 16: mbed-hal-qspi
16/71 Test #16: mbed-hal-qspi ..................................***Skipped   0.02 sec
      Start 17: mbed-hal-reset-reason
17/71 Test #17: mbed-hal-reset-reason ..........................   Passed   11.59 sec
      Start 18: mbed-hal-rtc
18/71 Test #18: mbed-hal-rtc ...................................   Passed   41.28 sec
      Start 19: mbed-hal-rtc-reset
19/71 Test #19: mbed-hal-rtc-reset .............................   Passed   15.09 sec
      Start 20: mbed-hal-rtc-time
20/71 Test #20: mbed-hal-rtc-time ..............................   Passed    9.18 sec
      Start 21: mbed-hal-rtc-time-conv
21/71 Test #21: mbed-hal-rtc-time-conv .........................   Passed   16.27 sec
      Start 22: mbed-hal-sleep
22/71 Test #22: mbed-hal-sleep .................................   Passed    8.16 sec
      Start 23: mbed-hal-sleep-manager
23/71 Test #23: mbed-hal-sleep-manager .........................   Passed    7.23 sec
      Start 24: mbed-hal-sleep-manager-racecondition
24/71 Test #24: mbed-hal-sleep-manager-racecondition ...........   Passed   19.60 sec
      Start 25: mbed-hal-stack-size-unification
25/71 Test #25: mbed-hal-stack-size-unification ................   Passed    7.02 sec
      Start 26: mbed-hal-ticker
26/71 Test #26: mbed-hal-ticker ................................   Passed    9.75 sec
      Start 27: mbed-hal-trng
27/71 Test #27: mbed-hal-trng ..................................***Skipped   0.02 sec
      Start 28: mbed-hal-us-ticker
28/71 Test #28: mbed-hal-us-ticker .............................   Passed    6.94 sec
      Start 29: mbed-hal-watchdog
29/71 Test #29: mbed-hal-watchdog ..............................   Passed   10.38 sec
      Start 30: mbed-hal-watchdog-reset
30/71 Test #30: mbed-hal-watchdog-reset ........................   Passed   14.65 sec
      Start 31: mbed-hal-watchdog-timing
31/71 Test #31: mbed-hal-watchdog-timing .......................   Passed   32.67 sec
      Start 32: mbed-hal-verify-arduino-pinmap
32/71 Test #32: mbed-hal-verify-arduino-pinmap .................***Skipped   0.02 sec
      Start 33: mbed-platform-mbed-functional-callback
33/71 Test #33: mbed-platform-mbed-functional-callback .........   Passed    7.35 sec
      Start 34: mbed-platform-mbed-functional-callback-big
34/71 Test #34: mbed-platform-mbed-functional-callback-big .....   Passed    8.07 sec
      Start 35: mbed-platform-mbed-functional-callback-small
35/71 Test #35: mbed-platform-mbed-functional-callback-small ...   Passed    7.28 sec
      Start 36: mbed-platform-mbed-micro-attributes
36/71 Test #36: mbed-platform-mbed-micro-attributes ............   Passed    7.07 sec
      Start 37: mbed-platform-mbed-micro-call-before-main
37/71 Test #37: mbed-platform-mbed-micro-call-before-main ......   Passed    7.06 sec
      Start 38: mbed-platform-mbed-micro-cpp
38/71 Test #38: mbed-platform-mbed-micro-cpp ...................   Passed    7.30 sec
      Start 39: mbed-platform-mbed-micro-div
39/71 Test #39: mbed-platform-mbed-micro-div ...................   Passed    6.78 sec
      Start 40: mbed-platform-mbed-micro-static-assert
40/71 Test #40: mbed-platform-mbed-micro-static-assert .........   Passed    6.79 sec
      Start 41: mbed-platform-atomic
41/71 Test #41: mbed-platform-atomic ...........................   Passed   12.43 sec
      Start 42: mbed-platform-circular-buffer
42/71 Test #42: mbed-platform-circular-buffer ..................   Passed    7.75 sec
      Start 43: mbed-platform-crash-reporting
43/71 Test #43: mbed-platform-crash-reporting ..................***Skipped   0.03 sec
      Start 44: mbed-platform-error-handling
44/71 Test #44: mbed-platform-error-handling ...................   Passed    6.97 sec
      Start 45: mbed-platform-filehandle
45/71 Test #45: mbed-platform-filehandle .......................   Passed   10.38 sec
      Start 46: mbed-platform-minimal-printf-compliance
46/71 Test #46: mbed-platform-minimal-printf-compliance ........   Passed    8.05 sec
      Start 47: mbed-platform-sharedptr
47/71 Test #47: mbed-platform-sharedptr ........................   Passed    6.87 sec
      Start 48: mbed-platform-singletonptr
48/71 Test #48: mbed-platform-singletonptr .....................   Passed    7.23 sec
      Start 49: mbed-platform-stream
49/71 Test #49: mbed-platform-stream ...........................   Passed   10.11 sec
      Start 50: mbed-platform-system-reset
50/71 Test #50: mbed-platform-system-reset .....................   Passed    7.87 sec
      Start 51: mbed-platform-transaction
51/71 Test #51: mbed-platform-transaction ......................   Passed    6.97 sec
      Start 52: mbed-platform-wait-ns
52/71 Test #52: mbed-platform-wait-ns ..........................   Passed    8.16 sec
      Start 53: mbed-platform-stats-cpu
53/71 Test #53: mbed-platform-stats-cpu ........................***Skipped   0.02 sec
      Start 54: mbed-platform-stats-heap
54/71 Test #54: mbed-platform-stats-heap .......................***Skipped   0.02 sec
      Start 55: mbed-platform-stats-sys
55/71 Test #55: mbed-platform-stats-sys ........................***Skipped   0.02 sec
      Start 56: mbed-platform-stats-thread
56/71 Test #56: mbed-platform-stats-thread .....................***Skipped   0.02 sec
      Start 57: mbed-rtos-basic
57/71 Test #57: mbed-rtos-basic ................................   Passed   14.61 sec
      Start 58: mbed-rtos-condition-variable
58/71 Test #58: mbed-rtos-condition-variable ...................   Passed    7.07 sec
      Start 59: mbed-rtos-event-flags
59/71 Test #59: mbed-rtos-event-flags ..........................   Passed    8.25 sec
      Start 60: mbed-rtos-heap-and-stack
60/71 Test #60: mbed-rtos-heap-and-stack .......................   Passed    7.04 sec
      Start 61: mbed-rtos-kernel-tick-count
61/71 Test #61: mbed-rtos-kernel-tick-count ....................   Passed    8.84 sec
      Start 62: mbed-rtos-mail
62/71 Test #62: mbed-rtos-mail .................................   Passed    8.17 sec
      Start 63: mbed-rtos-malloc
63/71 Test #63: mbed-rtos-malloc ...............................   Passed   27.29 sec
      Start 64: mbed-rtos-memorypool
64/71 Test #64: mbed-rtos-memorypool ...........................   Passed    7.89 sec
      Start 65: mbed-rtos-mutex
65/71 Test #65: mbed-rtos-mutex ................................   Passed    9.52 sec
      Start 66: mbed-rtos-queue
66/71 Test #66: mbed-rtos-queue ................................   Passed    7.95 sec
      Start 67: mbed-rtos-semaphore
67/71 Test #67: mbed-rtos-semaphore ............................   Passed   10.94 sec
      Start 68: mbed-rtos-signals
68/71 Test #68: mbed-rtos-signals ..............................   Passed    8.19 sec
      Start 69: mbed-rtos-systimer
69/71 Test #69: mbed-rtos-systimer .............................   Passed    7.56 sec
      Start 70: mbed-rtos-threads
70/71 Test #70: mbed-rtos-threads ..............................   Passed    9.94 sec
      Start 71: mbed-connectivity-nfc-eeprom
71/71 Test #71: mbed-connectivity-nfc-eeprom ...................***Skipped   0.02 sec

99% tests passed, 1 tests failed out of 71

Total Test time (real) = 742.39 sec

The following tests did not run:
          8 - mbed-hal-crc (Skipped)
         11 - mbed-hal-lp-ticker (Skipped)
         14 - mbed-hal-ospi (Skipped)
         16 - mbed-hal-qspi (Skipped)
         27 - mbed-hal-trng (Skipped)
         32 - mbed-hal-verify-arduino-pinmap (Skipped)
         43 - mbed-platform-crash-reporting (Skipped)
         53 - mbed-platform-stats-cpu (Skipped)
         54 - mbed-platform-stats-heap (Skipped)
         55 - mbed-platform-stats-sys (Skipped)
         56 - mbed-platform-stats-thread (Skipped)
         71 - mbed-connectivity-nfc-eeprom (Skipped)

The following tests FAILED:
          2 - mbed-usb-device-basic (Failed)
Errors while running CTest

Unfortunately I do not have CI shield so I can not do also this test, but I will try to fix this in the future.


Reviewers

@multiplemonomials @JojoS62

@multiplemonomials
Copy link
Collaborator

Nice work on the info page! Just three comments:

  • You can probably remove the clocking config section since, for a dev board with a pre-setup clock, it's unlikely that a user would need to change it. Or, alternately, it should be modified to make it clearer that it applies to custom boards with the STM32F411, rather than the blackpill itself
  • Could we get a diagram or photo showing how to hookup an ST-Link to the blackpill in such a way that the reset, SWD, and serial lines are connected? That way users have a fighting change at using the ST-Link upload method
  • Were you able to load binaries onto the board using its bootloader? If so, should probably have some instructions on how to do that (and maybe in the future a new upload method should get added). If not, we should have a warning that an external ST-Link is required.

@multiplemonomials
Copy link
Collaborator

Also, the info page should probably mention the target.console-usb option. Like, say something like:

If you don't have a UART to USB adapter handy, and you aren't using the USB port in your code, you can also have the board send console output over its own USB port. Just drop the following target overrides into your mbed-app.json:

"target.console-uart": false,
"target.console-usb": true

Copy link
Collaborator

@multiplemonomials multiplemonomials left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Great to see a new board being added

Just a few minor things to go through.

targets/upload_method_cfg/BLACKPILL_F411CE.cmake Outdated Show resolved Hide resolved
targets/upload_method_cfg/BLACKPILL_F411CE.cmake Outdated Show resolved Hide resolved
targets/targets.json Show resolved Hide resolved
Correcting the wrong name in the Note2 about pyOCD.
Updated notes - an external debugger is required
@JohnK1987
Copy link
Member Author

JohnK1987 commented Jan 16, 2023

@multiplemonomials thank you for your feedback,

  • You can probably remove the clocking config section since, for a dev board with a pre-setup clock, it's unlikely that a user would need to change it. Or, alternately, it should be modified to make it clearer that it applies to custom boards with the STM32F411, rather than the blackpill itself

To be honest I took your https://github.com/mbed-ce/mbed-os/wiki/MCU-Info-Page:-STM32L452xE as an example. So I guess I misunderstood.

I make it like:

  • MCU page
  • MCU overview
  • List of dev-boards based on that MCU
  • Details for supported dev-boards, but because I do not have rest dev-boards, then I filled just Blackpill. The rest could be added anytime.

Ok, I did some reduction just to basic information, on the page.

Were you able to load binaries onto the board using its bootloader? If so, should probably have some instructions on how to do that (and maybe in the future a new upload method should get added). If not, we should have a warning that an external ST-Link is required.

Yes, I was able to upload MbedCE_app.bin file via STM32CubeProgrammer and STM32 Bootloader (DFU). But I am not sure about this like build-in upload method, you still need to switch the MCU to DFU manually, then there is no point to have it build-in your Build system because it will never work automatically. However I definitely agree with description about how to do that.

Could we get a diagram or photo showing how to hookup an ST-Link to the blackpill in such a way that the reset, SWD, and serial lines are connected? That way users have a fighting change at using the ST-Link upload method

This answer will be related to more point across your feedback.
I do not want to make too much Blackpill specific content because Bluepill will be same, and another similar boards also could be. So I want to make another page where will be generic information about this. As a starting point a made this (was already linked on in Blackpill information ). I am still not happy with that, but it is just for start now.

Also, the info page should probably mention the target.console-usb option. Like, say something like:

If you don't have a UART to USB adapter handy, and you aren't using the USB port in your code, you can also have the board send console output over its own USB port. Just drop the following target overrides into your mbed-app.json:

"target.console-uart": false,
"target.console-usb": true

Very good point I forgot on that! I will fill it probably to generic page again like the SWO.

BR, Jan

@multiplemonomials
Copy link
Collaborator

Code looks good, just waiting on info page updates then I'll approve and merge!

@JohnK1987
Copy link
Member Author

JohnK1987 commented Jan 18, 2023

@multiplemonomials I did some changes, please make review
https://github.com/mbed-ce/mbed-os/wiki/STM32-Deploy&Debug

@multiplemonomials
Copy link
Collaborator

OK looks good, go ahead and move those onto the wiki!

@multiplemonomials multiplemonomials merged commit 54f0642 into mbed-ce:master Jan 19, 2023
@JohnK1987
Copy link
Member Author

Ok, it is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants