-
Notifications
You must be signed in to change notification settings - Fork 3k
NUCLEO_F413ZH: Add support for the NUCLEO-F413ZH board #5608
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
Conversation
eff451f
to
532ddc0
Compare
@ARMmbed/team-st-mcd Please review |
Automatic CI verification build not done, please verify manually. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you test the USB device on this board ?
@bcostm I'll test it today. Is there any particular feature I should be aware of? |
532ddc0
to
692b044
Compare
OK. Nothing in particular, it is just that usually I add the platforms in the USB/CAN files only after I am sure that it has been tested successfully. That's all. I think it should work but just to be sure... I will continue my code review. Thanks for your contribution. |
Ok, please note that I have force pushed the commit with changes in PinNames.h |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Can you run also mbedOS5 tests with GCC_ARM compiler and share the results ?
We'll run on our side the tests on ARM and IAR compilers soon.
// Note: Commented lines are alternative possibilities which are not used per default. | ||
// If you change them, you will have also to modify the corresponding xxx_api.c file | ||
// for pwmout, analogin, analogout, ... | ||
// ===== |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you replace this Note block by this one:
//==============================================================================
// Notes
//
// - The pins mentionned Px_y_ALTz are alternative possibilities which use other
// HW peripheral instances. You can use them the same way as any other "normal"
// pin (i.e. PwmOut pwm(PA_7_ALT0);). These pins are not displayed on the board
// pinout image on mbed.org.
//
// - The pins which are connected to other components present on the board have
// the comment "Connected to xxx". The pin function may not work properly in this
// case. These pins may not be displayed on the board pinout image on mbed.org.
// Please read the board reference manual and schematic for more information.
//
//==============================================================================
{PC_12, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, | ||
{PD_1, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_UART4)}, | ||
{PD_5, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, | ||
{PD_8, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add this comment at the end of this line:
// Connected to STDIO_UART_TX
and every time this pin is found
{PD_0, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_UART4)}, | ||
{PD_2, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, | ||
{PD_6, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, | ||
{PD_9, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add this comment at the end of this line:
// Connected to STDIO_UART_RX
and every time this pin is found
{PA_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, | ||
{PA_6, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, | ||
{PA_7, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, | ||
{PB_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add this comment at the end of this line:
// Connected to LED1
and every time this pin is found
{PB_3, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF9_I2C2)}, | ||
{PB_3_ALT0, FMPI2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_FMPI2C1)}, | ||
{PB_4, I2C_3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF9_I2C3)}, | ||
{PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add this comment at the end of this line:
// Connected to LED2
and every time this pin is found
{PB_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, | ||
{PB_9_ALT0, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF9_I2C2)}, | ||
{PB_11, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, | ||
{PB_14, FMPI2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_FMPI2C1)}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add this comment at the end of this line:
// Connected to LED3
and every time this pin is found
692b044
to
94c30b1
Compare
@bcostm I have modified the commit again to include the comments and force pushed (see productize@1fea600 for changes). |
I ran the USBSerial example and it works (I can receive data sent over CDC ACM on my computer) -- so the USB device is probably OK. See mbed-test.zip for an archive with compiled tests (obtained by running |
Thanks for the changes. It looks like the report you have sent contains only the build result and not the tests. You can run these commands (the first one should be identical to the command you ran):
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Please post test results as requested above
Thank you for the instructions, the report is here: report.txt. There's a lot of timeouts -- the first cca 25 tests pass normally and the others always fail with a timeout (see the log from my command line: test-log.txt). It seems to me that all timeouted tests are preceded by a warning message
I tried it multiple times and it always starts timeouting at the same test. The board probably stops communicating with the computer for some reason (I need to reconnect it to the USB port, otherwise all tests fail when running it again). |
Thanks. That's strange. We'll run the tests on our side too to compare. |
I have run mbedOS5 tests and they're all PASS. I don't know what is wrong with your setup ? report_test5_all_NUCLEO_F413ZH_ARM.txt |
Hi |
/morph build |
@adamheinrich Can you rebase please to resolve conclict (will fix travis timeout here) |
94c30b1
to
e08d87b
Compare
@0xc0170 Ok, done. |
/morph build |
@adamheinrich Hi, there are still conflicts could you please rebase again. |
Merged from the existing TARGET_DISCO_F413ZH code (which has the same MCU) and TARGET_NUCLEO_F412ZG code (which has the same Nucleo-144 board and pinout).
e08d87b
to
da81229
Compare
/morph build |
Build : SUCCESSBuild number : 789 Triggering tests/morph test |
Exporter Build : FAILUREBuild number : 443 |
/morph export-build Jenkins issue. |
Exporter Build : SUCCESSBuild number : 451 |
Test : FAILUREBuild number : 624 |
/morph test Testing a theory. |
Test : FAILUREBuild number : 635 |
/morph test |
Test : SUCCESSBuild number : 645 |
This adds the NUCLEO-F413ZH board from ST as a target. Merged from the existing
TARGET_DISCO_F413ZH
code (which has the same MCU) andTARGET_NUCLEO_F412ZG
code (which has the same Nucleo-144 board and pinout).(The original commit used pin definitions from
TARGET_NUCLEO_F429ZI
which has a different pinout. It's fixed now)