Skip to content

stm32: Improve the CRC function to support fully accumulate #9347

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 7 commits into from
Jan 22, 2019

Conversation

kevinong0108
Copy link
Contributor

@kevinong0108 kevinong0108 commented Jan 11, 2019

Description

Some STM32 series can support 32, 16, 8 and 7 bit hardware CRC but API only apply 32-bit.

Tested on DISCO_L476VG and NUCLEO_L476RG

Reopen: #7951

Pull request type

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

Reviewers

@jeromecoutant, @bcostm

@cmonr cmonr requested a review from a team January 11, 2019 04:55
@jeromecoutant
Copy link
Collaborator

Hi

I didn't review the updated code yet,

but tests results are quite good:

target platform_name test suite result elapsed_time (sec) copy_method
NUCLEO_F091RC-ARM NUCLEO_F091RC tests-mbed_drivers-crc OK 17.99 default
NUCLEO_F091RC-ARM NUCLEO_F091RC tests-mbed_hal-crc OK 18.41 default
NUCLEO_F103RB-ARM NUCLEO_F103RB tests-mbed_drivers-crc OK 18.56 default
NUCLEO_F207ZG-ARM NUCLEO_F207ZG tests-mbed_drivers-crc OK 16.99 default
NUCLEO_F303ZE-ARM NUCLEO_F303ZE tests-mbed_drivers-crc OK 18.36 default
NUCLEO_F303ZE-ARM NUCLEO_F303ZE tests-mbed_hal-crc OK 18.78 default
NUCLEO_F446RE-ARM NUCLEO_F446RE tests-mbed_drivers-crc OK 16.93 default
NUCLEO_F767ZI-ARM NUCLEO_F767ZI tests-mbed_drivers-crc OK 16.54 default
NUCLEO_F767ZI-ARM NUCLEO_F767ZI tests-mbed_hal-crc OK 17.16 default
NUCLEO_H743ZI-ARM NUCLEO_H743ZI tests-mbed_drivers-crc OK 16.58 default
NUCLEO_H743ZI-ARM NUCLEO_H743ZI tests-mbed_hal-crc OK 17.33 default
NUCLEO_L073RZ-ARM NUCLEO_L073RZ tests-mbed_drivers-crc OK 21.31 default
NUCLEO_L073RZ-ARM NUCLEO_L073RZ tests-mbed_hal-crc OK 20.64 default
NUCLEO_L152RE-ARM NUCLEO_L152RE tests-mbed_drivers-crc OK 17.92 default
NUCLEO_L476RG-ARM NUCLEO_L476RG tests-mbed_drivers-crc OK 17.52 default
NUCLEO_L476RG-ARM NUCLEO_L476RG tests-mbed_hal-crc OK 18.06 default

Copy link
Collaborator

@jeromecoutant jeromecoutant left a comment

Choose a reason for hiding this comment

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

PR can be approved if you quickly want the update for the current targets supporting CRC
i.e. F0/F3/F7/L0/L4

But if you enable CRC at STM32_FAMILY, tests-mbed_hal-crc is still failing for the other families (F1/F2/F4/L1)

@0xc0170
Copy link
Contributor

0xc0170 commented Jan 15, 2019

CI started

@mbed-ci
Copy link

mbed-ci commented Jan 15, 2019

Test run: FAILED

Summary: 6 of 7 test jobs failed
Build number : 1
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_mbed2-build-GCC_ARM
  • jenkins-ci/mbed-os-ci_mbed2-build-ARM
  • jenkins-ci/mbed-os-ci_mbed2-build-IAR
  • 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 Jan 15, 2019

CI job was aborted, 5.11.2 RC candidate is in the CI. We will restart it as soon as 5.11.2 RC is ready

@cmonr
Copy link
Contributor

cmonr commented Jan 16, 2019

CI started

@mbed-ci
Copy link

mbed-ci commented Jan 16, 2019

Test run: FAILED

Summary: 6 of 7 test jobs failed
Build number : 2
Build artifacts

Failed test jobs:

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

@cmonr
Copy link
Contributor

cmonr commented Jan 16, 2019

@kevinong0108 Please take a look at the build failures.

@kevinong0108
Copy link
Contributor Author

kevinong0108 commented Jan 17, 2019

@cmonr OK, got it.

I can't open detail link of "jenkins-ci/build-GCC_ARM — Error", and I try to compile on my own environment is OK. @jeromecoutant has tested before too.

@cmonr
Copy link
Contributor

cmonr commented Jan 17, 2019

@kevinong0108 The jenkins-ci/* jobs are run on an internal CI.

The logs are updloaded to AWS, and provided in the build artifacts link in the build results comment: #9347 (comment)

@kevinong0108
Copy link
Contributor Author

@cmonr oh~~ thanks!!! I will fix it asap.

@0xc0170
Copy link
Contributor

0xc0170 commented Jan 17, 2019

Travis failure is related to the master bug - the fix is in the CI now, should be resolved soon (rebase will be needed ,we can do it for you)

Tested on DISCO_L476VG and NUCLEO_L476RG
Those series have not CRC_POLYLENGTH_32B definition
Currently, mbed supported input data format fix on bytes, so those
devices are not supported at default.
@cmonr
Copy link
Contributor

cmonr commented Jan 17, 2019

NOTE: This PR has now been rebased.

If this was made in error, feel free to force-push your local branch to restore the PR.

@0xc0170
Copy link
Contributor

0xc0170 commented Jan 21, 2019

CI started

@mbed-ci
Copy link

mbed-ci commented Jan 21, 2019

Test run: FAILED

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

Failed test jobs:

  • jenkins-ci/mbed-os-ci_greentea-test

@alekla01
Copy link
Contributor

restarted ci: greentea-test

@0xc0170 0xc0170 merged commit 3d0f168 into ARMmbed:master Jan 22, 2019
@kevinong0108 kevinong0108 deleted the improve_crc branch January 22, 2019 13:40
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