[FL-1473, FL-1651] Update STM32CubeWB to latest version. Radio firmware bundle. (#642)
* FuriHal: update STM32CubeWB to latest version. * Makefile: debug other script * FuriHal: correctly handle 0 size transfers in VCP * Dolphin: cleanup and minor timer tuning. * FuriHal: update FreeRTOS config with bigger timer command queue. * FuriHal: delayed irq enabling, fixes missing ticks. * FuriHal: use SFSA to determine free space for internal FS, update linker script to use as much space as theoretically possible. * Scripts: update core2 flashing scripts and OB data. * Github: bundle resources, core2 firmware and supplementary data. * GitHub: versioning for supplemental artifacts
This commit is contained in:
parent
1f192c4a48
commit
f02cec45a0
20
.github/workflows/build.yml
vendored
20
.github/workflows/build.yml
vendored
@ -136,6 +136,26 @@ jobs:
|
|||||||
>> artifacts/flipper-z-${TARGET}-full-${SUFFIX}.bin
|
>> artifacts/flipper-z-${TARGET}-full-${SUFFIX}.bin
|
||||||
done
|
done
|
||||||
|
|
||||||
|
- name: 'Bundle core2 firmware'
|
||||||
|
run: |
|
||||||
|
test -d core2_firmware && rm -rf core2_firmware || true
|
||||||
|
mkdir core2_firmware
|
||||||
|
cp \
|
||||||
|
lib/STM32CubeWB/package.xml \
|
||||||
|
lib/STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw.bin \
|
||||||
|
lib/STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_FUS_fw_for_fus_0_5_3.bin \
|
||||||
|
lib/STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_full_fw.bin \
|
||||||
|
core2_firmware
|
||||||
|
tar czpf artifacts/flipper-z-core2_firmware-${SUFFIX}.tgz core2_firmware
|
||||||
|
|
||||||
|
- name: 'Bundle scripts'
|
||||||
|
run: |
|
||||||
|
tar czpf artifacts/flipper-z-scripts-${SUFFIX}.tgz scripts
|
||||||
|
|
||||||
|
- name: 'Bundle resources'
|
||||||
|
run: |
|
||||||
|
tar czpf artifacts/flipper-z-resources-${SUFFIX}.tgz -C assets resources
|
||||||
|
|
||||||
- name: 'Upload artifacts to update server'
|
- name: 'Upload artifacts to update server'
|
||||||
uses: burnett01/rsync-deployments@4.1
|
uses: burnett01/rsync-deployments@4.1
|
||||||
with:
|
with:
|
||||||
|
@ -117,7 +117,7 @@ bool dolphin_view_idle_main_input(InputEvent* event, void* context) {
|
|||||||
with_value_mutex(
|
with_value_mutex(
|
||||||
dolphin->menu_vm, (Menu * menu) { menu_ok(menu); });
|
dolphin->menu_vm, (Menu * menu) { menu_ok(menu); });
|
||||||
} else if(event->key == InputKeyUp && event->type == InputTypeShort) {
|
} else if(event->key == InputKeyUp && event->type == InputTypeShort) {
|
||||||
osTimerStart(dolphin->timeout_timer, 40);
|
osTimerStart(dolphin->timeout_timer, 64);
|
||||||
view_dispatcher_switch_to_view(dolphin->idle_view_dispatcher, DolphinViewLockMenu);
|
view_dispatcher_switch_to_view(dolphin->idle_view_dispatcher, DolphinViewLockMenu);
|
||||||
} else if(event->key == InputKeyDown && event->type == InputTypeShort) {
|
} else if(event->key == InputKeyDown && event->type == InputTypeShort) {
|
||||||
dolphin_switch_to_app(dolphin, &FLIPPER_ARCHIVE);
|
dolphin_switch_to_app(dolphin, &FLIPPER_ARCHIVE);
|
||||||
|
@ -46,8 +46,6 @@ struct Dolphin {
|
|||||||
View* idle_view_first_start;
|
View* idle_view_first_start;
|
||||||
View* idle_view_main;
|
View* idle_view_main;
|
||||||
View* idle_view_dolphin_stats;
|
View* idle_view_dolphin_stats;
|
||||||
View* idle_view_down;
|
|
||||||
View* idle_view_meta;
|
|
||||||
View* view_hw_mismatch;
|
View* view_hw_mismatch;
|
||||||
View* view_lockmenu;
|
View* view_lockmenu;
|
||||||
ViewPort* lock_viewport;
|
ViewPort* lock_viewport;
|
||||||
|
45
assets/resources/irda/universal/tv.ir
Executable file
45
assets/resources/irda/universal/tv.ir
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
POWER Samsung32 A:07 C:02
|
||||||
|
POWER NEC A:50 C:17
|
||||||
|
POWER NEC A:40 C:12
|
||||||
|
POWER NECext A:4931 C:63
|
||||||
|
POWER NEC A:AA C:1C
|
||||||
|
POWER NEC A:AA C:1C
|
||||||
|
POWER NEC A:AA C:1C
|
||||||
|
POWER NEC A:AA C:1C
|
||||||
|
POWER NEC A:38 C:1C
|
||||||
|
POWER NECext A:7A83 C:08
|
||||||
|
POWER NEC A:53 C:17
|
||||||
|
POWER NECext A:1818 C:C0
|
||||||
|
POWER NEC A:38 C:10
|
||||||
|
POWER NEC A:AA C:C5
|
||||||
|
POWER NEC A:04 C:08
|
||||||
|
POWER NEC A:18 C:08
|
||||||
|
POWER NEC A:71 C:08
|
||||||
|
POWER NECext A:6F80 C:0A
|
||||||
|
POWER NEC A:48 C:00
|
||||||
|
POWER NECext A:7B80 C:13
|
||||||
|
#POWER Samsung32 A:0E C:14
|
||||||
|
POWER NECext A:7E80 C:18
|
||||||
|
POWER NEC A:50 C:08
|
||||||
|
|
||||||
|
VOL- NECext A:DF00 C:4F
|
||||||
|
CH+ NECext A:DF00 C:09
|
||||||
|
CH- NECext A:DF00 C:05
|
||||||
|
MUTE NECext A:DF00 C:08
|
||||||
|
|
||||||
|
// Microlab (Not TV)
|
||||||
|
POWER NEC A:00 C:00
|
||||||
|
MUTE NEC A:00 C:02
|
||||||
|
VOL+ NEC A:00 C:11
|
||||||
|
VOL- NEC A:00 C:10
|
||||||
|
|
||||||
|
// Skyworth
|
||||||
|
POWER Samsung32 A:0E C:0C
|
||||||
|
MUTE Samsung32 A:0E C:0D
|
||||||
|
VOL+ Samsung32 A:0E C:14
|
||||||
|
VOL- Samsung32 A:0E C:15
|
||||||
|
CH- Samsung32 A:0E C:12
|
||||||
|
CH+ Samsung32 A:0E C:13
|
||||||
|
|
||||||
|
// LG (Goldstar)
|
||||||
|
MUTE NEC A
|
@ -51,17 +51,16 @@
|
|||||||
#if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__)
|
#if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__)
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
extern uint32_t SystemCoreClock;
|
extern uint32_t SystemCoreClock;
|
||||||
void xPortSysTickHandler(void);
|
|
||||||
/* USER CODE BEGIN 0 */
|
|
||||||
extern void configureTimerForRunTimeStats(void);
|
|
||||||
extern unsigned long getRunTimeCounterValue(void);
|
|
||||||
/* USER CODE END 0 */
|
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef CMSIS_device_header
|
||||||
|
#define CMSIS_device_header "stm32wbxx.h"
|
||||||
|
#endif /* CMSIS_device_header */
|
||||||
|
|
||||||
#define configENABLE_FPU 1
|
#define configENABLE_FPU 1
|
||||||
#define configENABLE_MPU 1
|
#define configENABLE_MPU 1
|
||||||
|
|
||||||
#define configUSE_PREEMPTION 1
|
#define configUSE_PREEMPTION 1
|
||||||
#define configSUPPORT_STATIC_ALLOCATION 1
|
#define configSUPPORT_STATIC_ALLOCATION 0
|
||||||
#define configSUPPORT_DYNAMIC_ALLOCATION 1
|
#define configSUPPORT_DYNAMIC_ALLOCATION 1
|
||||||
#define configUSE_IDLE_HOOK 0
|
#define configUSE_IDLE_HOOK 0
|
||||||
#define configUSE_TICK_HOOK 0
|
#define configUSE_TICK_HOOK 0
|
||||||
@ -100,22 +99,24 @@
|
|||||||
/* Software timer definitions. */
|
/* Software timer definitions. */
|
||||||
#define configUSE_TIMERS 1
|
#define configUSE_TIMERS 1
|
||||||
#define configTIMER_TASK_PRIORITY ( 2 )
|
#define configTIMER_TASK_PRIORITY ( 2 )
|
||||||
#define configTIMER_QUEUE_LENGTH 10
|
#define configTIMER_QUEUE_LENGTH 32
|
||||||
#define configTIMER_TASK_STACK_DEPTH 256
|
#define configTIMER_TASK_STACK_DEPTH 256
|
||||||
|
|
||||||
/* Set the following definitions to 1 to include the API function, or zero
|
/* Set the following definitions to 1 to include the API function, or zero
|
||||||
to exclude the API function. */
|
to exclude the API function. */
|
||||||
#define INCLUDE_vTaskPrioritySet 1
|
#define INCLUDE_eTaskGetState 1
|
||||||
|
#define INCLUDE_uxTaskGetStackHighWaterMark 1
|
||||||
#define INCLUDE_uxTaskPriorityGet 1
|
#define INCLUDE_uxTaskPriorityGet 1
|
||||||
#define INCLUDE_vTaskDelete 1
|
#define INCLUDE_vTaskCleanUpResources 0
|
||||||
#define INCLUDE_vTaskSuspend 1
|
|
||||||
#define INCLUDE_vTaskDelayUntil 1
|
|
||||||
#define INCLUDE_vTaskDelay 1
|
#define INCLUDE_vTaskDelay 1
|
||||||
|
#define INCLUDE_vTaskDelayUntil 1
|
||||||
|
#define INCLUDE_vTaskDelete 1
|
||||||
|
#define INCLUDE_vTaskPrioritySet 1
|
||||||
|
#define INCLUDE_vTaskSuspend 1
|
||||||
|
#define INCLUDE_xQueueGetMutexHolder 1
|
||||||
|
#define INCLUDE_xTaskGetCurrentTaskHandle 1
|
||||||
#define INCLUDE_xTaskGetSchedulerState 1
|
#define INCLUDE_xTaskGetSchedulerState 1
|
||||||
#define INCLUDE_xTimerPendFunctionCall 1
|
#define INCLUDE_xTimerPendFunctionCall 1
|
||||||
#define INCLUDE_xQueueGetMutexHolder 1
|
|
||||||
#define INCLUDE_uxTaskGetStackHighWaterMark 1
|
|
||||||
#define INCLUDE_eTaskGetState 1
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The CMSIS-RTOS V2 FreeRTOS wrapper is dependent on the heap implementation used
|
* The CMSIS-RTOS V2 FreeRTOS wrapper is dependent on the heap implementation used
|
||||||
@ -159,9 +160,13 @@ standard names. */
|
|||||||
#define vPortSVCHandler SVC_Handler
|
#define vPortSVCHandler SVC_Handler
|
||||||
#define xPortPendSVHandler PendSV_Handler
|
#define xPortPendSVHandler PendSV_Handler
|
||||||
|
|
||||||
/* IMPORTANT: This define is commented when used with STM32Cube firmware, when the timebase source is SysTick,
|
/* IMPORTANT: After 10.3.1 update, Systick_Handler comes from NVIC (if SYS timebase = systick), otherwise from cmsis_os2.c */
|
||||||
to prevent overwriting SysTick_Handler defined within STM32Cube HAL */
|
|
||||||
|
|
||||||
/* #define xPortSysTickHandler SysTick_Handler */
|
#define USE_CUSTOM_SYSTICK_HANDLER_IMPLEMENTATION 1
|
||||||
|
|
||||||
|
/* USER CODE BEGIN Defines */
|
||||||
|
/* Section where parameter definitions can be added (for instance, to override default ones in FreeRTOS.h) */
|
||||||
|
#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION 1 /* required only for Keil but does not hurt otherwise */
|
||||||
|
/* USER CODE END Defines */
|
||||||
|
|
||||||
#endif /* FREERTOS_CONFIG_H */
|
#endif /* FREERTOS_CONFIG_H */
|
||||||
|
@ -241,7 +241,9 @@ static int8_t CDC_Control_FS(uint8_t cmd, uint8_t* pbuf, uint16_t length)
|
|||||||
static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
|
static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
|
||||||
{
|
{
|
||||||
/* USER CODE BEGIN 6 */
|
/* USER CODE BEGIN 6 */
|
||||||
|
if (*Len) {
|
||||||
_furi_hal_vcp_rx_callback((char*)Buf, *Len);
|
_furi_hal_vcp_rx_callback((char*)Buf, *Len);
|
||||||
|
}
|
||||||
USBD_CDC_ReceivePacket(&hUsbDeviceFS);
|
USBD_CDC_ReceivePacket(&hUsbDeviceFS);
|
||||||
return (USBD_OK);
|
return (USBD_OK);
|
||||||
/* USER CODE END 6 */
|
/* USER CODE END 6 */
|
||||||
|
@ -52,12 +52,13 @@ typedef PACKED_STRUCT
|
|||||||
* THIS SHALL BE SET TO A VALUE DIFFERENT FROM 0 ONLY ON REQUEST FROM ST SUPPORT
|
* THIS SHALL BE SET TO A VALUE DIFFERENT FROM 0 ONLY ON REQUEST FROM ST SUPPORT
|
||||||
*/
|
*/
|
||||||
#define BLE_DTB_CFG 0
|
#define BLE_DTB_CFG 0
|
||||||
|
#define SYS_DBG_CFG1 (SHCI_C2_DEBUG_OPTIONS_IPCORE_LP | SHCI_C2_DEBUG_OPTIONS_CPU2_STOP_EN)
|
||||||
/* USER CODE END PD */
|
/* USER CODE END PD */
|
||||||
|
|
||||||
/* Private variables ---------------------------------------------------------*/
|
/* Private variables ---------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN PV */
|
/* USER CODE BEGIN PV */
|
||||||
PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static SHCI_C2_DEBUG_TracesConfig_t APPD_TracesConfig={0, 0, 0, 0};
|
PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static SHCI_C2_DEBUG_TracesConfig_t APPD_TracesConfig={0, 0, 0, 0};
|
||||||
PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static SHCI_C2_DEBUG_GeneralConfig_t APPD_GeneralConfig={BLE_DTB_CFG, {0, 0, 0}};
|
PLACE_IN_SECTION("MB_MEM2") ALIGN(4) static SHCI_C2_DEBUG_GeneralConfig_t APPD_GeneralConfig={BLE_DTB_CFG, SYS_DBG_CFG1, {0, 0}};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* THE DEBUG ON GPIO FOR CPU2 IS INTENDED TO BE USED ONLY ON REQUEST FROM ST SUPPORT
|
* THE DEBUG ON GPIO FOR CPU2 IS INTENDED TO BE USED ONLY ON REQUEST FROM ST SUPPORT
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
/* Free flash space borders, exported by linker */
|
/* Free flash space borders, exported by linker */
|
||||||
extern const void __free_flash_start__;
|
extern const void __free_flash_start__;
|
||||||
extern const void __free_flash_end__;
|
|
||||||
|
|
||||||
#define FURI_HAL_FLASH_READ_BLOCK 8
|
#define FURI_HAL_FLASH_READ_BLOCK 8
|
||||||
#define FURI_HAL_FLASH_WRITE_BLOCK 8
|
#define FURI_HAL_FLASH_WRITE_BLOCK 8
|
||||||
@ -37,7 +36,9 @@ const void* furi_hal_flash_get_free_start_address() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const void* furi_hal_flash_get_free_end_address() {
|
const void* furi_hal_flash_get_free_end_address() {
|
||||||
return &__free_flash_end__;
|
FLASH_OBProgramInitTypeDef pOBInit;
|
||||||
|
HAL_FLASHEx_OBGetConfig(&pOBInit);
|
||||||
|
return (const void *)pOBInit.SecureFlashStartAddr;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t furi_hal_flash_get_free_page_start_address() {
|
size_t furi_hal_flash_get_free_page_start_address() {
|
||||||
|
@ -26,6 +26,8 @@ void furi_hal_os_timer_callback() {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern void xPortSysTickHandler();
|
||||||
|
|
||||||
volatile uint32_t furi_hal_os_skew = 0;
|
volatile uint32_t furi_hal_os_skew = 0;
|
||||||
|
|
||||||
void furi_hal_os_init() {
|
void furi_hal_os_init() {
|
||||||
@ -122,9 +124,6 @@ void vPortSuppressTicksAndSleep(TickType_t expected_idle_ticks) {
|
|||||||
// Sleep and track how much ticks we spent sleeping
|
// Sleep and track how much ticks we spent sleeping
|
||||||
uint32_t completed_ticks = furi_hal_os_sleep(expected_idle_ticks);
|
uint32_t completed_ticks = furi_hal_os_sleep(expected_idle_ticks);
|
||||||
|
|
||||||
// Reenable IRQ
|
|
||||||
__enable_irq();
|
|
||||||
|
|
||||||
// Notify system about time spent in sleep
|
// Notify system about time spent in sleep
|
||||||
if (completed_ticks > 0) {
|
if (completed_ticks > 0) {
|
||||||
if (completed_ticks > expected_idle_ticks) {
|
if (completed_ticks > expected_idle_ticks) {
|
||||||
@ -133,6 +132,9 @@ void vPortSuppressTicksAndSleep(TickType_t expected_idle_ticks) {
|
|||||||
vTaskStepTick(completed_ticks);
|
vTaskStepTick(completed_ticks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Reenable IRQ
|
||||||
|
__enable_irq();
|
||||||
}
|
}
|
||||||
|
|
||||||
void vApplicationStackOverflowHook(TaskHandle_t xTask, signed char *pcTaskName) {
|
void vApplicationStackOverflowHook(TaskHandle_t xTask, signed char *pcTaskName) {
|
||||||
|
@ -55,7 +55,7 @@ _Min_Stack_Size = 0x1000; /* required amount of stack */
|
|||||||
/* Specify the memory areas */
|
/* Specify the memory areas */
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
FLASH (rx) : ORIGIN = 0x08008000, LENGTH = 780K
|
FLASH (rx) : ORIGIN = 0x08008000, LENGTH = 992K
|
||||||
RAM1 (xrw) : ORIGIN = 0x20000004, LENGTH = 0x2FFFC
|
RAM1 (xrw) : ORIGIN = 0x20000004, LENGTH = 0x2FFFC
|
||||||
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
|
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
|
||||||
}
|
}
|
||||||
@ -173,7 +173,6 @@ SECTIONS
|
|||||||
{
|
{
|
||||||
__free_flash_start__ = .;
|
__free_flash_start__ = .;
|
||||||
. = ORIGIN(FLASH) + LENGTH(FLASH);
|
. = ORIGIN(FLASH) + LENGTH(FLASH);
|
||||||
__free_flash_end__ = .;
|
|
||||||
} >FLASH
|
} >FLASH
|
||||||
|
|
||||||
/* Remove information from the standard libraries */
|
/* Remove information from the standard libraries */
|
||||||
|
@ -55,7 +55,7 @@ _Min_Stack_Size = 0x1000; /* required amount of stack */
|
|||||||
/* Specify the memory areas */
|
/* Specify the memory areas */
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 812K
|
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
|
||||||
RAM1 (xrw) : ORIGIN = 0x20000004, LENGTH = 0x2FFFC
|
RAM1 (xrw) : ORIGIN = 0x20000004, LENGTH = 0x2FFFC
|
||||||
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
|
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
|
||||||
}
|
}
|
||||||
@ -173,7 +173,6 @@ SECTIONS
|
|||||||
{
|
{
|
||||||
__free_flash_start__ = .;
|
__free_flash_start__ = .;
|
||||||
. = ORIGIN(FLASH) + LENGTH(FLASH);
|
. = ORIGIN(FLASH) + LENGTH(FLASH);
|
||||||
__free_flash_end__ = .;
|
|
||||||
} >FLASH
|
} >FLASH
|
||||||
|
|
||||||
/* Remove information from the standard libraries */
|
/* Remove information from the standard libraries */
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 1c15728a3c08e42919024e2a3781862f7d6c86d7
|
Subproject commit 9e2dd9db125fa53e0ec59f807eb8a052ab922583
|
@ -88,22 +88,16 @@ debug: flash
|
|||||||
-ex "compare-sections" \
|
-ex "compare-sections" \
|
||||||
$(OBJ_DIR)/$(PROJECT).elf; \
|
$(OBJ_DIR)/$(PROJECT).elf; \
|
||||||
|
|
||||||
|
debug_other:
|
||||||
|
arm-none-eabi-gdb-py \
|
||||||
|
-ex 'target extended-remote | openocd -c "gdb_port pipe" $(OPENOCD_OPTS)' \
|
||||||
|
-ex "set confirm off" \
|
||||||
|
-ex "source ../debug/PyCortexMDebug/PyCortexMDebug.py" \
|
||||||
|
-ex "svd_load $(SVD_FILE)" \
|
||||||
|
|
||||||
openocd:
|
openocd:
|
||||||
openocd $(OPENOCD_OPTS)
|
openocd $(OPENOCD_OPTS)
|
||||||
|
|
||||||
bm_debug: flash
|
|
||||||
set -m; blackmagic & echo $$! > $(OBJ_DIR)/agent.PID
|
|
||||||
arm-none-eabi-gdb-py \
|
|
||||||
-ex "target extended-remote 127.0.0.1:2000" \
|
|
||||||
-ex "set confirm off" \
|
|
||||||
-ex "monitor debug_bmp enable"\
|
|
||||||
-ex "monitor swdp_scan"\
|
|
||||||
-ex "attach 1"\
|
|
||||||
-ex "source ../debug/FreeRTOS/FreeRTOS.py" \
|
|
||||||
$(OBJ_DIR)/$(PROJECT).elf; \
|
|
||||||
kill `cat $(OBJ_DIR)/agent.PID`; \
|
|
||||||
rm $(OBJ_DIR)/agent.PID
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@echo "\tCLEAN\t"
|
@echo "\tCLEAN\t"
|
||||||
@$(RM) $(OBJ_DIR)/*
|
@$(RM) $(OBJ_DIR)/*
|
||||||
|
@ -6,7 +6,7 @@ SCRIPT_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
|||||||
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
||||||
COPRO_DIR="$PROJECT_DIR/lib/STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x"
|
COPRO_DIR="$PROJECT_DIR/lib/STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x"
|
||||||
|
|
||||||
STM32_Programmer_CLI -c port=swd -fwupgrade $COPRO_DIR/stm32wb5x_FUS_fw_1_0_2.bin 0x080EC000 || true
|
STM32_Programmer_CLI -c port=swd -fwupgrade $COPRO_DIR/stm32wb5x_FUS_fw_for_fus_0_5_3.bin 0x080EC000 || true
|
||||||
STM32_Programmer_CLI -c port=swd
|
STM32_Programmer_CLI -c port=swd
|
||||||
|
|
||||||
STM32_Programmer_CLI -c port=swd -fwupgrade $COPRO_DIR/stm32wb5x_FUS_fw.bin 0x080EC000 || true
|
STM32_Programmer_CLI -c port=swd -fwupgrade $COPRO_DIR/stm32wb5x_FUS_fw.bin 0x080EC000 || true
|
||||||
@ -14,7 +14,7 @@ STM32_Programmer_CLI -c port=swd
|
|||||||
|
|
||||||
STM32_Programmer_CLI -c port=swd -fwdelete
|
STM32_Programmer_CLI -c port=swd -fwdelete
|
||||||
|
|
||||||
STM32_Programmer_CLI -c port=swd -fwupgrade $COPRO_DIR/stm32wb5x_BLE_Stack_full_fw.bin 0x080CB000 firstinstall=0
|
STM32_Programmer_CLI -c port=swd -fwupgrade $COPRO_DIR/stm32wb5x_BLE_Stack_full_fw.bin 0x080CA000 firstinstall=0
|
||||||
|
|
||||||
STM32_Programmer_CLI -c port=swd -ob nSWBOOT0=1 nBOOT0=1
|
STM32_Programmer_CLI -c port=swd -ob nSWBOOT0=1 nBOOT0=1
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ IWDGSTOP:0x1:rw
|
|||||||
IWDGSW:0x1:rw
|
IWDGSW:0x1:rw
|
||||||
IPCCDBA:0x0:rw
|
IPCCDBA:0x0:rw
|
||||||
ESE:0x1:r
|
ESE:0x1:r
|
||||||
SFSA:0xCB:r
|
SFSA:0xCA:r
|
||||||
FSD:0x0:r
|
FSD:0x0:r
|
||||||
DDS:0x1:r
|
DDS:0x1:r
|
||||||
C2OPT:0x1:r
|
C2OPT:0x1:r
|
||||||
@ -22,7 +22,7 @@ NBRSD:0x0:r
|
|||||||
SNBRSA:0xF:r
|
SNBRSA:0xF:r
|
||||||
BRSD:0x0:r
|
BRSD:0x0:r
|
||||||
SBRSA:0xA:r
|
SBRSA:0xA:r
|
||||||
SBRV:0x32C00:r
|
SBRV:0x32800:r
|
||||||
PCROP1A_STRT:0x1FF:r
|
PCROP1A_STRT:0x1FF:r
|
||||||
PCROP1A_END:0x0:r
|
PCROP1A_END:0x0:r
|
||||||
PCROP_RDP:0x1:r
|
PCROP_RDP:0x1:r
|
||||||
|
Loading…
x
Reference in New Issue
Block a user