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

Fix compile error for Mbed TF-M V8M target #81

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ccli8
Copy link

@ccli8 ccli8 commented Jul 8, 2021

[x] I confirm this contribution is my own and I agree to license it with Apache 2.0.
[x] I confirm the moderators may change the PR before merging it in.
[x] I understand the release model prohibits detailed Git history and my contribution will be recorded to the list at the bottom of CONTRIBUTING.md.

Summary of changes

Use DEVICE_FLASH to exclude KVStore/FLASHIAP code for Mbed TF-M V8M target, usually without FLASHIAP.

Use DEVICE_FLASH to exclude KVStore/FLASHIAP code
@ccli8
Copy link
Author

ccli8 commented Jul 22, 2021

Have a look?

@marcuschangarm
Copy link

Thank you, I'll take a look.

@marcuschangarm
Copy link

@ccli8
Can you share the compile errors you are seeing, please? Even without FlashIAP, the function should still be available: https://github.com/ARMmbed/mbed-os/blob/master/storage/kvstore/kv_config/source/kv_config.cpp#L1002-L1004

@ccli8
Copy link
Author

ccli8 commented Jul 29, 2021

@marcuschangarm Oh, it is runtime error, not compile error. As you pointed out, kv_init_storage_config() will return MBED_ERROR_UNSUPPORTED when FLASHIAP is not supported.

int status = kv_init_storage_config();
if (status != MBED_SUCCESS) {
printf("kv_init_storage_config() - failed, status %d\n", status);
return status;
}

@marcuschangarm
Copy link

@ccli8
Would this work for you instead?

    int status = kv_init_storage_config();
    if (status != MBED_SUCCESS) {
#ifdef MBED_CONF_MBED_CLOUD_CLIENT_PSA_SUPPORT
        if (status == MBED_ERROR_UNSUPPORTED) {
            printf("PSA enabled, ignore kv_init_storage_config() is not supported\n");
        } else
#endif
        {
            printf("kv_init_storage_config() - failed, status %d\n", status);
            return status;
        }
    }

We support KV store on other mediums than internal flash, so using DEVICE_FLASH is too restrictive.

@ccli8
Copy link
Author

ccli8 commented Jul 30, 2021

@marcuschangarm The above patch can work for me.

@ccli8
Copy link
Author

ccli8 commented Aug 5, 2021

@marcuschangarm Need I update this PR to include above modification, or you'll merge it separately?

@marcuschangarm
Copy link

@ccli8 Sorry, I can see my message was ambiguous. I've made the changes to our internal repository and it should be part of one of the next releases. I'll close this PR once everything is ready to go.

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.

2 participants