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 initial support for Silicon Labs EFM32PG-STK3402A board #7043

Conversation

GilBenkoe
Copy link
Contributor

MicroPython and the following samples were tested:

  • hello_world
  • basic/button
  • subsys/shell/shell

Most of the changes are taken from the EFM32WG-STK3800 board.

@galak galak added area: ARM ARM (32-bit) Architecture area: Boards labels Apr 12, 2018
@codecov-io
Copy link

codecov-io commented Apr 12, 2018

Codecov Report

Merging #7043 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #7043   +/-   ##
=======================================
  Coverage   55.02%   55.02%           
=======================================
  Files         483      483           
  Lines       53977    53977           
  Branches    10480    10480           
=======================================
  Hits        29701    29701           
  Misses      20000    20000           
  Partials     4276     4276

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a7ffc83...f80029c. Read the comment docs.

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.

Thanks for providing the documentation. Here are some suggested edits for clarity and to fix some doc generation issues.

.. _efm32pg_stk3402a:

EFM32PG-STK3402A
###############
Copy link
Contributor

Choose a reason for hiding this comment

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

Title underlines need to be at least as long as the title. Add another #

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

- A physical UART connection which is relayed over interface USB Serial port.

Flashing an application to EFM32PG-STK3402A
----------------------------------------
Copy link
Contributor

Choose a reason for hiding this comment

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

Title underling too short, add a few more --- 's

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

For more information about the EFM32PG SoC and EFM32PG-STK3402A board:

- `EFM32PG Website`_
- `EFM32PG Datasheet`_
Copy link
Contributor

Choose a reason for hiding this comment

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

These links are called EFM32PG12 Datasheet (and Reference Manual) at the bottom of the doc, so you're getting a reference error from the doc generation tools.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@@ -0,0 +1,168 @@
.. _efm32pg_stk3402a:

EFM32PG-STK3402A
Copy link
Contributor

Choose a reason for hiding this comment

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

Would a more friendly title be, "EFM32 Pearl Gecko Starter Kit" ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Overview
********

The EFM32 Pearl Gecko Starter Kit EFM32PG-STK3402A contains a MCU from the
Copy link
Contributor

Choose a reason for hiding this comment

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

contains an MCU

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

- A USB connection to the host computer, which exposes a Mass Storage and a
USB Serial Port.
- A Serial Flash device, which implements the USB flash disk file storage.
- A physical UART connection which is relayed over interface USB Serial port.
Copy link
Contributor

Choose a reason for hiding this comment

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

change to serial (lowercase)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

:goals: build

Connect the EFM32PG-STK3402A to your host computer using the USB port and you
should see a USB connection which exposes a Mass Storage (STK3402A) and a
Copy link
Contributor

Choose a reason for hiding this comment

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

change to a mass storage device

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done


Connect the EFM32PG-STK3402A to your host computer using the USB port and you
should see a USB connection which exposes a Mass Storage (STK3402A) and a
USB Serial Port. Copy the generated zephyr.bin in the STK3402A drive.
Copy link
Contributor

Choose a reason for hiding this comment

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

change to serial port

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

should see a USB connection which exposes a Mass Storage (STK3402A) and a
USB Serial Port. Copy the generated zephyr.bin in the STK3402A drive.

Use for example a converter like FT232/CP2102 to connect to UART on the
Copy link
Contributor

Choose a reason for hiding this comment

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

Change to:

Use a USB-to-UART converter such as an FT232/CP2102 to connect to the UART on the
expansion header.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

- Parity: None
- Stop bits: 1

Reset the board and you should be able to see on the corresponding Serial Port
Copy link
Contributor

Choose a reason for hiding this comment

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

Change to:

Reset the board and you'll see the following message on the corresponding serial port
terminal session:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@galak galak added the EXT Has change or related to ext/ (obsolete) label Apr 12, 2018
@GilBenkoe GilBenkoe force-pushed the add_silabs_efm32pg_stk3402a branch 3 times, most recently from 3ce5b06 to 74e0484 Compare April 13, 2018 13:37
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.

Docs LGTM, thanks!

Copy link
Collaborator

@galak galak left a comment

Choose a reason for hiding this comment

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

@GilBenkoe
Copy link
Contributor Author

GilBenkoe commented Apr 30, 2018

Ok, I edited the README.

@galak galak force-pushed the add_silabs_efm32pg_stk3402a branch from 0e37c1e to 1a87610 Compare May 25, 2018 17:32
@galak galak force-pushed the add_silabs_efm32pg_stk3402a branch from 1a87610 to db03f8e Compare May 25, 2018 18:51
This includes the Gecko HAL files for the EFM32PG12B SoCs

Origin: Silicon Labs Gecko SDK
URL: https://github.com/SiliconLabs/Gecko_SDK
Version: v5.1.2 (SHA: 938464c68e6c3b2237388a692f767bb0767ec010)
Purpose: Add support for Silicon Labs EXX32 SoCs
License: Zlib
Maintained-by: External

Signed-off-by: Gil Benkö <gil.benkoe@pm.me>
This adds the paths of the necessary parts of the SDK to the
build infrastructure files.

Signed-off-by: Gil Benkö <gil.benkoe@pm.me>
The Silicon Labs EFM32 Pearl Gecko MCU includes:

         * Cortex-M4F core at 40MHz
         * up to 1024KB of flash and 256KB of RAM
         * multiple low power peripherals

Ported from EFM32WG:
https://www.silabs.com/documents/public/application-notes/an0918.0-efm32_to_efm32jgpg_migration_guide.pdf

Signed-off-by: Gil Benkö <gil.benkoe@pm.me>
This ensures compatibility with Silicon Labs EXX32 MCU Series 1.

Signed-off-by: Gil Benkö <gil.benkoe@pm.me>
This is copied from the UART driver.

Signed-off-by: Gil Benkö <gil.benkoe@pm.me>
The EFM32 Pearl Gecko Starter Kit contains sensors and
peripherals demonstrating the usage of the EFM32PG MCU
family. This patch adds basic support for this board
and is copied from EFM32WG-STK3800.

Signed-off-by: Gil Benkö <gil.benkoe@pm.me>
@galak galak force-pushed the add_silabs_efm32pg_stk3402a branch from db03f8e to f80029c Compare May 25, 2018 23:08
@galak galak added the platform: Silabs Silicon Labs label Sep 12, 2018
@chrta
Copy link
Collaborator

chrta commented Sep 16, 2018

Because commit 2eb347b is already merged, please keep in mind to delete soc/arm/silabs_exx32/efm32pg/CMakeLists.txt and soc/arm/silabs_exx32/efr32pg/soc.c

@chrta
Copy link
Collaborator

chrta commented Oct 16, 2018

@GilBenkoe Are you working on this?

@ioannisg
Copy link
Member

@galak , it seems to me this PR is abandoned; @GilBenkoe , please, advice otherwise :)

@chrta
Copy link
Collaborator

chrta commented Oct 23, 2018

Once #9042 is merged, I will rebase and continue working on this.

@chrta
Copy link
Collaborator

chrta commented Nov 3, 2018

I cannot push to the branch that is reviewed here. I updated everything and tested it on the hardware.
Branch https://github.com/chrta/zephyr/tree/add_silabs_efm32pg_stk3402a

Should i create a new pull request with my branch or is there another possibility?

@ioannisg
Copy link
Member

ioannisg commented Nov 3, 2018

I cannot push to the branch that is reviewed here. I updated everything and tested it on the hardware.
Branch https://github.com/chrta/zephyr/tree/add_silabs_efm32pg_stk3402a

Should i create a new pull request with my branch or is there another possibility?

As you prefer. If you close this PR is will be hard to follow-up the re-review on the new branch.
I think you can still push to this PR branch (on @GilBenkoe 's fork, though)

@chrta
Copy link
Collaborator

chrta commented Nov 3, 2018

@ioannisg I would prefer to continue here, but i get the following error message:

$ LANG=C git push gilbenkoe add_silabs_efm32pg_stk3402a 
ERROR: Permission to GilBenkoe/zephyr.git denied to chrta.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

@galak
Copy link
Collaborator

galak commented Nov 3, 2018

@ioannisg I would prefer to continue here, but i get the following error message:

while in general I would agree, but since we can't push to GilBenkoe branch, lets just create a new PR and we can reference this one in that.

@galak
Copy link
Collaborator

galak commented Nov 3, 2018

Closing as this is replaced by #11065

@galak galak closed this Nov 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: ARM ARM (32-bit) Architecture area: Boards EXT Has change or related to ext/ (obsolete) platform: Silabs Silicon Labs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants