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

Fix for HW CRC calculations on Silicon Labs targets #8026

Merged
merged 2 commits into from Sep 24, 2018

Conversation

Projects
None yet
5 participants
@stevew817
Contributor

stevew817 commented Sep 6, 2018

Description

Fixes the issue discovered in #8011. In short, 32-bit writes to the hardware CRC engine can only happen for a 32-bit polynomial. The reason this had not been discovered earlier is that the tests, when compiled with a release profile (which is the default) are likely to have non-aligned strings, which caused the CRC input code to go into byte-per-byte copy mode and never exercise the word-copy mode.

Verified by running both tests-mbed_hal-crc and tests-mbed_drivers-crc on both a release and debug profile.

Pull request type

[X] Fix
[ ] Refactor
[ ] Target update
[ ] Functionality change
[ ] Breaking change
@0xc0170

0xc0170 approved these changes Sep 7, 2018

@0xc0170 0xc0170 added the needs: CI label Sep 7, 2018

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Sep 7, 2018

@kjbracey-arm

Looks correct, just nit-picking on style.

Show resolved Hide resolved targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c Outdated
Show resolved Hide resolved targets/TARGET_Silicon_Labs/TARGET_EFM32/crc_api.c Outdated
@stevew817

This comment has been minimized.

Contributor

stevew817 commented Sep 22, 2018

@kjbracey-arm I applied changes according to your style comments. Can we get this fix in?

@cmonr

This comment has been minimized.

Contributor

cmonr commented Sep 22, 2018

/moprh build

@stevew817

This comment has been minimized.

Contributor

stevew817 commented Sep 23, 2018

@cmonr typo? :)

@cmonr

This comment has been minimized.

Contributor

cmonr commented Sep 23, 2018

Typo...

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented Sep 23, 2018

Build : SUCCESS

Build number : 3135
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/8026/

Triggering tests

/morph test
/morph export-build
/morph mbed2-build

@mbed-ci

This comment has been minimized.

@mbed-ci

This comment has been minimized.

@0xc0170 0xc0170 merged commit b5ee0c0 into ARMmbed:master Sep 24, 2018

15 checks passed

ci-morph-build build completed
Details
ci-morph-exporter build completed
Details
ci-morph-mbed2-build build completed
Details
ci-morph-test test completed , RTOS ROM(+0.0%) RAM(+0.0%)
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
jenkins-ci/cloud_client_smoke_test Test job: successful
Details
jenkins-ci/unittests Test job: successful
Details
travis-ci/astyle Passed, 612 files
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/events Passed, runtime is 10341 cycles (+1132 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 8372B (+0.00%)
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment