Skip to content

OLIMEX_STM32E407_F407ZG: Added new target platform #11648

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

Merged
merged 3 commits into from
Oct 18, 2019

Conversation

rohfle
Copy link
Contributor

@rohfle rohfle commented Oct 8, 2019

Description

Added Olimex STM32-E407 (STM32F407ZG) evaluation board as target.
USB, UART, External HS XTAL (12MHz) and Ethernet are all working correctly.

Overview

  • Generated pinout information based on instructions here
  • Changed the STDIO UART pins in /targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F407xG/TARGET_OLIMEX_STM32E407_F407ZG/PinNames.h
  • Copied and changed the ethernet pinout under features/netsocket/emac-drivers/TARGET_STM_EMAC/
  • Removed a few pins that are not used (USB SOF, Ethernet RX ER)
  • Added an entry in targets/targets.json for the board
  • Set External HS XTAL frequency (HSE_VALUE) to 12MHz in targets/targets.json

Testing

Followed instructions here: https://os.mbed.com/docs/mbed-os/v5.14/porting/manual-testing.html#creating-GDB-pyOCD-debug-configuration

[1570592785.73][HTST][INF] host test executor ver. 0.0.9
[1570592785.73][HTST][INF] copy image onto target... SKIPPED!
[1570592785.73][HTST][INF] starting host test process...
[1570592785.74][CONN][INF] starting connection process...
[1570592785.74][CONN][INF] notify event queue about extra 60 sec timeout for serial port pooling
[1570592785.74][CONN][INF] initializing serial port listener... 
[1570592785.74][HTST][INF] setting timeout to: 60 sec
[1570592785.74][SERI][INF] serial(port=/dev/ttyUSB0, baudrate=9600, read_timeout=0.01, write_timeout=5)
[1570592785.74][SERI][TXD] mbedmbedmbedmbedmbedmbedmbedmbedmbedmbed
[1570592785.74][CONN][INF] sending up to 2 __sync packets (specified with --sync=2)
[1570592785.74][CONN][INF] sending preamble 'a18df6ef-8384-462b-a8fa-dfcf47e04292'
[1570592785.74][SERI][TXD] {{__sync;a18df6ef-8384-462b-a8fa-dfcf47e04292}}
[1570592785.88][CONN][RXD] mbedmbedmbedmbedmbedmbedmbedmbed
[1570592785.93][CONN][INF] found SYNC in stream: {{__sync;a18df6ef-8384-462b-a8fa-dfcf47e04292}} it is #0 sent, queued...
[1570592785.93][HTST][INF] sync KV found, uuid=a18df6ef-8384-462b-a8fa-dfcf47e04292, timestamp=1570592785.929934
[1570592785.96][CONN][INF] found KV pair in stream: {{__version;1.3.0}}, queued...
[1570592785.96][HTST][INF] DUT greentea-client version: 1.3.0
[1570592785.97][CONN][INF] found KV pair in stream: {{__timeout;80}}, queued...
[1570592785.97][HTST][INF] setting timeout to: 80 sec
[1570592786.00][CONN][INF] found KV pair in stream: {{__host_test_name;default_auto}}, queued...
[1570592786.01][HTST][INF] host test class: '<class 'mbed_os_tools.test.host_tests.default_auto.DefaultAuto'>'
[1570592786.01][HTST][INF] host test setup() call...
[1570592786.01][HTST][INF] CALLBACKs updated
[1570592786.01][HTST][INF] host test detected: default_auto
[1570592786.04][CONN][RXD] >>> Running 18 test cases...
[1570592786.12][CONN][INF] found KV pair in stream: {{__testcase_name;Microsecond ticker init is safe to call repeatedly}}, queued...
[1570592786.17][CONN][INF] found KV pair in stream: {{__testcase_name;Microsecond ticker info test}}, queued...
[1570592786.21][CONN][INF] found KV pair in stream: {{__testcase_name;Microsecond ticker interrupt test}}, queued...
[1570592786.28][CONN][INF] found KV pair in stream: {{__testcase_name;Microsecond ticker past interrupt test}}, queued...
[1570592786.34][CONN][INF] found KV pair in stream: {{__testcase_name;Microsecond ticker reschedule test}}, queued...
[1570592786.40][CONN][INF] found KV pair in stream: {{__testcase_name;Microsecond ticker fire interrupt}}, queued...
[1570592786.45][CONN][INF] found KV pair in stream: {{__testcase_name;Microsecond ticker overflow test}}, queued...
[1570592786.52][CONN][INF] found KV pair in stream: {{__testcase_name;Microsecond ticker increment test}}, queued...
[1570592786.57][CONN][INF] found KV pair in stream: {{__testcase_name;Microsecond ticker speed test}}, queued...
[1570592786.63][CONN][INF] found KV pair in stream: {{__testcase_name;lp ticker init is safe to call repeatedly}}, queued...
[1570592786.67][CONN][INF] found KV pair in stream: {{__testcase_name;lp ticker info test}}, queued...
[1570592786.73][CONN][INF] found KV pair in stream: {{__testcase_name;lp ticker interrupt test}}, queued...
[1570592786.78][CONN][INF] found KV pair in stream: {{__testcase_name;lp ticker past interrupt test}}, queued...
[1570592786.82][CONN][INF] found KV pair in stream: {{__testcase_name;lp ticker reschedule test}}, queued...
[1570592786.87][CONN][INF] found KV pair in stream: {{__testcase_name;lp ticker fire interrupt}}, queued...
[1570592786.92][CONN][INF] found KV pair in stream: {{__testcase_name;lp ticker overflow test}}, queued...
[1570592786.96][CONN][INF] found KV pair in stream: {{__testcase_name;lp ticker increment test}}, queued...
[1570592787.01][CONN][RXD] 
[1570592787.02][CONN][INF] found KV pair in stream: {{__testcase_name;lp ticker speed test}}, queued...
[1570592787.10][CONN][RXD] >>> Running case #1: 'Microsecond ticker init is safe to call repeatedly'...
[1570592787.17][CONN][INF] found KV pair in stream: {{__testcase_start;Microsecond ticker init is safe to call repeatedly}}, queued...
[1570592787.26][CONN][INF] found KV pair in stream: {{__testcase_finish;Microsecond ticker init is safe to call repeatedly;1;0}}, queued...
[1570592787.34][CONN][RXD] >>> 'Microsecond ticker init is safe to call repeatedly': 1 passed, 0 failed
[1570592787.34][CONN][RXD] 
[1570592787.38][CONN][RXD] >>> Running case #2: 'Microsecond ticker info test'...
[1570592787.44][CONN][INF] found KV pair in stream: {{__testcase_start;Microsecond ticker info test}}, queued...
[1570592787.50][CONN][INF] found KV pair in stream: {{__testcase_finish;Microsecond ticker info test;1;0}}, queued...
[1570592787.56][CONN][RXD] >>> 'Microsecond ticker info test': 1 passed, 0 failed
[1570592787.56][CONN][RXD] 
[1570592787.62][CONN][RXD] >>> Running case #3: 'Microsecond ticker interrupt test'...
[1570592787.69][CONN][INF] found KV pair in stream: {{__testcase_start;Microsecond ticker interrupt test}}, queued...
[1570592787.75][CONN][INF] found KV pair in stream: {{__testcase_finish;Microsecond ticker interrupt test;1;0}}, queued...
[1570592787.80][CONN][RXD] >>> 'Microsecond ticker interrupt test': 1 passed, 0 failed
[1570592787.80][CONN][RXD] 
[1570592787.88][CONN][RXD] >>> Running case #4: 'Microsecond ticker past interrupt test'...
[1570592787.95][CONN][INF] found KV pair in stream: {{__testcase_start;Microsecond ticker past interrupt test}}, queued...
[1570592788.01][CONN][INF] found KV pair in stream: {{__testcase_finish;Microsecond ticker past interrupt test;1;0}}, queued...
[1570592788.07][CONN][RXD] >>> 'Microsecond ticker past interrupt test': 1 passed, 0 failed
[1570592788.07][CONN][RXD] 
[1570592788.14][CONN][RXD] >>> Running case #5: 'Microsecond ticker reschedule test'...
[1570592788.20][CONN][INF] found KV pair in stream: {{__testcase_start;Microsecond ticker reschedule test}}, queued...
[1570592788.26][CONN][INF] found KV pair in stream: {{__testcase_finish;Microsecond ticker reschedule test;1;0}}, queued...
[1570592788.32][CONN][RXD] >>> 'Microsecond ticker reschedule test': 1 passed, 0 failed
[1570592788.32][CONN][RXD] 
[1570592788.39][CONN][RXD] >>> Running case #6: 'Microsecond ticker fire interrupt'...
[1570592788.46][CONN][INF] found KV pair in stream: {{__testcase_start;Microsecond ticker fire interrupt}}, queued...
[1570592788.52][CONN][INF] found KV pair in stream: {{__testcase_finish;Microsecond ticker fire interrupt;1;0}}, queued...
[1570592788.57][CONN][RXD] >>> 'Microsecond ticker fire interrupt': 1 passed, 0 failed
[1570592788.59][CONN][RXD] 
[1570592788.63][CONN][RXD] >>> Running case #7: 'Microsecond ticker overflow test'...
[1570592788.70][CONN][INF] found KV pair in stream: {{__testcase_start;Microsecond ticker overflow test}}, queued...
[1570592788.71][CONN][RXD] Test has been skipped.
[1570592788.78][CONN][INF] found KV pair in stream: {{__testcase_finish;Microsecond ticker overflow test;1;0}}, queued...
[1570592788.84][CONN][RXD] >>> 'Microsecond ticker overflow test': 1 passed, 0 failed
[1570592788.84][CONN][RXD] 
[1570592788.90][CONN][RXD] >>> Running case #8: 'Microsecond ticker increment test'...
[1570592788.96][CONN][INF] found KV pair in stream: {{__testcase_start;Microsecond ticker increment test}}, queued...
[1570592789.04][CONN][INF] found KV pair in stream: {{__testcase_finish;Microsecond ticker increment test;1;0}}, queued...
[1570592789.10][CONN][RXD] >>> 'Microsecond ticker increment test': 1 passed, 0 failed
[1570592789.10][CONN][RXD] 
[1570592789.16][CONN][RXD] >>> Running case #9: 'Microsecond ticker speed test'...
[1570592789.21][CONN][INF] found KV pair in stream: {{__testcase_start;Microsecond ticker speed test}}, queued...
[1570592789.27][CONN][INF] found KV pair in stream: {{__testcase_finish;Microsecond ticker speed test;1;0}}, queued...
[1570592789.34][CONN][RXD] >>> 'Microsecond ticker speed test': 1 passed, 0 failed
[1570592789.34][CONN][RXD] 
[1570592789.40][CONN][RXD] >>> Running case #10: 'lp ticker init is safe to call repeatedly'...
[1570592789.47][CONN][INF] found KV pair in stream: {{__testcase_start;lp ticker init is safe to call repeatedly}}, queued...
[1570592789.71][CONN][INF] found KV pair in stream: {{__testcase_finish;lp ticker init is safe to call repeatedly;1;0}}, queued...
[1570592789.77][CONN][RXD] >>> 'lp ticker init is safe to call repeatedly': 1 passed, 0 failed
[1570592789.77][CONN][RXD] 
[1570592789.82][CONN][RXD] >>> Running case #11: 'lp ticker info test'...
[1570592789.86][CONN][INF] found KV pair in stream: {{__testcase_start;lp ticker info test}}, queued...
[1570592789.92][CONN][INF] found KV pair in stream: {{__testcase_finish;lp ticker info test;1;0}}, queued...
[1570592789.96][CONN][RXD] >>> 'lp ticker info test': 1 passed, 0 failed
[1570592789.96][CONN][RXD] 
[1570592790.01][CONN][RXD] >>> Running case #12: 'lp ticker interrupt test'...
[1570592790.07][CONN][INF] found KV pair in stream: {{__testcase_start;lp ticker interrupt test}}, queued...
[1570592790.48][CONN][INF] found KV pair in stream: {{__testcase_finish;lp ticker interrupt test;1;0}}, queued...
[1570592790.52][CONN][RXD] >>> 'lp ticker interrupt test': 1 passed, 0 failed
[1570592790.52][CONN][RXD] 
[1570592790.58][CONN][RXD] >>> Running case #13: 'lp ticker past interrupt test'...
[1570592790.64][CONN][INF] found KV pair in stream: {{__testcase_start;lp ticker past interrupt test}}, queued...
[1570592790.70][CONN][INF] found KV pair in stream: {{__testcase_finish;lp ticker past interrupt test;1;0}}, queued...
[1570592790.76][CONN][RXD] >>> 'lp ticker past interrupt test': 1 passed, 0 failed
[1570592790.76][CONN][RXD] 
[1570592790.81][CONN][RXD] >>> Running case #14: 'lp ticker reschedule test'...
[1570592790.85][CONN][INF] found KV pair in stream: {{__testcase_start;lp ticker reschedule test}}, queued...
[1570592791.16][CONN][INF] found KV pair in stream: {{__testcase_finish;lp ticker reschedule test;1;0}}, queued...
[1570592791.21][CONN][RXD] >>> 'lp ticker reschedule test': 1 passed, 0 failed
[1570592791.21][CONN][RXD] 
[1570592791.27][CONN][RXD] >>> Running case #15: 'lp ticker fire interrupt'...
[1570592791.32][CONN][INF] found KV pair in stream: {{__testcase_start;lp ticker fire interrupt}}, queued...
[1570592791.37][CONN][INF] found KV pair in stream: {{__testcase_finish;lp ticker fire interrupt;1;0}}, queued...
[1570592791.42][CONN][RXD] >>> 'lp ticker fire interrupt': 1 passed, 0 failed
[1570592791.42][CONN][RXD] 
[1570592791.48][CONN][RXD] >>> Running case #16: 'lp ticker overflow test'...
[1570592791.53][CONN][INF] found KV pair in stream: {{__testcase_start;lp ticker overflow test}}, queued...
[1570592791.55][CONN][RXD] Test has been skipped.
[1570592791.61][CONN][INF] found KV pair in stream: {{__testcase_finish;lp ticker overflow test;1;0}}, queued...
[1570592791.66][CONN][RXD] >>> 'lp ticker overflow test': 1 passed, 0 failed
[1570592791.66][CONN][RXD] 
[1570592791.70][CONN][RXD] >>> Running case #17: 'lp ticker increment test'...
[1570592791.76][CONN][INF] found KV pair in stream: {{__testcase_start;lp ticker increment test}}, queued...
[1570592791.82][CONN][INF] found KV pair in stream: {{__testcase_finish;lp ticker increment test;1;0}}, queued...
[1570592791.87][CONN][RXD] >>> 'lp ticker increment test': 1 passed, 0 failed
[1570592791.87][CONN][RXD] 
[1570592791.91][CONN][RXD] >>> Running case #18: 'lp ticker speed test'...
[1570592791.97][CONN][INF] found KV pair in stream: {{__testcase_start;lp ticker speed test}}, queued...
[1570592792.01][CONN][INF] found KV pair in stream: {{__testcase_finish;lp ticker speed test;1;0}}, queued...
[1570592792.06][CONN][RXD] >>> 'lp ticker speed test': 1 passed, 0 failed
[1570592792.06][CONN][RXD] 
[1570592792.10][CONN][RXD] >>> Test cases: 18 passed, 0 failed
[1570592792.13][CONN][INF] found KV pair in stream: {{__testcase_summary;18;0}}, queued...
[1570592792.16][CONN][INF] found KV pair in stream: {{end;success}}, queued...
[1570592792.16][HTST][INF] __notify_complete(True)
[1570592792.16][HTST][INF] __exit_event_queue received
[1570592792.16][HTST][INF] test suite run finished after 6.19 sec...
[1570592792.17][CONN][INF] found KV pair in stream: {{__exit;0}}, queued...
[1570592792.17][CONN][INF] received special event '__host_test_finished' value='True', finishing
[1570592792.17][HTST][INF] CONN exited with code: 0
[1570592792.17][HTST][INF] Some events in queue
[1570592792.17][HTST][INF] stopped consuming events
[1570592792.17][HTST][INF] host test result() call skipped, received: True
[1570592792.17][HTST][WRN] missing __exit event from DUT
[1570592792.17][HTST][INF] calling blocking teardown()
[1570592792.17][HTST][INF] teardown() finished
[1570592792.17][HTST][INF] {{result;success}}

Pull request type

[ ] Fix
[ ] Refactor
[x] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

Release Notes

Added Olimex STM32-E407 (STM32F407ZG) evaluation board as target.

@ciarmcom ciarmcom requested review from a team October 8, 2019 07:00
@ciarmcom
Copy link
Member

ciarmcom commented Oct 8, 2019

@rohfle, thank you for your changes.
@ARMmbed/mbed-os-maintainers @ARMmbed/mbed-os-ipcore please review.

@rohfle rohfle changed the title WIP: OLIMEX_STM32E407_F407ZG: Added new target platform OLIMEX_STM32E407_F407ZG: Added new target platform Oct 9, 2019
"release_versions": ["5"],
"device_name": "STM32F407ZG",
"target_overrides": {
"*": {
Copy link
Member

Choose a reason for hiding this comment

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

That config doesn't belong to the target definition, please move it to platform/mbed_lib.json

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I removed the target override for stdio baud rate as requested - the first two lines (release_versions, device_name) match other entries so I guess they are fine?

@@ -226,7 +227,9 @@ void USBPhyHw::init(USBPhyEvents *events)
pin_function(PA_9, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF10_OTG_FS)); // VBUS
#endif
pin_function(PA_10, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF10_OTG_FS)); // ID
#if !defined(TARGET_OLIMEX_STME407_F407ZG)
Copy link
Member

Choose a reason for hiding this comment

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

@jeromecoutant how does that fit with your usb rework?

Copy link
Collaborator

Choose a reason for hiding this comment

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

yes.
But you're right, I should push some first commit for usb rework in order to simplify new target addtion like this.

Added Olimex STM32-E407 (STM32F407ZG) evaluation board.
USB, UART, External HS XTAL and Ethernet are all working correctly.
@0xc0170 0xc0170 removed the request for review from a team October 16, 2019 11:26
@0xc0170
Copy link
Contributor

0xc0170 commented Oct 17, 2019

CI started

@mbed-ci
Copy link

mbed-ci commented Oct 17, 2019

Test run: FAILED

Summary: 3 of 4 test jobs failed
Build number : 1
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_build-ARM
  • jenkins-ci/mbed-os-ci_build-IAR
  • jenkins-ci/mbed-os-ci_build-GCC_ARM

@0xc0170
Copy link
Contributor

0xc0170 commented Oct 17, 2019

One of jobs failed due jenkins, restarting

@mbed-ci
Copy link

mbed-ci commented Oct 17, 2019

Test run: FAILED

Summary: 3 of 4 test jobs failed
Build number : 2
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_build-ARM
  • jenkins-ci/mbed-os-ci_build-GCC_ARM
  • jenkins-ci/mbed-os-ci_build-IAR

@0xc0170
Copy link
Contributor

0xc0170 commented Oct 18, 2019

CI restarted.

I've noticed a commit was added, @rohfle still working on this branch or all done?

@rohfle
Copy link
Contributor Author

rohfle commented Oct 18, 2019

@0xc0170 Not working on this branch currently - just fixing some things that were failing in CI.

@mbed-ci
Copy link

mbed-ci commented Oct 18, 2019

Test run: FAILED

Summary: 2 of 4 test jobs failed
Build number : 3
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_build-ARM
  • jenkins-ci/mbed-os-ci_build-GCC_ARM

@0xc0170
Copy link
Contributor

0xc0170 commented Oct 18, 2019

Restarted CI, Jenkins was restarted

@mbed-ci
Copy link

mbed-ci commented Oct 18, 2019

Test run: SUCCESS

Summary: 12 of 12 test jobs passed
Build number : 4
Build artifacts

@0xc0170 0xc0170 merged commit 4af05bb into ARMmbed:master Oct 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants