Skip to content

Release v2.0.4 into master #328

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 20 commits into from
Jan 20, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 16 additions & 15 deletions boards.txt
Original file line number Diff line number Diff line change
@@ -41,8 +41,8 @@ sfe_artemis.menu.svl_baud.460800=460800
sfe_artemis.menu.svl_baud.230400=230400
sfe_artemis.menu.svl_baud.115200=115200
sfe_artemis.menu.svl_baud.57600=57600
sfe_artemis.menu.loader.option_asb=Ambiq Secure Bootloader (Recommended)
sfe_artemis.menu.loader.option_svl=SparkFun Variable Loader (Out of Order)
sfe_artemis.menu.loader.option_svl=SparkFun Variable Loader (Recommended)
sfe_artemis.menu.loader.option_asb=Ambiq Secure Bootloader (Advanced)

sfe_artemis.menu.svl_baud.57600.upload.svl_baud=57600
sfe_artemis.menu.svl_baud.115200.upload.svl_baud=115200
@@ -77,8 +77,8 @@ sfe_artemis_atp.menu.svl_baud.460800=460800
sfe_artemis_atp.menu.svl_baud.230400=230400
sfe_artemis_atp.menu.svl_baud.115200=115200
sfe_artemis_atp.menu.svl_baud.57600=57600
sfe_artemis_atp.menu.loader.option_asb=Ambiq Secure Bootloader (Recommended)
sfe_artemis_atp.menu.loader.option_svl=SparkFun Variable Loader (Out of Order)
sfe_artemis_atp.menu.loader.option_svl=SparkFun Variable Loader (Recommended)
sfe_artemis_atp.menu.loader.option_asb=Ambiq Secure Bootloader (Advanced)

sfe_artemis_atp.menu.svl_baud.57600.upload.svl_baud=57600
sfe_artemis_atp.menu.svl_baud.115200.upload.svl_baud=115200
@@ -113,8 +113,8 @@ sfe_artemis_nano.menu.svl_baud.460800=460800
sfe_artemis_nano.menu.svl_baud.230400=230400
sfe_artemis_nano.menu.svl_baud.115200=115200
sfe_artemis_nano.menu.svl_baud.57600=57600
sfe_artemis_nano.menu.loader.option_asb=Ambiq Secure Bootloader (Recommended)
sfe_artemis_nano.menu.loader.option_svl=SparkFun Variable Loader (Out of Order)
sfe_artemis_nano.menu.loader.option_svl=SparkFun Variable Loader (Recommended)
sfe_artemis_nano.menu.loader.option_asb=Ambiq Secure Bootloader (Advanced)

sfe_artemis_nano.menu.svl_baud.57600.upload.svl_baud=57600
sfe_artemis_nano.menu.svl_baud.115200.upload.svl_baud=115200
@@ -149,8 +149,8 @@ sfe_artemis_thing_plus.menu.svl_baud.460800=460800
sfe_artemis_thing_plus.menu.svl_baud.230400=230400
sfe_artemis_thing_plus.menu.svl_baud.115200=115200
sfe_artemis_thing_plus.menu.svl_baud.57600=57600
sfe_artemis_thing_plus.menu.loader.option_asb=Ambiq Secure Bootloader (Recommended)
sfe_artemis_thing_plus.menu.loader.option_svl=SparkFun Variable Loader (Out of Order)
sfe_artemis_thing_plus.menu.loader.option_svl=SparkFun Variable Loader (Recommended)
sfe_artemis_thing_plus.menu.loader.option_asb=Ambiq Secure Bootloader (Advanced)

sfe_artemis_thing_plus.menu.svl_baud.57600.upload.svl_baud=57600
sfe_artemis_thing_plus.menu.svl_baud.115200.upload.svl_baud=115200
@@ -226,8 +226,8 @@ sfe_edge2.menu.svl_baud.460800=460800
sfe_edge2.menu.svl_baud.230400=230400
sfe_edge2.menu.svl_baud.115200=115200
sfe_edge2.menu.svl_baud.57600=57600
sfe_edge2.menu.loader.option_asb=Ambiq Secure Bootloader (Recommended)
sfe_edge2.menu.loader.option_svl=SparkFun Variable Loader (Out of Order)
sfe_edge2.menu.loader.option_svl=SparkFun Variable Loader (Recommended)
sfe_edge2.menu.loader.option_asb=Ambiq Secure Bootloader (Advanced)

sfe_edge2.menu.svl_baud.57600.upload.svl_baud=57600
sfe_edge2.menu.svl_baud.115200.upload.svl_baud=115200
@@ -245,7 +245,7 @@ sfe_edge2.menu.loader.option_svl.build.ldscript={runtime.platform.path}/tools/up

###############################################################

sfe_artemis_mm_pb.name=Artemis Micro Mod Processor
sfe_artemis_mm_pb.name=Artemis MicroMod Processor
sfe_artemis_mm_pb.build.core=arduino
sfe_artemis_mm_pb.build.variant=SFE_ARTEMIS_MM_PB
sfe_artemis_mm_pb.build.arch=APOLLO3
@@ -262,8 +262,8 @@ sfe_artemis_mm_pb.menu.svl_baud.460800=460800
sfe_artemis_mm_pb.menu.svl_baud.230400=230400
sfe_artemis_mm_pb.menu.svl_baud.115200=115200
sfe_artemis_mm_pb.menu.svl_baud.57600=57600
sfe_artemis_mm_pb.menu.loader.option_asb=Ambiq Secure Bootloader (Recommended)
sfe_artemis_mm_pb.menu.loader.option_svl=SparkFun Variable Loader (Out of Order)
sfe_artemis_mm_pb.menu.loader.option_svl=SparkFun Variable Loader (Recommended)
sfe_artemis_mm_pb.menu.loader.option_asb=Ambiq Secure Bootloader (Advanced)

sfe_artemis_mm_pb.menu.svl_baud.57600.upload.svl_baud=57600
sfe_artemis_mm_pb.menu.svl_baud.115200.upload.svl_baud=115200
@@ -298,8 +298,9 @@ sfe_artemis_module.menu.svl_baud.460800=460800
sfe_artemis_module.menu.svl_baud.230400=230400
sfe_artemis_module.menu.svl_baud.115200=115200
sfe_artemis_module.menu.svl_baud.57600=57600
sfe_artemis_module.menu.loader.option_asb=Ambiq Secure Bootloader (Recommended)
sfe_artemis_module.menu.loader.option_svl=SparkFun Variable Loader (Out of Order)
sfe_artemis_module.menu.loader.option_svl=SparkFun Variable Loader (Recommended)
sfe_artemis_module.menu.loader.option_asb=Ambiq Secure Bootloader (Advanced)


sfe_artemis_module.menu.svl_baud.57600.upload.svl_baud=57600
sfe_artemis_module.menu.svl_baud.115200.upload.svl_baud=115200
2 changes: 1 addition & 1 deletion cores/arduino/sdk/core-implement/CommonAnalog.cpp
Original file line number Diff line number Diff line change
@@ -150,7 +150,7 @@ int analogReadVSS( void ){
void indexAnalogWrite(pin_size_t index, int val){
// todo: replace with mbed "PwmOut" functionality

pin_size_t pinNumber = pinNumberByIndex(index);
pin_size_t pinNumber = pinNameByIndex(index);
if(pinNumber == (pin_size_t)NC){ return; }
ap3_gpio_pad_t pad = pinNumber;

2 changes: 1 addition & 1 deletion cores/mbed-os
Submodule mbed-os updated 129 files
Original file line number Diff line number Diff line change
@@ -5,8 +5,6 @@

#include "EEPROM.h"

#define SERIAL Serial

#define EEPROM_PREFS_IDX (0)
#define EEPROM_VALID_CODE (0xAB)
#define DEFAULT_VER_MAJOR (0)
@@ -23,44 +21,46 @@ typedef struct {
preferences_t prefs;

void setup() {
SERIAL.begin(115200);
SERIAL.println("EEPROM Example2_Structures");
Serial.begin(115200);
Serial.println("EEPROM Example2_Structures");
EEPROM.init();

// use EEPROM.get(int index, T type) to retrieve
// an arbitrary type from flash memory
prefs.valid = 0x00;
EEPROM.get(EEPROM_PREFS_IDX, prefs);

if(prefs.valid != EEPROM_VALID_CODE){
SERIAL.println("EEPROM was invalid");
Serial.println("EEPROM was invalid");

// use EEPROM to store the default structure
preferences_t default_prefs;
EEPROM.put(EEPROM_VALID_IDX, default_prefs);
EEPROM.put(EEPROM_PREFS_IDX, default_prefs);

SERIAL.println("EEPROM initialized");
Serial.println("EEPROM initialized");
}

// verify that the prefs are valid
EEPROM.get(EEPROM_PREFS_IDX, prefs);
if(prefs.valid != EEPROM_VALID_CODE){
SERIAL.println("ERROR");
Serial.println("ERROR");
while(1){};
}

SERIAL.println("EEPROM is valid");
Serial.println("EEPROM is valid");

SERIAL.printf("version: %d.%d.%d\n", refs.major, prefs.minor, prefs.patch);
Serial.printf("version: %d.%d.%d\n", prefs.ver_major, prefs.ver_minor, prefs.ver_patch);

SERIAL.printf("\nany characters received over SERIAL will increment the patch version and be stored after power-down\n");
Serial.printf("\nany characters received over SERIAL will increment the patch version and be stored after power-down\n");
}

void loop() {
if(SERRIAL.available()){
while(SERIAL.available()){
SERIAL.read();
prefs.patch++;
if(Serial.available()){
while(Serial.available()){
Serial.read();
prefs.ver_patch++;
}
EEPROM.put(EEPROM_PREFS_IDX, prefs);
SERIAL.printf("version: %d.%d.%d\n", refs.major, prefs.minor, prefs.patch);
Serial.printf("version: %d.%d.%d\n", prefs.ver_major, prefs.ver_minor, prefs.ver_patch);
}
}
4 changes: 2 additions & 2 deletions libraries/EEPROM/src/EEPROM.cpp
Original file line number Diff line number Diff line change
@@ -14,14 +14,14 @@ EEPROMClass EEPROM;
#define EEPROM_ADDRESS(A) ((A/AM_HAL_FLASH_PAGE_SIZE) * AM_HAL_FLASH_PAGE_SIZE)
#define EEPROM_SIZE(S) (((S+(AM_HAL_FLASH_PAGE_SIZE-1))/AM_HAL_FLASH_PAGE_SIZE) * AM_HAL_FLASH_PAGE_SIZE)

EEPROMClass::EEPROMClass(uint32_t address, uint32_t size)
EEPROMClass::EEPROMClass(uint32_t address, uint32_t size) :
FlashIAPBlockDevice(EEPROM_ADDRESS(address), EEPROM_SIZE(size))
{

}

EEPROMClass::EEPROMClass(void) :
EEPROM(DEFAULT_ADDRESS, DEFAULT_SIZE)
FlashIAPBlockDevice(DEFAULT_ADDRESS, DEFAULT_SIZE)
{

}
11 changes: 6 additions & 5 deletions libraries/EEPROM/src/EEPROM.h
Original file line number Diff line number Diff line change
@@ -7,14 +7,15 @@
#define _APOLLO3_LIBRARIES_EEPROM_H_

#include "Arduino.h"
#include "FlashIAPBlockDevice.h"

#define EEPROM_DEFAULT_SRAM_USAGE (1024)

typedef struct _eeprom_config_t {
mbed::bd_size_t sram_bytes = EEPROM_DEFAULT_SRAM_USAGE;
} eeprom_config_t;

class EEPROMClass : protected FlashIAPBlockDevice {
class EEPROMClass : public FlashIAPBlockDevice {
private:
eeprom_config_t _cfg;

@@ -35,17 +36,17 @@ class EEPROMClass : protected FlashIAPBlockDevice {
}
uint8_t read(int idx){
uint8_t val = 0x00;
read(&val, idx, 1);
read(idx, &val, 1);
return val;
}
void write(int idx, uint8_t* data, uint32_t size){
mbed::bd_size_t scratch_size = (_cfg.sram_bytes+3)/4;
uint32_t scratch[scratch_size];
FlashIAPBlockDevice::read((uint8_t*)scratch, 0, _cfg.sram_bytes); // keep all of flash in sram in case we need to erase
if(memcmp((void*)(((uint8_t*)scratch) + idx), data, size)){ // compare desired data (data) to existing information in flash (scratch)
if(memcmp((void*)(((uint8_t*)scratch) + idx), data, size)){ // compare desired data (data) to existing information in flash (scratch)
erase();
memcpy(scratch, data, size);
int result = FlashIAPBlockDevice::program((uint8_t*)scratch, 0, 4*scratch_size);
printf("updating flash. result: %d\n", result);
return;
}
printf("contents already match\n");
@@ -66,7 +67,7 @@ class EEPROMClass : protected FlashIAPBlockDevice {
}

template <typename T> T &get(int idx, T &t){
read((uint8_t*)&t, idx, sizeof(T)/sizeof(uint8_t));
read(idx,(uint8_t*)&t, sizeof(T)/sizeof(uint8_t));
return t;
}

4 changes: 2 additions & 2 deletions platform.txt
Original file line number Diff line number Diff line change
@@ -21,10 +21,10 @@ defines.cxx={defines.all} @{build.variant.path}/mbed/.cxx-symbols
defines.ld={defines.all} @{build.variant.path}/mbed/.ld-symbols

# includes
includes.core={includes} "-I{cores.path}/arduino" "-I{cores.path}/arduino/mbed-bridge" "-I{cores.path}/arduino/mbed-bridge/core-api"
includes.core={includes} "-I{cores.path}/arduino" "-I{cores.path}/arduino/mbed-bridge" "-I{cores.path}/arduino/mbed-bridge/core-api"
includes.mbed=@{build.variant.path}/mbed/.includes
includes.variant={build.includes}
includes.extra=
includes.extra="-I{cores.path}/mbed-os/drivers/"
includes.all={includes.core} {includes.mbed} {includes.variant} {includes.extra}

# libraries
15 changes: 14 additions & 1 deletion tools/config/blocklist.json
Original file line number Diff line number Diff line change
@@ -12,7 +12,20 @@
},
"cxx": {
"flags": [
"-MMD"
"-Wvla",
"-Wall",
"-Wextra",
"-Wno-missing-field-initializers",
"-Wno-unused-parameter"
]
},
"c": {
"flags": [
"-Wvla",
"-Wall",
"-Wextra",
"-Wno-missing-field-initializers",
"-Wno-unused-parameter"
]
}
}
2 changes: 1 addition & 1 deletion variants/SFE_ARTEMIS/mbed/.c-flags
Original file line number Diff line number Diff line change
@@ -1 +1 @@
-c -std=gnu11 -DMBED_MINIMAL_PRINTF -DMBED_TRAP_ERRORS_ENABLED=1 -MMD -Os -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -fdata-sections -ffunction-sections -fmessage-length=0 -fno-exceptions -fomit-frame-pointer -funsigned-char -g -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -mthumb
-c -std=gnu11 -DMBED_MINIMAL_PRINTF -DMBED_TRAP_ERRORS_ENABLED=1 -MMD -Os -fdata-sections -ffunction-sections -fmessage-length=0 -fno-exceptions -fomit-frame-pointer -funsigned-char -g -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -mthumb
2 changes: 1 addition & 1 deletion variants/SFE_ARTEMIS/mbed/.cxx-flags
Original file line number Diff line number Diff line change
@@ -1 +1 @@
-Wvla -c -fno-rtti -std=gnu++14 -DMBED_MINIMAL_PRINTF -DMBED_TRAP_ERRORS_ENABLED=1 -Os -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -fdata-sections -ffunction-sections -fmessage-length=0 -fno-exceptions -fomit-frame-pointer -funsigned-char -g -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -mthumb
-c -fno-rtti -std=gnu++14 -DMBED_MINIMAL_PRINTF -DMBED_TRAP_ERRORS_ENABLED=1 -MMD -Os -fdata-sections -ffunction-sections -fmessage-length=0 -fno-exceptions -fomit-frame-pointer -funsigned-char -g -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -mthumb
2 changes: 1 addition & 1 deletion variants/SFE_ARTEMIS/mbed/.ld-symbols
Original file line number Diff line number Diff line change
@@ -1 +1 @@
-DAM_PACKAGE_BGA -DARM_MATH_CM4 -DCOMPONENT_FLASHIAP=1 -DCORDIO_ZERO_COPY_HCI -DDEVICE_FLASH=1 -DDEVICE_I2C=1 -DDEVICE_INTERRUPTIN=1 -DDEVICE_LPTICKER=1 -DDEVICE_MPU=1 -DDEVICE_SERIAL=1 -DDEVICE_SPI=1 -DDEVICE_STDIO_MESSAGES=1 -DDEVICE_USTICKER=1 -DFEATURE_BLE=1 -DMBED_BUILD_TIMESTAMP=1607571212.923756 -DTARGET_AMA3B1KK -DTARGET_Ambiq_Micro -DTARGET_Apollo3 -DTARGET_CORDIO -DTARGET_CORTEX -DTARGET_CORTEX_M -DTARGET_FAMILY_Apollo3 -DTARGET_LIKE_CORTEX_M4 -DTARGET_LIKE_MBED -DTARGET_M4 -DTARGET_NAME=SFE_ARTEMIS -DTARGET_RELEASE -DTARGET_RTOS_M4_M7 -DTARGET_SFE_ARTEMIS -DTOOLCHAIN_GCC -DTOOLCHAIN_GCC_ARM -D__CMSIS_RTOS -D__CORTEX_M4 -D__FPU_PRESENT=1 -D__MBED_CMSIS_RTOS_CM -D__MBED__=1
-DAM_PACKAGE_BGA -DARM_MATH_CM4 -DCOMPONENT_FLASHIAP=1 -DCORDIO_ZERO_COPY_HCI -DDEVICE_FLASH=1 -DDEVICE_I2C=1 -DDEVICE_INTERRUPTIN=1 -DDEVICE_LPTICKER=1 -DDEVICE_MPU=1 -DDEVICE_SERIAL=1 -DDEVICE_SPI=1 -DDEVICE_STDIO_MESSAGES=1 -DDEVICE_USTICKER=1 -DFEATURE_BLE=1 -DMBED_BUILD_TIMESTAMP=1611116702.1864107 -DTARGET_AMA3B1KK -DTARGET_Ambiq_Micro -DTARGET_Apollo3 -DTARGET_CORDIO -DTARGET_CORTEX -DTARGET_CORTEX_M -DTARGET_FAMILY_Apollo3 -DTARGET_LIKE_CORTEX_M4 -DTARGET_LIKE_MBED -DTARGET_M4 -DTARGET_NAME=SFE_ARTEMIS -DTARGET_RELEASE -DTARGET_RTOS_M4_M7 -DTARGET_SFE_ARTEMIS -DTOOLCHAIN_GCC -DTOOLCHAIN_GCC_ARM -D__CMSIS_RTOS -D__CORTEX_M4 -D__FPU_PRESENT=1 -D__MBED_CMSIS_RTOS_CM -D__MBED__=1
Binary file modified variants/SFE_ARTEMIS/mbed/libmbed-os.a
Binary file not shown.
2 changes: 1 addition & 1 deletion variants/SFE_ARTEMIS_ATP/mbed/.c-flags
Original file line number Diff line number Diff line change
@@ -1 +1 @@
-c -std=gnu11 -DMBED_MINIMAL_PRINTF -DMBED_TRAP_ERRORS_ENABLED=1 -MMD -Os -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -fdata-sections -ffunction-sections -fmessage-length=0 -fno-exceptions -fomit-frame-pointer -funsigned-char -g -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -mthumb
-c -std=gnu11 -DMBED_MINIMAL_PRINTF -DMBED_TRAP_ERRORS_ENABLED=1 -MMD -Os -fdata-sections -ffunction-sections -fmessage-length=0 -fno-exceptions -fomit-frame-pointer -funsigned-char -g -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -mthumb
2 changes: 1 addition & 1 deletion variants/SFE_ARTEMIS_ATP/mbed/.cxx-flags
Original file line number Diff line number Diff line change
@@ -1 +1 @@
-Wvla -c -fno-rtti -std=gnu++14 -DMBED_MINIMAL_PRINTF -DMBED_TRAP_ERRORS_ENABLED=1 -Os -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -fdata-sections -ffunction-sections -fmessage-length=0 -fno-exceptions -fomit-frame-pointer -funsigned-char -g -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -mthumb
-c -fno-rtti -std=gnu++14 -DMBED_MINIMAL_PRINTF -DMBED_TRAP_ERRORS_ENABLED=1 -MMD -Os -fdata-sections -ffunction-sections -fmessage-length=0 -fno-exceptions -fomit-frame-pointer -funsigned-char -g -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -mthumb
Loading