From 0d280fa83ca2377784efde217721f7cba2d5e4ce Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Wed, 1 Sep 2021 12:43:43 -0700 Subject: [PATCH] Two fixes, one for ble workflow, one for linking BLE workflow had an incorrect list size for characteristics Linking didn't advance . link it should have without extra (). --- ports/atmel-samd/boards/common.template.ld | 12 ++++++------ ports/nrf/boards/common.template.ld | 12 ++++++------ supervisor/shared/bluetooth/serial.c | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/ports/atmel-samd/boards/common.template.ld b/ports/atmel-samd/boards/common.template.ld index b5faf7f458..05c0de4210 100644 --- a/ports/atmel-samd/boards/common.template.ld +++ b/ports/atmel-samd/boards/common.template.ld @@ -29,8 +29,8 @@ SECTIONS KEEP(*(.vectors)) /* isr vector table */ /* Sort text sections so that they have fewer *fill* bytes needed. */ - *SORT_BY_ALIGNMENT(SORT_BY_NAME(.text)) /* .text sections (code) */ - *SORT_BY_ALIGNMENT(SORT_BY_NAME(.text*)) /* .text* sections (code) */ + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.text))) /* .text sections (code) */ + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.text*))) /* .text* sections (code) */ /* Don't sort rodata because it impacts codegen size. */ *(.rodata) /* .rodata sections (constants, strings, etc.) */ @@ -66,8 +66,8 @@ SECTIONS _srelocate = .; /* create a global symbol at data start; used by startup code in order to initialize the .data section in RAM */ *(.ramfunc) *(.ramfunc*) - *SORT_BY_ALIGNMENT(SORT_BY_NAME(.data)) /* .data sections */ - *SORT_BY_ALIGNMENT(SORT_BY_NAME(.data*)) /* .data* sections */ + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.data))) /* .data sections */ + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.data*))) /* .data* sections */ . = ALIGN(4); _erelocate = .; /* define a global symbol at data end; used by startup code in order to initialize the .data section in RAM */ @@ -79,8 +79,8 @@ SECTIONS . = ALIGN(4); _sbss = .; _szero = .; /* define a global symbol at bss start; used by startup code */ - *(.bss) - *SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss*)) + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss))) + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss*))) *(COMMON) . = ALIGN(4); diff --git a/ports/nrf/boards/common.template.ld b/ports/nrf/boards/common.template.ld index 306145e00c..dda31e4fdc 100644 --- a/ports/nrf/boards/common.template.ld +++ b/ports/nrf/boards/common.template.ld @@ -62,8 +62,8 @@ SECTIONS .text : { . = ALIGN(4); - *SORT_BY_ALIGNMENT(SORT_BY_NAME(.text)) /* .text sections (code) */ - *SORT_BY_ALIGNMENT(SORT_BY_NAME(.text*)) /* .text* sections (code) */ + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.text))) /* .text sections (code) */ + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.text*))) /* .text* sections (code) */ *(.rodata) /* .rodata sections (constants, strings, etc.) */ *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ /* *(.glue_7) */ /* glue arm to thumb code */ @@ -82,8 +82,8 @@ SECTIONS . = ALIGN(4); _sdata = .; /* create a global symbol at data start; used by startup code in order to initialise the .data section in RAM */ _ram_start = .; /* create a global symbol at ram start for garbage collector */ - *(.data) /* .data sections */ - *(.data*) /* .data* sections */ + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.data))) /* .data sections */ + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.data*))) /* .data* sections */ . = ALIGN(4); _edata = .; /* define a global symbol at data end; used by startup code in order to initialise the .data section in RAM */ @@ -97,8 +97,8 @@ SECTIONS { . = ALIGN(4); _sbss = .; /* define a global symbol at bss start; used by startup code */ - *(.bss) - *(.bss*) + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss))) + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss*))) *(COMMON) . = ALIGN(4); diff --git a/supervisor/shared/bluetooth/serial.c b/supervisor/shared/bluetooth/serial.c index 901b2d9a61..018acd5f4a 100644 --- a/supervisor/shared/bluetooth/serial.c +++ b/supervisor/shared/bluetooth/serial.c @@ -53,7 +53,7 @@ STATIC bleio_uuid_obj_t supervisor_ble_circuitpython_version_uuid; const uint8_t circuitpython_base_uuid[16] = {0x6e, 0x68, 0x74, 0x79, 0x50, 0x74, 0x69, 0x75, 0x63, 0x72, 0x69, 0x43, 0x00, 0x00, 0xaf, 0xad }; STATIC mp_obj_list_t characteristic_list; -STATIC mp_obj_t characteristic_list_items[2]; +STATIC mp_obj_t characteristic_list_items[3]; STATIC uint32_t _outgoing1[BLE_GATTS_VAR_ATTR_LEN_MAX / 4]; STATIC uint32_t _outgoing2[BLE_GATTS_VAR_ATTR_LEN_MAX / 4];