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

Adding Coremark example. #336

Merged
merged 43 commits into from
Feb 24, 2023
Merged

Adding Coremark example. #336

merged 43 commits into from
Feb 24, 2023

Conversation

Jacob-Scheiffler
Copy link
Contributor

@Jacob-Scheiffler Jacob-Scheiffler commented Jan 17, 2023

The Coremark example was originally written for the MAX32655. This PR adds the original example along and a ported version of the example to each of the other micros.

Jacob-Scheiffler and others added 30 commits January 16, 2023 11:21
@sihyung-maxim
Copy link
Contributor

sihyung-maxim commented Feb 20, 2023

The icc_regs.h was removed from the ME55. Just found a new bug in the SVD checker though. An unsupported register file was removed, and the SVD action doesn't check for register file removals and sees the "removal" as a register file change. Because the register file isn't supported according to the list of supported peripherals per part in the SVD scripts and the SVD action sees this as a register file change, the SVD action will attempt to generate icc_regs.h but fails when it can't find the unsupported register file's corresponding peripheral SVD file.

I will have to fix this once this PR is merged because the Verify_Register_SVD workflow has had some updates. All other SVD checks passed though.

Copy link
Contributor

@sihyung-maxim sihyung-maxim left a comment

Choose a reason for hiding this comment

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

Interesting how the main program is located in Libraries/Coremark/core_main.c, but the examples only contain core_portme.c/.h.

Copy link
Contributor

@Jake-Carter Jake-Carter left a comment

Choose a reason for hiding this comment

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

Yeah please add some comments to project.mk and some documentation in the readme to clarify what the Coremark library is and how these projects are built.

[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0xcc42
Correct operation validated. See README.md for run and reporting rules.
Copy link
Contributor

Choose a reason for hiding this comment

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

Link to Coremark README.md

@@ -0,0 +1,36 @@
## Description

This example determines the Coremark rating for the MAX32xxx and MAX78xxx series microcontrollers.
Copy link
Contributor

Choose a reason for hiding this comment

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

Needs more info on what Coremark is and what the example tells you.


# Add your config here!

IPATH+=$(MAXIM_PATH)/Libraries/Coremark
Copy link
Contributor

Choose a reason for hiding this comment

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

Needs comments documenting the build setup

## Description

This example determines the Coremark rating for the MAX32xxx and MAX78xxx series microcontrollers.

Copy link
Contributor

Choose a reason for hiding this comment

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

Please add the following contents to the README, which have now become a part of the new standard readme template in MSDKGen.

### Project Usage

Universal instructions on building, flashing, and debugging this project can be found in the **[MSDK User Guide](https://analog-devices-msdk.github.io/msdk/USERGUIDE/)**.

### Project-Specific Build Notes

(None - this project builds as a standard example)

This project doesn't offer any build config options, but you may want to expand a bit on exactly where the source code is pulled from in the build notes section.

@Jake-Carter
Copy link
Contributor

@sihyung-maxim SVD verification is failing for this PR?

@Jacob-Scheiffler
Copy link
Contributor Author

Yeah please add some comments to project.mk and some documentation in the readme to clarify what the Coremark library is and how these projects are built.

@Jake-Carter pretty sure I made all the changes you asked for, mind giving it another look?

Copy link
Contributor

@Jake-Carter Jake-Carter left a comment

Choose a reason for hiding this comment

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

Looks good!

@Jake-Carter Jake-Carter merged commit 6720420 into analogdevicesinc:main Feb 24, 2023
Jake-Carter pushed a commit that referenced this pull request Mar 7, 2023
* MAX32655: Adding Coremark example.

* MAX32520:Adding Coremark example.

* MAX32520: Enabling ICC for Coremark example.

* MAX32655: Enabling ICC for Coremark example.

* MAX32572: Adding Coremark example and updating ICC references to SFCC.

* MAX32520: Updating Coremark example's project.mk.

* MAX32650: Adding Coremark example.

* MAX32650: Enabling ICC for Coremark example.

* MAX32660: Adding Coremark example.

* MAX32662: Adding Coremark example.

* MAX32665: Adding Coremark example.

* MAX32670: Adding Coremark example.

* MAX32672: Adding Coremark example.

* MAX32675: Adding Coremark example.

* MAX32675: Enabling ICC for Coremark example.

* MAX32680: Adding Coremark example.

* MAX78000: Adding Coremark example.

* MAX78002: Adding Coremark example.

* Creating Coremark library and removing all duplicates from each of the Coremark examples.

* Adding a README to each of the Coremark examples.

* Adding 'Coremark' to examples.txt.

* Updating clang-formatting workflows to ignore Coremark library.

* Updating clang format workflows to exclude Coremark example.

* Attempt #2 to exclude Coremark example from clang-format-check workflow.

* Updating Verify Register workflow to be compatible with forks.

* Updating Verify Register workflow to be compatible with forks. (Attempt 2)

* Verify_Register_SVD: Updated the steps so workflow will finish if no file changes were detected.

* ME55: Updated ICC -> SFCC SVD.

* Verify_Register_SVD: Added ME55 to supported parts list.

* Resolving SVD workflow error. (Attempt #1)

* Revert "Resolving SVD workflow error. (Attempt #1)"

This reverts commit 1aea2d3.

* MAX32690: Adding Coremark example.

* Removing Coremark Library and examples from clang format checks.

* ME55: Added sema_reva2_me55.svd to fixed SVD Action errors.

* ME55: Coremark: Resolving register file differences.

* MAX32690: Adding 'Coremark' to examples.txt.

* Adding comments to Coremark example project.mk's.

* Fixing typo and re-organizing Coremark example project.mk's.

* Adding more information to Coremark example README's.

---------

Co-authored-by: Sihyung Woo <75494566+sihyung-maxim@users.noreply.github.com>
@Jacob-Scheiffler Jacob-Scheiffler deleted the feature/coremark branch March 7, 2023 21:37
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.

3 participants