diff --git a/examples/Makefile-qpg7015m b/examples/Makefile-qpg7015m index 41d459b18..1ad336618 100755 --- a/examples/Makefile-qpg7015m +++ b/examples/Makefile-qpg7015m @@ -105,7 +105,7 @@ LDFLAGS += \ -Wl,--gc-sections \ -Wl,-Map=$(PREFIX_LC).map \ -lrt \ - -pthread \ + -pthread \ $(NULL) ECHO := @echo diff --git a/examples/platforms/gp712/Makefile.platform.am b/examples/platforms/gp712/Makefile.platform.am index 7dc695807..d7d844fa0 100644 --- a/examples/platforms/gp712/Makefile.platform.am +++ b/examples/platforms/gp712/Makefile.platform.am @@ -35,12 +35,12 @@ LDADD_COMMON += \ $(NULL) if OPENTHREAD_ENABLE_FTD LDADD_COMMON += \ - $(top_srcdir)/third_party/Qorvo/repo/gp712/libQorvoGP712_ftd.a \ + $(top_srcdir)/third_party/Qorvo/repo/gp712/lib/libQorvoGP712_ftd.a \ $(NULL) else # OPENTHREAD_ENABLE_FTD if OPENTHREAD_ENABLE_MTD LDADD_COMMON += \ - $(top_srcdir)/third_party/Qorvo/repo/gp712/libQorvoGP712_mtd.a \ + $(top_srcdir)/third_party/Qorvo/repo/gp712/lib/libQorvoGP712_mtd.a \ $(NULL) endif # OPENTHREAD_ENABLE_MTD -endif \ No newline at end of file +endif diff --git a/examples/platforms/gp712/README.md b/examples/platforms/gp712/README.md index 47d6731f6..2d20a9747 100644 --- a/examples/platforms/gp712/README.md +++ b/examples/platforms/gp712/README.md @@ -7,10 +7,10 @@ This directory contains example platform drivers for Qorvo gp712 on RPi. This example uses the GNU GCC toolchain on the Raspberry Pi. To build on the Pi: 1. Download the repo to the Pi -2. go to the subfolder in the openthread repo: third_party/nlbuild-autotools/repo/tools/packages and enter this command: +2. go to the subfolder in the openthread repo: third_party/nlbuild-autotools/repo/ and enter this command: ```bash -$ sudo /bin/bash build +$ make tools ``` Note that you may need to install additional packages to make this build work, depending on your actual RPi OS version. The build process will complain if additional packages are required. @@ -26,8 +26,6 @@ $ REFERENCE_DEVICE=1 CLI_LOGGING=1 COMMISSIONER=1 JOINER=1 DHCP6_CLIENT=1 DHCP6_ After a successful build, the `elf` files are found in `/output/gp712/bin`. -Building a variant which interfaces via a tcp socket is also possible. Replace the uart-posix.c with uart-socket.c in the Makefile.am from examples/platforms/gp712/Makefile.am and rebuild. Now it should be possible to open a telnet to socket 9190 of the raspberry pi from a remote PC. This also easier testing with the official Thread Test Harness. - ## ## Interact diff --git a/examples/platforms/qpg6095/CMakeLists.txt b/examples/platforms/qpg6095/CMakeLists.txt index b59202a25..9416755a8 100644 --- a/examples/platforms/qpg6095/CMakeLists.txt +++ b/examples/platforms/qpg6095/CMakeLists.txt @@ -80,7 +80,7 @@ target_link_libraries(openthread-qpg6095 ${OT_MBEDTLS} ot-config PUBLIC - -T${CMAKE_CURRENT_SOURCE_DIR}/qpg6095.ld + -T${PROJECT_SOURCE_DIR}/third_party/Qorvo/repo/qpg6095/ld/qpg6095.ld -Wl,--gc-sections -Wl,-Map=$.map ) diff --git a/examples/platforms/qpg6095/Makefile.am b/examples/platforms/qpg6095/Makefile.am index 4d12aa866..1778da6bd 100644 --- a/examples/platforms/qpg6095/Makefile.am +++ b/examples/platforms/qpg6095/Makefile.am @@ -74,7 +74,7 @@ libopenthread_qpg6095_a_LIBADD = \ $(shell find $(top_builddir)/examples/platforms/utils $(Dash)type f $(Dash)name "*.o") if OPENTHREAD_BUILD_COVERAGE -CLEANFILES = $(wildcard *.gcda *.gcno) +CLEANFILES = $(wildcard *.gcda *.gcno) endif # OPENTHREAD_BUILD_COVERAGE include $(abs_top_nlbuild_autotools_dir)/automake/post.am diff --git a/examples/platforms/qpg6095/Makefile.platform.am b/examples/platforms/qpg6095/Makefile.platform.am index 9230e7ec4..5a433f101 100644 --- a/examples/platforms/qpg6095/Makefile.platform.am +++ b/examples/platforms/qpg6095/Makefile.platform.am @@ -30,21 +30,20 @@ # qpg6095 platform-specific Makefile # -LDADD_COMMON += \ - $(top_builddir)/examples/platforms/qpg6095/libopenthread-qpg6095.a \ +LDADD_COMMON += \ + $(top_builddir)/examples/platforms/qpg6095/libopenthread-qpg6095.a \ $(NULL) if OPENTHREAD_ENABLE_FTD -LDADD_COMMON += \ - $(top_srcdir)/third_party/Qorvo/repo/qpg6095/libQorvoQPG6095_ftd.a \ +LDADD_COMMON += \ + $(top_srcdir)/third_party/Qorvo/repo/qpg6095/lib/libQorvoQPG6095_ftd.a \ $(NULL) else # OPENTHREAD_ENABLE_FTD if OPENTHREAD_ENABLE_MTD -LDADD_COMMON += \ - $(top_srcdir)/third_party/Qorvo/repo/qpg6095/libQorvoQPG6095_mtd.a \ +LDADD_COMMON += \ + $(top_srcdir)/third_party/Qorvo/repo/qpg6095/lib/libQorvoQPG6095_mtd.a \ $(NULL) endif # OPENTHREAD_ENABLE_MTD endif - -LDFLAGS_COMMON += \ - -T $(top_srcdir)/examples/platforms/qpg6095/qpg6095.ld \ +LDFLAGS_COMMON += \ + -T $(top_srcdir)/third_party/Qorvo/repo/qpg6095/ld/qpg6095.ld \ $(NULL) diff --git a/examples/platforms/qpg6095/qpg6095.ld b/examples/platforms/qpg6095/qpg6095.ld deleted file mode 100644 index b715c113a..000000000 --- a/examples/platforms/qpg6095/qpg6095.ld +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright (c) 2019, The OpenThread Authors. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holder nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * (c) 2015, GreenPeak Technologies - * Simple linker script. - */ - - - - - -/* Memory Spaces Definitions */ -MEMORY -{ - /* Ram origin start 0x1800 after real begin: this is (with some margin) the location of the windows. - We can move this back, but this means we need to init the windows ourselves */ - SYSRAM (rxw) : ORIGIN = 0x20008000, LENGTH = 0xA000 /* reserve 1KB for bootloader */ - UCRAM (rxw) : ORIGIN = 0x20012000, LENGTH = 0x6000 - FLASH (rx) : ORIGIN = 0x04000000, LENGTH = 0x80000 -} - -SECTIONS -{ - flash_end = 0x4000000 + 0x80000; - -/* - * User license is first - only for FLASH programs. - */ - .vpp 0x4000000 + 28 : { LONG(_ivt >> 8); } > FLASH - .mw 0x4000000 + 0x20 : { LONG(0x693A5C81); } > FLASH - /* Reserve space for RT system in FLASH */ - rt_system_start_offset = 0x200; - rt_system_start_address = ORIGIN(FLASH) + rt_system_start_offset; - .rt_flash rt_system_start_address : {. = ALIGN(4); *(.rt_flash); } > FLASH - ASSERT((rt_system_start_offset % 0x20 == 0), "RT system start should be aligned on 32 bytes") - ASSERT((rt_system_start_address / 0x20000 == . / 0x20000 ), "RT system shall not cross 128kb boundary") - -/* FIXME: temp offset to allow flash bootloader to reside in lower memory */ - .isr_vector : ALIGN(0x800) { _ivt = .; KEEP(*(.isr_vector)); } > FLASH - - - .text : { . = ALIGN(4); *(.text) *(.text.*); } > FLASH - .rodata : { . = ALIGN(4); *(.rodata) *(.rodata.*);} > FLASH - - /* Start retained memory in sleep */ - _slower_retain = 0x20008000; - - /* Fixed sections */ - .mw_crc 0x20008000 : { . += 0x4; } > SYSRAM - .crc 0x20008004 : { . += 0x4; } > SYSRAM - .ret_hw 0x20008008 : { . += 0x1B4; } > SYSRAM - .ret_sw 0x200081BC : { . += 0x7B; } > SYSRAM - ASSERT(. >= 0x200081c0, "gpmicro areas must fall into retention areas") - - /* .events and .pbm_options too big for this space */ - - /* MAC_filt and BLE_mgr RAM register map - fixed size: 0x140 */ - .ram_regmap 0x20008240 : ALIGN(4) { . += 0x140; } > SYSRAM - /* .ram_regmap : { . += 0x140; } > SYSRAM /* don't waste the last bytes of the 512-byte window; */ - /* Windowed sections */ - .events : { . += 0x10; } > SYSRAM /* 1 events (16 bytes) */ - .pbm_options : { . += 0x400; } > SYSRAM /* 32 PBM options (32 bytes) */ - /* pbm data is taken from buffers in lower_ram_retain */ - - /* Data for first 16 KB region */ - .lower_ram_retain_gpmicro_accessible (NOLOAD) : { . = ALIGN(4); *(.lower_ram_retain_gpmicro_accessible) *(.lower_ram_retain_gpmicro_accessible.*); } > SYSRAM - ASSERT (. < 0x2000c000, ".lower_ram_retain_gpmicro_accessible outside of gpMicro address range") - .lower_ram_retain (NOLOAD) : { . = ALIGN(4); *(.lower_ram_retain) *(.lower_ram_retain.*); } > SYSRAM - - .bss_uc : { . = ALIGN(4); *(.bss.*) *(.bss);} > SYSRAM - - _elower_retain = . ; /* End memory to be retained */ - .lower_ram_noretain (NOLOAD) : { . = ALIGN(4); *(.lower_ram_noretain) *(.lower_ram_noretain.*); } > SYSRAM - _elower_ram = . ; - - /* make sure this goes into ucram */ - . = ORIGIN(UCRAM); - - PROVIDE(_shigher_retain = .); - .higher_ram_retain (NOLOAD) : { . = ALIGN(4); *(.higher_ram_retain) *(.higher_ram_retain.*); } > UCRAM - .bss : { . = ALIGN(4); *(COMMON);} > UCRAM - .data : { . = ALIGN(4); *(.data) *(.data.*); } > UCRAM AT > FLASH - PROVIDE(_ehigher_retain = .); - .higher_ram_noretain (NOLOAD) : { . = ALIGN(4); *(.higher_ram_noretain) *(.higher_ram_noretain.*); } > UCRAM - _ehigher_ram = . ; - - /* remove the debugging information from the standard libraries */ - /DISCARD/ : { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .gpNvm flash_end - 0x1800: - { - gpNvm_Start = . ; - . = 0x1800 ; - gpNvm_End = . ; - } > FLASH - - _etext = ADDR(.text) + SIZEOF(.text); - _sidata = LOADADDR(.data); - _sdata = ADDR(.data); - _edata = ADDR(.data) + ALIGN(SIZEOF(.data), 4); - _ldata = _edata - _sdata; - _sbss = ADDR(.bss); - _ebss = ADDR(.bss) + ALIGN(SIZEOF(.bss), 4); - _lbss = _ebss - _sbss; - _sbss_uc = ADDR(.bss_uc); - _ebss_uc = ADDR(.bss_uc) + ALIGN(SIZEOF(.bss_uc), 4); - _lbss_uc = _ebss_uc - _sbss_uc; - - /* using remaining UCRAM for stack */ - _sstack = _ehigher_ram; - _estack = ORIGIN(UCRAM) + LENGTH(UCRAM); - - /* check minimum stack size is still available */ - min_stack_size = 0x2000; - stack_size = _estack - _sstack; - ASSERT(stack_size >= min_stack_size, "STACK too small") - - /* fixme: needs to be calculated basedl on size of event block */ - /* total_nr_of_events_as_an_address = SIZEOF(.events) / 16;*/ - total_nr_of_events_as_an_address = 16; - - /* needed for ram retention configuration */ - __lowerram_retain_size = _elower_retain - _slower_retain; - __higherram_retain_size = SIZEOF(.higher_ram_retain); - - sw_retention_begin = ADDR(.ret_sw); - sw_retention_end = ADDR(.ret_sw) + SIZEOF(.ret_sw); - sw_retention_size = SIZEOF(.ret_sw); - - /* needed for .windowed regions configuration */ - ram_regmap_begin = ADDR(.ram_regmap); - events_begin = ADDR(.events); - pbm_options_begin = ADDR(.pbm_options); - - /* check .windowed regions' offset from RAM start is divisible by 4 */ - ASSERT( ((ram_regmap_begin - 0x20008000) % 4) == 0, ".ram_regmap offset not divisible by 4") - ASSERT( ((events_begin - 0x20008000) % 4) == 0, ".events offset not divisible by 4") - ASSERT( ((pbm_options_begin - 0x20008000) % 4) == 0, ".pbm_options offset not divisible by 4") -} - -ENTRY(reset_handler) diff --git a/examples/platforms/qpg6100/Makefile.platform.am b/examples/platforms/qpg6100/Makefile.platform.am index 52656bcc4..559980ff1 100644 --- a/examples/platforms/qpg6100/Makefile.platform.am +++ b/examples/platforms/qpg6100/Makefile.platform.am @@ -30,26 +30,25 @@ # qpg6100 platform-specific Makefile # -LDADD_COMMON += \ - $(top_builddir)/examples/platforms/qpg6100/libopenthread-qpg6100.a \ +LDADD_COMMON += \ + $(top_builddir)/examples/platforms/qpg6100/libopenthread-qpg6100.a \ $(NULL) if OPENTHREAD_ENABLE_BUILTIN_MBEDTLS -LDADD_COMMON += \ - $(top_srcdir)/third_party/Qorvo/repo/qpg6100/libmbedtls_alt.a \ +LDADD_COMMON += \ + $(top_srcdir)/third_party/Qorvo/repo/qpg6100/lib/libmbedtls_alt.a \ $(NULL) endif # OPENTHREAD_ENABLE_BUILTIN_MBEDTLS if OPENTHREAD_ENABLE_FTD -LDADD_COMMON += \ - $(top_srcdir)/third_party/Qorvo/repo/qpg6100/libQorvoQPG6100_ftd.a \ +LDADD_COMMON += \ + $(top_srcdir)/third_party/Qorvo/repo/qpg6100/lib/libQorvoQPG6100_ftd.a \ $(NULL) else # OPENTHREAD_ENABLE_FTD if OPENTHREAD_ENABLE_MTD -LDADD_COMMON += \ - $(top_srcdir)/third_party/Qorvo/repo/qpg6100/libQorvoQPG6100_mtd.a \ +LDADD_COMMON += \ + $(top_srcdir)/third_party/Qorvo/repo/qpg6100/lib/libQorvoQPG6100_mtd.a \ $(NULL) endif # OPENTHREAD_ENABLE_MTD endif -LDFLAGS_COMMON += \ - -T $(top_srcdir)/examples/platforms/qpg6100/qpg6100.ld \ +LDFLAGS_COMMON += \ + -T $(top_srcdir)/third_party/Qorvo/repo/qpg6100/ld/qpg6100.ld \ $(NULL) - diff --git a/examples/platforms/qpg6100/qpg6100.ld b/examples/platforms/qpg6100/qpg6100.ld deleted file mode 100644 index a8d62b0c0..000000000 --- a/examples/platforms/qpg6100/qpg6100.ld +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (c) 2019, The OpenThread Authors. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the copyright holder nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * (c) 2019-2020, Qorvo - */ - -/* Memory Spaces Definitions */ -MEMORY -{ - /* Last 32 bytes of UCRAM in use by ROM bootloader stack. */ - RAM (rxw) : ORIGIN = 0x20008000, LENGTH = 0x17fe0 - FLASH (rx) : ORIGIN = 0x4000000, LENGTH = 0x80000 - ROM (rx) : ORIGIN = 0x04800000, LENGTH = 0x8000 -} - -SECTIONS -{ - eFLASH = 0x4080000; - - sSYSRAM = 0x20008000; - eSYSRAM = 0x20010000; - sUCRAM = 0x20010000; - eUCRAM = 0x20020000; - - /* Linkerscript only for contiguous SYS and UCRAM */ - ASSERT(eSYSRAM == sUCRAM, "Non contiguous SYS and UCRAM") - - /* - * User license is first - only for FLASH programs. - * - * BLE/MAC address entries (+0x10) in the user license skipped to - * allow injection of custom values by programmer tool. - */ - .native_user_license 0x4000000 + 0x10 : { - sUserLicense = .; - KEEP(*(.native_user_license)) - eUserLicense = .; - } > FLASH - ASSERT(sUserLicense < eUserLicense, "No User License") - - /* Reserve space for RT system in FLASH */ - rt_system_start_offset = 0x400; - rt_system_start_address = ORIGIN(FLASH) + rt_system_start_offset; - .rt_flash rt_system_start_address : {. = ALIGN(4); *(.rt_flash); } > FLASH - ASSERT((rt_system_start_offset % 0x80 == 0), "RT system start should be aligned on 128 bytes") - ASSERT((rt_system_start_address / 0x20000 == . / 0x20000 ), "RT system shall not cross 128kb boundary") - .isr_vector : ALIGN(0x100) { KEEP(*(.isr_vector)); } > FLASH - .text : { . = ALIGN(4); *(.text) *(.text.*); } > FLASH - .rodata : { . = ALIGN(4); *(.rodata) *(.rodata.*);} > FLASH - .rom : { . = ALIGN(4); *(.rom) *(.rom.*); } > ROM - - - /* Start of memory to be retained in sleep */ - _sretain = 0x20008000; - - /* Fixed sections */ - .mw_crc 0x20008000 : { . += 0x4; } > RAM - .crc 0x20008004 : { . += 0x4; } > RAM - .ret_hw 0x20008008 : { . += 0x1B4; } > RAM - .ret_sw 0x200081BC : { . += 0x7B; } > RAM - ASSERT(. >= 0x200081c0, "gpmicro areas must fall into retention areas") - /* 0x20008370-0x2000837F : unused space */ - /* PUF RAM Area */ - .pkey 0x20008380 : { . += 0x80; } > RAM - .pufr 0x20008400 : { . += 0x400; } > RAM - - /* Windowed sections */ - /* ram_regmap, events, pbm options and pbm data are taken from buffers in .lower_ram_retain */ - - .lower_ram_retain_gpmicro_accessible (NOLOAD) : { . = ALIGN(4); *(.lower_ram_retain_gpmicro_accessible) *(.lower_ram_retain_gpmicro_accessible.*); } > RAM - ASSERT (. < 0x20008000+0x4000, ".lower_ram_retain_gpmicro_accessible area outside range") - .lower_ram_retain (NOLOAD) : { . = ALIGN(4); *(.lower_ram_retain) *(.lower_ram_retain.*); } > RAM - - _elower_ram = . ; - - /* Check regions are allocated in lower ram */ - ASSERT(_elower_ram < eSYSRAM, "SYSRAM ram full") - - .data : { . = ALIGN(4); *(.data) *(.data.*); } > RAM AT > FLASH - .bss : { . = ALIGN(4); *(.bss) *(.bss.*) *(COMMON); } > RAM - - /* End of memory to be retained */ - _eretain = . ; - - /* Scroll up to higher ram area for scratchpad variables */ - .higher_ram_noretain (NOLOAD) : { - . = (_eretain > sUCRAM) ? ALIGN(4) : (sUCRAM - _eretain); - _shigher_ram_noretain = . ; - *(.higher_ram_noretain) *(.higher_ram_noretain.*); - _ehigher_ram_noretain = . ; - } > RAM - /* Check if properly allocated in UCRAM only if any variables required specific allocation. */ - ASSERT((_ehigher_ram_noretain - _shigher_ram_noretain) > 0 ? (_shigher_ram_noretain >= sUCRAM) : 1, "higher_ram_noretain not in higher ram") - - _eram = .; - - /* Remove the debugging information from the standard libraries */ - /DISCARD/ : { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .gpNvm eFLASH - 0x4000: - { - gpNvm_Start = . ; - . = 0x4000 ; - gpNvm_End = . ; - } > FLASH - - /* Linker Symbols */ - _native_user_license_vpp = ADDR(.isr_vector) >> 8; - _loaded_user_license_vpp = ADDR(.isr_vector) >> 8; - _etext = ADDR(.text) + SIZEOF(.text); - _sidata = LOADADDR(.data); - _sdata = ADDR(.data); - _edata = ADDR(.data) + ALIGN(SIZEOF(.data), 4); - _ldata = _edata - _sdata; - _sbss = ADDR(.bss); - _ebss = ADDR(.bss) + ALIGN(SIZEOF(.bss), 4); - _lbss = _ebss - _sbss; - - /* using remaining RAM for stack */ - _sstack = _eram; - _estack = ORIGIN(RAM) + LENGTH(RAM) - SIZEOF(.higher_ram_noretain); - - /* check minimum stack size is still available */ - min_stack_size = 0x800; - stack_size = _estack - _sstack; - ASSERT(stack_size >= min_stack_size, "STACK too small") - - /* needed for ram retention configuration */ - __lowerram_retain_size = _eretain < eSYSRAM ? _eretain - _sretain : eSYSRAM - _sretain; - __higherram_retain_size = _eretain < eSYSRAM ? 0 : _eretain - eSYSRAM; - - sw_retention_begin = ADDR(.ret_sw); - sw_retention_end = ADDR(.ret_sw) + SIZEOF(.ret_sw); - sw_retention_size = SIZEOF(.ret_sw); -} - -ENTRY(reset_handler) diff --git a/examples/platforms/qpg7015m/Makefile.am b/examples/platforms/qpg7015m/Makefile.am index 613e498a5..11c0a6ba1 100755 --- a/examples/platforms/qpg7015m/Makefile.am +++ b/examples/platforms/qpg7015m/Makefile.am @@ -62,12 +62,12 @@ PLATFORM_SOURCES = \ uart_qorvo.h \ $(NULL) -libopenthread_qpg7015m_a_SOURCES = \ - $(PLATFORM_SOURCES) \ +libopenthread_qpg7015m_a_SOURCES = \ + $(PLATFORM_SOURCES) \ $(NULL) if OPENTHREAD_BUILD_COVERAGE -CLEANFILES = $(wildcard *.gcda *.gcno) +CLEANFILES = $(wildcard *.gcda *.gcno) endif # OPENTHREAD_BUILD_COVERAGE include $(abs_top_nlbuild_autotools_dir)/automake/post.am diff --git a/examples/platforms/qpg7015m/Makefile.platform.am b/examples/platforms/qpg7015m/Makefile.platform.am index 9aa489707..0b62f4b91 100755 --- a/examples/platforms/qpg7015m/Makefile.platform.am +++ b/examples/platforms/qpg7015m/Makefile.platform.am @@ -30,17 +30,17 @@ # qpg7015m platform-specific Makefile # -LDADD_COMMON += \ - $(top_builddir)/examples/platforms/qpg7015m/libopenthread-qpg7015m.a \ +LDADD_COMMON += \ + $(top_builddir)/examples/platforms/qpg7015m/libopenthread-qpg7015m.a \ $(NULL) if OPENTHREAD_ENABLE_FTD -LDADD_COMMON += \ - $(top_srcdir)/third_party/Qorvo/repo/qpg7015m/libQorvoQPG7015M_ftd.a \ +LDADD_COMMON += \ + $(top_srcdir)/third_party/Qorvo/repo/qpg7015m/lib/libQorvoQPG7015M_ftd.a \ $(NULL) else # OPENTHREAD_ENABLE_FTD if OPENTHREAD_ENABLE_MTD -LDADD_COMMON += \ - $(top_srcdir)/third_party/Qorvo/repo/qpg7015m/libQorvoQPG7015M_mtd.a \ +LDADD_COMMON += \ + $(top_srcdir)/third_party/Qorvo/repo/qpg7015m/lib/libQorvoQPG7015M_mtd.a \ $(NULL) endif # OPENTHREAD_ENABLE_MTD -endif +endif diff --git a/examples/platforms/qpg7015m/openthread-core-qpg7015m-config.h b/examples/platforms/qpg7015m/openthread-core-qpg7015m-config.h old mode 100644 new mode 100755 diff --git a/third_party/Qorvo/CMakeLists.txt b/third_party/Qorvo/CMakeLists.txt index 572f61e04..42075e0d1 100644 --- a/third_party/Qorvo/CMakeLists.txt +++ b/third_party/Qorvo/CMakeLists.txt @@ -31,12 +31,12 @@ add_library(gp712-driver INTERFACE) if (OT_MTD) target_link_libraries(gp712-driver INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/repo/gp712/libQorvoGP712_mtd.a + ${CMAKE_CURRENT_SOURCE_DIR}/repo/gp712/lib/libQorvoGP712_mtd.a ) else() target_link_libraries(gp712-driver INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/repo/gp712/libQorvoGP712_ftd.a + ${CMAKE_CURRENT_SOURCE_DIR}/repo/gp712/lib/libQorvoGP712_ftd.a ) endif() @@ -45,12 +45,12 @@ add_library(qpg6095-driver INTERFACE) if (OT_MTD) target_link_libraries(qpg6095-driver INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg6095/libQorvoQPG6095_mtd.a + ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg6095/lib/libQorvoQPG6095_mtd.a ) else() target_link_libraries(qpg6095-driver INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg6095/libQorvoQPG6095_ftd.a + ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg6095/lib/libQorvoQPG6095_ftd.a ) endif() @@ -59,25 +59,25 @@ add_library(qpg6100-driver INTERFACE) if (OT_MTD) target_link_libraries(qpg6100-driver INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg6100/libQorvoQPG6100_mtd.a + ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg6100/lib/libQorvoQPG6100_mtd.a ) else() target_link_libraries(qpg6100-driver INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg6100/libQorvoQPG6100_ftd.a + ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg6100/lib/libQorvoQPG6100_ftd.a ) endif() - add_library(qpg7015m-driver INTERFACE) +add_library(qpg7015m-driver INTERFACE) if (OT_MTD) target_link_libraries(qpg7015m-driver INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg7015m/libQorvoQPG7015m_mtd.a + ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg7015m/lib/libQorvoQPG7015m_mtd.a ) else() target_link_libraries(qpg7015m-driver INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg7015m/libQorvoQPG7015m_ftd.a + ${CMAKE_CURRENT_SOURCE_DIR}/repo/qpg7015m/lib/libQorvoQPG7015m_ftd.a ) endif() diff --git a/third_party/Qorvo/repo b/third_party/Qorvo/repo index afc3e73dd..772b822cf 160000 --- a/third_party/Qorvo/repo +++ b/third_party/Qorvo/repo @@ -1 +1 @@ -Subproject commit afc3e73ddd7611c58eb46316ad3ca5b18b92492a +Subproject commit 772b822cffacfc8c298615fe0a20e5fdf6877275