Skip to content

Add Uhuru RAVEN and NUCLEO F767ZI support #108

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 1 commit into from
Feb 6, 2020

Conversation

toyowata
Copy link
Contributor

@toyowata toyowata commented Feb 5, 2020

Adding new target

Uhuru Raven

Internal Flash : 2MB
RAM : 512kB
Connectivity : Wi-Fi (ESP32)

kvstore : internal flash
Update storage : internal flash

NUCLEO F767ZI

Internal Flash : 2MB
RAM : 512kB
Connectivity : Ethernet

kvstore : internal flash
Update storage : internal flash

Summary of changes

[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.

For new board enablements only:

[x] I confirm the board is Mbed Enabled and passes the Mbed Enabled test set.

[] I confirm the contribution has been tested properly and the tests results for TESTS are attached.

The test can not run on this target. See #109 for more detail. I did manually test connect and update features for this target and works fine.

[x] I confirm mbed-os.lib and mbed-cloud-client.lib hashes or the content in folders mbed-os and mbed-cloud-client were not modified in order to pass the tests.

  • Maintainers of this repository update the Mbed OS and Client hashes.
  • Please report any issues through issues in relevant repositories.

cc @MarceloSalazar

@iot-pdmc
Copy link
Collaborator

iot-pdmc commented Feb 5, 2020

Thanks for your changes.
@ARMmbed/pdmc-integrators please review.

@MarceloSalazar
Copy link

Thanks Toyo!
@teetak01 FYI these two targets have the same MCU: F767ZI

Copy link
Contributor

@teetak01 teetak01 left a comment

Choose a reason for hiding this comment

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

It would be better to follow the recommended configuration for internal flash:

https://www.pelion.com/docs/device-management/current/porting/porting-a-new-target-for-mbed-os-using-internal-flash-for-secure-storage-kvstore.html

This is not the most optimal configuration if I read this correctly.

It has bootloader + KVStore + application on first bank, and then it has the whole second half is dedicated for update (with some space left empty for KV-sized area?)

@toyowata
Copy link
Contributor Author

toyowata commented Feb 6, 2020

@teetak01

STM32F767 flash memory block info:
stm32f767_flash

If I follow the recommendation config here, kvstore should be located to Sector 8 and 9 (256+256 KB), which is not optimum flash memory usage.

So, I defined flash configuration as below:

Sector # Sector size Description
Sector 0 32 KB Bootloader
Sector 1 32 KB kvstore 0
Sector 2 32 KB kvstore 1
Sector 3 32 KB Application (inc. metadata header)
Sector 4 128 KB Application
Sector 5 256 KB Application
Sector 6 256 KB Application
Sector 7 256 KB Application
Sector 8 256 KB Update storage
Sector 9 256 KB Update storage
Sector 10 256 KB Update storage
Sector 11 256 KB Update storage

Copy link
Contributor

@teetak01 teetak01 left a comment

Choose a reason for hiding this comment

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

Thanks @toyowata for the explanation!

This is first time I see this kind of single-bank configuration on any board. Pretty much all others have had flash in two banks.

@teetak01
Copy link
Contributor

teetak01 commented Feb 6, 2020

build-only

@toyowata
Copy link
Contributor Author

toyowata commented Feb 6, 2020

I just got test result from device using latest release of pelion-e2e-python-test-library:

----------------------------------------------------- live log sessionfinish ------------------------------------------------------
2020-02-06 16:58:24.971      INFO   -----  TEST RESULTS SUMMARY  -----
2020-02-06 16:58:24.972      INFO   [ check the complete fail reasons and code locations from this log or html report ]
2020-02-06 16:58:24.972      INFO   [passed] - dev-client-tests.py::test_01_get_device_id - (0.790s)
2020-02-06 16:58:24.973      INFO   [passed] - dev-client-tests.py::test_02_put_resource - (10.753s)
2020-02-06 16:58:24.973      INFO   [passed] - dev-client-tests.py::test_03_get_resource - (1.756s)
2020-02-06 16:58:24.973      INFO   [passed] - dev-client-tests.py::test_04_subscribe_resource - (6.444s)
2020-02-06 16:58:24.973      INFO   [passed] - dev-client-tests.py::test_05_factory_reset - (20.861s)

@iot-pdmc
Copy link
Collaborator

iot-pdmc commented Feb 6, 2020

@teetak01 teetak01 merged commit 0ab340e into ARMmbed:master Feb 6, 2020
@toyowata toyowata deleted the dev_stm32f767zi branch February 19, 2020 02:49
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.

4 participants