Skip to content

Conversation

@ArtifixPrime
Copy link

This has been done mainly by adding support for more peripherals and
changing pin numbering from the existing port for F446RE board.
Additionally, dts/arm/st/f4/stm32f4.dtsi has been modified by adding
USART3 configuration.
It has been tested to work with the provided Zephyr samples.

Signed-off-by: Peter Nimac [email protected]

This has been done mainly by adding support for more peripherals and
changing pin numbering from the existing port for F446RE board.
Additionally, dts/arm/st/f4/stm32f4.dtsi has been modified by adding
USART3 configuration.
It has been tested to work with the provided Zephyr samples.

Signed-off-by: Peter Nimac <[email protected]>
@zephyrbot
Copy link

zephyrbot commented Oct 8, 2019

Some checks failed. Please fix and resubmit.

checkpatch (informational only, not a failure)

-:388: WARNING:UNDOCUMENTED_DT_STRING: DT compatible string "st,stm32f446ze-nucleo" appears un-documented -- check ./dts/bindings/
#388: FILE: boards/arm/nucleo_f446ze/nucleo_f446ze.dts:13:
+	compatible = "st,stm32f446ze-nucleo", "st,stm32f446";

-:388: WARNING:UNDOCUMENTED_DT_STRING: DT compatible string "st,stm32f446" appears un-documented -- check ./dts/bindings/
#388: FILE: boards/arm/nucleo_f446ze/nucleo_f446ze.dts:13:
+	compatible = "st,stm32f446ze-nucleo", "st,stm32f446";

-:451: WARNING:LONG_LINE_COMMENT: line over 80 characters
#451: FILE: boards/arm/nucleo_f446ze/nucleo_f446ze.dts:76:
+/* USB_FS initialized as default. Can be substituted with &usbotg_hs for High Speed performance */

-:469: WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
#469: FILE: boards/arm/nucleo_f446ze/nucleo_f446ze.dts:94:
+/*
+&i2c3 {

-:499: WARNING:LONG_LINE_COMMENT: line over 80 characters
#499: FILE: boards/arm/nucleo_f446ze/nucleo_f446ze.dts:124:
+	 * http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions

-:640: WARNING:LONG_LINE_COMMENT: line over 80 characters
#640: FILE: boards/arm/nucleo_f446ze/pinmux.c:18:
+ * To enable Full USART 2 module found on the board add the required ifdef config

-:643: WARNING:LONG_LINE_COMMENT: line over 80 characters
#643: FILE: boards/arm/nucleo_f446ze/pinmux.c:21:
+ * WARNING! If you want full USART 2 functionality disable the I2S_2 SD pin PB15,

-:644: WARNING:LONG_LINE_COMMENT: line over 80 characters
#644: FILE: boards/arm/nucleo_f446ze/pinmux.c:22:
+ * as it conflicts with USART 2 CTS signal pin! [refer to the datasheet for Nucleo-144 boards, UM1974 pg. 43 and datasheet for STM32F446ZE, RM0390]

-:645: WARNING:LONG_LINE_COMMENT: line over 80 characters
#645: FILE: boards/arm/nucleo_f446ze/pinmux.c:23:
+ * Optionally you can reasign I2S_2 SD pin to pin PC1 (CN11) or, if you don't need

-:680: WARNING:LONG_LINE_COMMENT: line over 80 characters
#680: FILE: boards/arm/nucleo_f446ze/pinmux.c:58:
+/*	{STM32_PIN_PD3, STM32F4_PINMUX_FUNC_PD3_I2S2_SD}, Additional data line that can be used (alternate pins for PD3 are PC1 and PC3) */

- total: 0 errors, 10 warnings, 676 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Your patch has style problems, please review.

NOTE: Ignored message types: AVOID_EXTERNS BRACES CONFIG_EXPERIMENTAL CONST_STRUCT DATE_TIME FILE_PATH_CHANGES MINMAX NETWORKING_BLOCK_COMMENT_STYLE PRINTK_WITHOUT_KERN_LEVEL SPLIT_STRING VOLATILE

NOTE: If any of the errors are false positives, please report
      them to the maintainers.

Gitlint issues

Commit 2db13b7f31:
1: UC5 Title exceeds max length (76>75): "hotfix: boards: nucleo_f447ze: Added support for the Nucleo-144 F446ZE board"

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

@teburd
Copy link
Contributor

teburd commented Oct 8, 2019

This is missing the flash layout like the RE board did, which means mcumgr, mcuboot, and various other flash related samples will fail to work

…E board

Added missing license to board.cmake
Fixed doc image in index.rst
Added flash layout to nucleo_f446ze.dts

Signed-off-by: Peter Nimac <[email protected]>
Copy link
Contributor

@dbkinder dbkinder left a comment

Choose a reason for hiding this comment

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

one recommended appearance tweak otherwise looks fine

Default Zephyr Peripheral Mapping:
----------------------------------

- UART_3_TX : PD8
Copy link
Contributor

Choose a reason for hiding this comment

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

If you add this rst-class directive and a blank line before the list, it will display the list in multiple columns instead of a long list that runs down the page:

.. rst-class:: rst-columns

- UART_3_TX : PD8
- UART_3_RX : PD9
  etc.

Copy link
Author

Choose a reason for hiding this comment

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

Noted. I've never worked with the Sphinx documentation before, so thanks for the tip.

… board

doc: rst-class directive to index.rst

Signed-off-by: Peter Nimac <[email protected]>
};


arduino_serial: &usart6 {};
Copy link
Member

Choose a reason for hiding this comment

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

Please move these in a dedicated arduino_r3_donnnector.dtsi and add arduino_header node.
Cf recent ##19636

ram: 96
flash: 512
supported:
- arduino_i2c
Copy link
Member

Choose a reason for hiding this comment

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

  • arduino_spi
  • arduino_gpio (once you'll have added the arduino_header node)

label = "UART_2";
};

usart3: serial@40004800 {
Copy link
Member

Choose a reason for hiding this comment

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

By adding this node here, you make it available on STM32F401 as well, which is not valid.
You need to move it to appropriate dtsi file

@@ -1,3 +1,5 @@
# SPDX-License-Identifier: Apache-2.0
Copy link
Member

Choose a reason for hiding this comment

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

PR are pushed as is on top of branch, but no hot fix will be merged in tree.
This should be squashed into board addition commit

Default Zephyr Peripheral Mapping:
----------------------------------

.. rst-class:: rst-columns
Copy link
Member

Choose a reason for hiding this comment

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

Same here, please squash to first commit

label = "UART_2";
};

usart3: serial@40004800 {
Copy link
Member

Choose a reason for hiding this comment

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

Also, please do it in a dedicated commit

This has been done mainly by adding support for more peripherals and
changing pin numbering from the existing port for F446RE board.
It has been tested to work with the provided Zephyr samples.

Signed-off-by: Peter Nimac <[email protected]>
Fixed errors after squashing

Signed-off-by: Peter Nimac <[email protected]>
Moved usart3 configuration from stm32f4.dtsi to stm32f446.dtsi

Signed-off-by: Peter Nimac <[email protected]>
This has been done mainly by adding support for more peripherals and
changing pin numbering from the existing port for F446RE board.
Additionally, dts/arm/st/f4/stm32f4.dtsi has been modified by adding
USART3 configuration.
It has been tested to work with the provided Zephyr samples.

Signed-off-by: Peter Nimac <[email protected]>

hotfix: boards: nucleo_f447ze: Added support for the Nucleo-144 F446ZE board

Added missing license to board.cmake
Fixed doc image in index.rst
Added flash layout to nucleo_f446ze.dts

Signed-off-by: Peter Nimac <[email protected]>

hotfix: boards: nucleo_f446ze: Added support for the Nucleo144 F446ZE board

doc: rst-class directive to index.rst

Signed-off-by: Peter Nimac <[email protected]>
Added UART3 configuration for STM32F446 chips.

Signed-off-by: Peter Nimac <[email protected]>
#include <st/f4/stm32f446Xe.dtsi>
#include "arduino_r3_connector.dtsi"

<<<<<<< HEAD
Copy link
Member

Choose a reason for hiding this comment

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

Please resolve merge conflicts.

Copy link
Author

Choose a reason for hiding this comment

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

Could you please help me out a bit?
I've checked all of the files and on my local machine git status returns:
"nothing to commit, working tree clean"

Shippable still fails some checks and prints in the console to resolve merge conflicts.

Sorry, I know this may be a silly request but I've never really worked with git before.

Copy link
Member

Choose a reason for hiding this comment

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

Sorry, I know this may be a silly request but I've never really worked with git before.

@ArtifixPrime, that's ok, there's a first time for everything. I won't be able to help today, but Iwill come back to you this week.

Copy link
Author

Choose a reason for hiding this comment

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

Alright, thank you so much!
Sorry for replying this late, I am also busy with my own work, so whenever you'll find the time

Attempt at fixing errors made while squashing.
Added a redundant space character in readme.

Signed-off-by: Peter Nimac <[email protected]>
@erwango
Copy link
Member

erwango commented Dec 16, 2019

@ArtifixPrime, I'll try to provide feedback this week. Sorry for the delay.

@erwango
Copy link
Member

erwango commented Dec 16, 2019

@ArtifixPrime, I had a look, and maybe the easiest way will be the following:
-In your current branch, copy the board directory on a location outside zephyr (the usart3 addition in stm32f4.dtsi is now in zephyr so you don't need it anymore)
-Fetch a latest zephyr version and create a new branch on top of the master
-Copy the board directory back in zephyr repo
-Push this new branch

We'll continue work from there.

@galak galak added the Stale PR label Jan 30, 2020
@galak
Copy link
Contributor

galak commented Jan 30, 2020

@ArtifixPrime any plans to update?

@nashif
Copy link
Member

nashif commented Feb 6, 2020

stale, closing. Reopen when there are updates...

@nashif nashif closed this Feb 6, 2020
@towen
Copy link

towen commented Jun 30, 2021

it's a shame this never made it in. I would really like to evaluate zephyr on this board 😢
I have tried copying the board definition files out of ArtifixPrime's repo but I get errors compiling the device tree:

$ west build -p auto -b nucleo_f446ze samples/subsys/usb/cdc_acm_composite
-- west build: generating a build system
Including boilerplate (Zephyr base): /home/tom/Git/stm32_rtos_test/zephyr_test/zephyr/cmake/app/boilerplate.cmake
-- Application: /home/tom/Git/stm32_rtos_test/zephyr_test/zephyr/samples/subsys/usb/cdc_acm_composite
-- Zephyr version: 2.6.99 (/home/tom/Git/stm32_rtos_test/zephyr_test/zephyr), build: zephyr-v2.6.0-533-gc68054c9e519
-- Found Python3: /usr/bin/python3.9 (found suitable exact version "3.9.2") found components: Interpreter 
-- Found west (found suitable version "0.11.0", minimum required is "0.7.1")
-- Board: nucleo_f446ze
-- Cache files will be written to: /home/tom/.cache/zephyr
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Using toolchain: zephyr 0.12.4 (/opt/zephyr-sdk-0.12.4)
-- Found dtc: /opt/zephyr-sdk-0.12.4/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")
-- Found BOARD.dts: /home/tom/Git/stm32_rtos_test/zephyr_test/zephyr/boards/arm/nucleo_f446ze/nucleo_f446ze.dts
Lexical error: nucleo_f446ze.dts.pre.tmp:632.21-23 Bad integer literal '09'
Lexical error: nucleo_f446ze.dts.pre.tmp:634.9-11 Bad integer literal '08'
Lexical error: nucleo_f446ze.dts.pre.tmp:635.9-11 Bad integer literal '09'
Lexical error: nucleo_f446ze.dts.pre.tmp:638.21-23 Bad integer literal '09'
Lexical error: nucleo_f446ze.dts.pre.tmp:646.21-23 Bad integer literal '09'
Lexical error: nucleo_f446ze.dts.pre.tmp:647.21-23 Bad integer literal '08'
Error: nucleo_f446ze.dts.pre.tmp:665.22-23 syntax error
FATAL ERROR: Unable to parse input tree
CMake Error at /home/tom/Git/stm32_rtos_test/zephyr_test/zephyr/cmake/dts.cmake:214 (message):
  command failed with return code: 1
Call Stack (most recent call first):
  /home/tom/Git/stm32_rtos_test/zephyr_test/zephyr/cmake/app/boilerplate.cmake:571 (include)
  /home/tom/Git/stm32_rtos_test/zephyr_test/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:24 (include)
  /home/tom/Git/stm32_rtos_test/zephyr_test/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:35 (include_boilerplate)
  CMakeLists.txt:4 (find_package)


-- Configuring incomplete, errors occurred!

@erwango
Copy link
Member

erwango commented Jun 30, 2021

it's a shame this never made it in. I would really like to evaluate zephyr on this board
I have tried copying the board definition files out of ArtifixPrime's repo but I get errors compiling the device tree:

@towen This PR is pretty old and you will face lot of issues if trying to use on v2.6.0
I rather suggest you try to start from existing nucleo_f446re and adapt from there.

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.

8 participants