Skip to content

Support NUMAKER_IOT_M487 V1.3 (re-raise) #84

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
Jan 9, 2020

Conversation

ccli8
Copy link
Contributor

@ccli8 ccli8 commented Jan 9, 2020

Description

This PR is re-raised to support NUMAKER_IOT_M487 V1.3.

Note1: #41 breaks for some unknown reason. This PR is re-raised to replace it.
Note2: Compared to V1.2, V1.3 adds ESP8266 RTS/CTS/RST wiring. It is incompatible with V1.2.

@iot-pdmc
Copy link
Collaborator

iot-pdmc commented Jan 9, 2020

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

@teetak01
Copy link
Contributor

teetak01 commented Jan 9, 2020

build-only

1.  Support Nuvoton targets:
    -   NUMAKER_IOT_M487 V1.3
        Compared to V1.2, V1.3 adds support for ESP8266 RTS/CTS/RST pins. V1.3 is incompatible with V1.2 on ESP8266.
2.  Change storage to NUSD (SD card in SDIO bus mode) from SD (SD card SPI bus mode)
    (1) Add COMPONENT_NUSD.lib.
    (2) Add component NUSD (target.components_add).
    (3) Change default BlockDevice to NUSD:
        Override BlockDevice::get_default_instance (nusd.provide-default-blockdevice).
        Required since mbed-cloud-client 2.1.0 (arm_uc_blockdevice_ext) or in:
        mbed-bootloader/modules/storage/pal-blockdevice/source/arm_uc_pal_blockdevice_mbed.cpp
    (4) Enable kvstore with blockdevice type being "other".
        i)  Override get_other_blockdevice() (nusd.provide-kvstore-other-blockdevice).
        ii) Configure storage type to "FILESYSTEM".
        iii)Configure file system type to "LITTLE".
        vi) Configure block device type to "other".
        v)  Configure external size to 64MiB, which cannot overlap with update-client.
            storage-address/update-client.storage-size.
3.  Change back UARTSerial tx/rx buffer size from 1024/1024 to 256/256. This can reduce
    memory footprint by (1024 - 256) * 2 = 1.5KiB. Because this configuration influences
    both ESP8266 and default console (platfrom/mbed_retarget.cpp), memory reduction can
    achieve 1.5KiB x 2 = 3KiB.
4.  Enlarge ESP8266 'send tcp data' timeout on Nuvoton targets
    Pelion connection has some failure rate with this. Enlarging ESP8266_SEND_TIMEOUT
    can just relieve the issue. A ticket has raised to address it:
    ARMmbed/mbed-os#11544
@ccli8 ccli8 force-pushed the nuvoton_initial_support_m487-iot branch from 316cd5e to b3bf7c5 Compare January 9, 2020 09:31
@teetak01
Copy link
Contributor

teetak01 commented Jan 9, 2020

build-only

@iot-pdmc
Copy link
Collaborator

iot-pdmc commented Jan 9, 2020

@teetak01 teetak01 added build-only Target has no CI support and is approved with only build-check ready-to-merge and removed Requires CI labels Jan 9, 2020
@teetak01 teetak01 merged commit 0af9cdb into ARMmbed:master Jan 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build-only Target has no CI support and is approved with only build-check ready-to-merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants