Skip to content

Commit

Permalink
pbdrv/block_device: Set size in header.
Browse files Browse the repository at this point in the history
Instead of using a getter function to get the size from a linker file (Powered Up) or platform data (SPIKE) , set it as a PBDRV configuration variable.

This will allow us to do compile-time checks, and use it to derive the correct values for config values such as PBSYS_APP_USER_PROGRAM_SIZE (this will be done in the next commits).

This way have to set only one program size constraint (based on ROM size) and one tuning variable to balance heap/stack, instead of many interdependent settings. See pybricks/support#739
  • Loading branch information
laurensvalk committed Oct 20, 2022
1 parent 7d7434f commit 5d7b056
Show file tree
Hide file tree
Showing 21 changed files with 69 additions and 66 deletions.
10 changes: 7 additions & 3 deletions bricks/cityhub/city_hub.ld
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
GNU linker script for LEGO Powered Up City Hub
*/

/* Specify the memory areas */
/* Memory areas. NB: Total storage size (FLASH_USER_0 + FLASH_USER_1)
MUST match PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE */
MEMORY
{
/* Non-erasable BLE bootloader (LEGO LWP3). Device boots only if all words
Expand All @@ -15,14 +16,17 @@ MEMORY
/* The firmware. Installed via BLE bootloader. */
FLASH_FIRMWARE (rx) : ORIGIN = 0x08005000, LENGTH = 220K
/* User data written by the firmware during shutdown. */
FLASH_USER_0 (rx) : ORIGIN = 0x0803C000, LENGTH = 12K
FLASH_USER_0 (rx) : ORIGIN = 0x0803C000, LENGTH = 12K
/* As above, but this part is not counted by bootloader checksum. */
FLASH_USER_1 (rx) : ORIGIN = 0x0803F000, LENGTH = 4K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K
}

"MAGIC_OFFSET" = 0x100;
_stack_size = 4K;

/* Start of data storage. */
_pbdrv_block_device_storage_start = ORIGIN(FLASH_USER_0);
_pbdrv_block_device_storage_size = LENGTH(FLASH_USER_0) + LENGTH(FLASH_USER_1);

/* Portion of the data parsed for the checksum on boot. */
_pbsys_program_load_checked_size = LENGTH(FLASH_USER_0);
10 changes: 7 additions & 3 deletions bricks/movehub/move_hub.ld
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
GNU linker script for LEGO BOOST Move Hub
*/

/* Specify the memory areas */
/* Memory areas. NB: Total storage size (FLASH_USER_0 + FLASH_USER_1)
MUST match PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE */
MEMORY
{
/* Non-erasable BLE bootloader (LEGO LWP3). Device boots only if all words
Expand All @@ -15,14 +16,17 @@ MEMORY
/* The firmware. Installed via BLE bootloader. */
FLASH_FIRMWARE (rx) : ORIGIN = 0x08005000, LENGTH = 104K
/* User data written by the firmware during shutdown. */
FLASH_USER_0 (rx) : ORIGIN = 0x0801F000, LENGTH = 2K
FLASH_USER_0 (rx) : ORIGIN = 0x0801F000, LENGTH = 2K
/* As above, but this part is not counted by bootloader checksum. */
FLASH_USER_1 (rx) : ORIGIN = 0x0801F800, LENGTH = 2K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 16K
}

"MAGIC_OFFSET" = 0x100;
_stack_size = 3K;

/* Start of data storage. */
_pbdrv_block_device_storage_start = ORIGIN(FLASH_USER_0);
_pbdrv_block_device_storage_size = LENGTH(FLASH_USER_0) + LENGTH(FLASH_USER_1);

/* Portion of the data parsed for the checksum on boot. */
_pbsys_program_load_checked_size = LENGTH(FLASH_USER_0);
8 changes: 6 additions & 2 deletions bricks/technichub/technic_hub.ld
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
GNU linker script for LEGO Technic Hub
*/

/* Specify the memory areas */
/* Memory areas. NB: Total storage size (FLASH_USER_0 + FLASH_USER_1)
MUST match PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE */
MEMORY
{
/* Non-erasable BLE bootloader (LEGO LWP3). Device boots only if all words
Expand All @@ -23,6 +24,9 @@ MEMORY

"MAGIC_OFFSET" = 0x200;
_stack_size = 8K;

/* Start of data storage. */
_pbdrv_block_device_storage_start = ORIGIN(FLASH_USER_0);
_pbdrv_block_device_storage_size = LENGTH(FLASH_USER_0) + LENGTH(FLASH_USER_1);

/* Portion of the data parsed for the checksum on boot. */
_pbsys_program_load_checked_size = LENGTH(FLASH_USER_0);
14 changes: 4 additions & 10 deletions lib/pbio/drv/block_device/block_device_flash_stm32.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,6 @@

#include STM32_HAL_H

uint32_t pbdrv_block_device_get_size(void) {
// Defined in linker script.
extern uint32_t _pbdrv_block_device_storage_size;
return (uint32_t)(&_pbdrv_block_device_storage_size);
}

void pbdrv_block_device_init(void) {
}

Expand All @@ -37,7 +31,7 @@ PT_THREAD(pbdrv_block_device_read(struct pt *pt, uint32_t offset, uint8_t *buffe
PT_BEGIN(pt);

// Exit on invalid size.
if (size == 0 || offset + size > pbdrv_block_device_get_size()) {
if (size == 0 || offset + size > PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE) {
*err = PBIO_ERROR_INVALID_ARG;
PT_EXIT(pt);
}
Expand All @@ -59,7 +53,7 @@ static pbio_error_t block_device_erase_and_write(uint8_t *buffer, uint32_t size)
static const uint32_t base_address = (uint32_t)(&_pbdrv_block_device_storage_start[0]);

// Exit if size is 0, too big, or not a multiple of double-word size.
if (size == 0 || size > pbdrv_block_device_get_size() || size % sizeof(uint64_t)) {
if (size == 0 || size > PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE || size % sizeof(uint64_t)) {
return PBIO_ERROR_INVALID_ARG;
}

Expand All @@ -75,11 +69,11 @@ static pbio_error_t block_device_erase_and_write(uint8_t *buffer, uint32_t size)
.PageAddress = base_address,
#elif defined(STM32L4)
.Banks = FLASH_BANK_1, // Hard coded for STM32L431RC.
.Page = (FLASH_SIZE - (pbdrv_block_device_get_size())) / FLASH_PAGE_SIZE,
.Page = (FLASH_SIZE - (PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE)) / FLASH_PAGE_SIZE,
#else
#error "Unsupported target."
#endif
.NbPages = pbdrv_block_device_get_size() / FLASH_PAGE_SIZE,
.NbPages = PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE / FLASH_PAGE_SIZE,
.TypeErase = FLASH_TYPEERASE_PAGES
};

Expand Down
14 changes: 5 additions & 9 deletions lib/pbio/drv/block_device/block_device_w25qxx_stm32.c
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,7 @@ PT_THREAD(pbdrv_block_device_read(struct pt *pt, uint32_t offset, uint8_t *buffe
PT_BEGIN(pt);

// Exit on invalid size.
if (size == 0 || offset + size > pbdrv_block_device_get_size()) {
if (size == 0 || offset + size > PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_SIZE) {
*err = PBIO_ERROR_INVALID_ARG;
PT_EXIT(pt);
}
Expand All @@ -377,7 +377,7 @@ PT_THREAD(pbdrv_block_device_read(struct pt *pt, uint32_t offset, uint8_t *buffe
size_now = pbio_math_min(size - size_done, FLASH_SIZE_READ);

// Set address for this read request and send it.
set_address_be(&cmd_request_read.buffer[1], bdev.pdata->start_address + offset + size_done);
set_address_be(&cmd_request_read.buffer[1], PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_START_ADDRESS + offset + size_done);
PT_SPAWN(pt, &child, spi_command_thread(&child, &cmd_request_read, err));
if (*err != PBIO_SUCCESS) {
goto out;
Expand Down Expand Up @@ -467,7 +467,7 @@ PT_THREAD(pbdrv_block_device_store(struct pt *pt, uint8_t *buffer, uint32_t size
PT_BEGIN(pt);

// Exit on invalid size.
if (size == 0 || size > pbdrv_block_device_get_size()) {
if (size == 0 || size > PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_SIZE) {
*err = PBIO_ERROR_INVALID_ARG;
PT_EXIT(pt);
}
Expand All @@ -483,7 +483,7 @@ PT_THREAD(pbdrv_block_device_store(struct pt *pt, uint8_t *buffer, uint32_t size
for (offset = 0; offset < size; offset += FLASH_SIZE_ERASE) {
// Writing size 0 means erase.
PT_SPAWN(pt, &child, flash_erase_or_write(&child,
bdev.pdata->start_address + offset, NULL, 0, err));
PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_START_ADDRESS + offset, NULL, 0, err));
if (*err != PBIO_SUCCESS) {
goto out;
}
Expand All @@ -493,7 +493,7 @@ PT_THREAD(pbdrv_block_device_store(struct pt *pt, uint8_t *buffer, uint32_t size
for (size_done = 0; size_done < size; size_done += size_now) {
size_now = pbio_math_min(size - size_done, FLASH_SIZE_WRITE);
PT_SPAWN(pt, &child, flash_erase_or_write(&child,
bdev.pdata->start_address + size_done, buffer + size_done, size_now, err));
PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_START_ADDRESS + size_done, buffer + size_done, size_now, err));
if (*err != PBIO_SUCCESS) {
goto out;
}
Expand All @@ -505,10 +505,6 @@ PT_THREAD(pbdrv_block_device_store(struct pt *pt, uint8_t *buffer, uint32_t size
PT_END(pt);
}

uint32_t pbdrv_block_device_get_size(void) {
return bdev.pdata->end_address - bdev.pdata->start_address;
}

PROCESS(pbdrv_block_device_w25qxx_stm32_init_process, "w25qxx");

void pbdrv_block_device_init(void) {
Expand Down
9 changes: 0 additions & 9 deletions lib/pbio/drv/block_device/block_device_w25qxx_stm32.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,6 @@ typedef struct {
IRQn_Type irq;
/** The /CS pin. */
const pbdrv_gpio_t pin_ncs;
/**
* Platform-specific starting address on the chip from where we can safely
* write data. All reads and writes to the block device are relative to
* this chip address. This can be used to protect the first region of flash
* if it is used to store things like bootloader information.
*/
uint32_t start_address;
/** Ending address (exclusive) complementary to the start_address. */
uint32_t end_address;
} pbdrv_block_device_w25qxx_stm32_platform_data_t;

/**
Expand Down
10 changes: 0 additions & 10 deletions lib/pbio/include/pbdrv/block_device.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,6 @@

#if PBDRV_CONFIG_BLOCK_DEVICE

/**
* Gets the size of the block device.
*
* @return The maximum size that can be read or written.
*/
uint32_t pbdrv_block_device_get_size(void);

/**
* Read data from a storage device.
*
Expand Down Expand Up @@ -71,9 +64,6 @@ PT_THREAD(pbdrv_block_device_store(struct pt *pt, uint8_t *buffer, uint32_t size

#else

static inline uint32_t pbdrv_block_device_get_size(void) {
return 0;
}
static inline PT_THREAD(pbdrv_block_device_read(struct pt *pt, uint32_t offset, uint8_t *buffer, uint32_t size, pbio_error_t *err)) {
PT_BEGIN(pt);
*err = PBIO_ERROR_NOT_SUPPORTED;
Expand Down
1 change: 1 addition & 0 deletions lib/pbio/platform/city_hub/pbdrvconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

#define PBDRV_CONFIG_BLOCK_DEVICE (1)
#define PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32 (1)
#define PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE (16 * 1024) // Must match FLASH_USER_0 + FLASH_USER_1 in linker script

#define PBDRV_CONFIG_BLUETOOTH (1)
#define PBDRV_CONFIG_BLUETOOTH_STM32_CC2640 (1)
Expand Down
5 changes: 4 additions & 1 deletion lib/pbio/platform/city_hub/pbsysconfig.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
// SPDX-License-Identifier: MIT
// Copyright (c) 2020-2022 The Pybricks Authors

#include "pbdrvconfig.h"

#define PBSYS_CONFIG_BATTERY_CHARGER (0)
#define PBSYS_CONFIG_BLUETOOTH (1)
#define PBSYS_CONFIG_HUB_LIGHT_MATRIX (0)
#define PBSYS_CONFIG_MAIN (1)
#define PBSYS_CONFIG_PROGRAM_LOAD (1)
#define PBSYS_CONFIG_PROGRAM_LOAD_PROGRAM_DATA_SIZE (20 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_OVERLAPS_BOOTLOADER_CHECKSUM (1)
#define PBSYS_CONFIG_PROGRAM_LOAD_RAM_SIZE (20 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_ROM_SIZE (PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE)
#define PBSYS_CONFIG_STATUS_LIGHT (1)
#define PBSYS_CONFIG_STATUS_LIGHT_BATTERY (0)
3 changes: 2 additions & 1 deletion lib/pbio/platform/debug/pbsysconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
#define PBSYS_CONFIG_HUB_LIGHT_MATRIX (0)
#define PBSYS_CONFIG_MAIN (1)
#define PBSYS_CONFIG_PROGRAM_LOAD (1)
#define PBSYS_CONFIG_PROGRAM_LOAD_PROGRAM_DATA_SIZE (64 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_RAM_SIZE (64 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_ROM_SIZE (0)
#define PBSYS_CONFIG_PROGRAM_LOAD_OVERLAPS_BOOTLOADER_CHECKSUM (0)
#define PBSYS_CONFIG_STATUS_LIGHT (1)
#define PBSYS_CONFIG_STATUS_LIGHT_BATTERY (0)
6 changes: 6 additions & 0 deletions lib/pbio/platform/essential_hub/pbdrvconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@
#define PBDRV_CONFIG_BLOCK_DEVICE (1)
#define PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32 (1)
#define PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_W25Q32 (1)
// Carve out 256K from the reserved 1M area at the start of the flash.
// This avoids touching the file system, the area read by the LEGO
// bootloader and the area used by upstream MicroPython. Currently, this
// just needs to be big enough to back up the user program on shutdown.
#define PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_START_ADDRESS (512 * 1024)
#define PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_SIZE (256 * 1024)

#define PBDRV_CONFIG_BUTTON (1)
#define PBDRV_CONFIG_BUTTON_GPIO (1)
Expand Down
3 changes: 2 additions & 1 deletion lib/pbio/platform/essential_hub/pbsysconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
#define PBSYS_CONFIG_HUB_LIGHT_MATRIX (0)
#define PBSYS_CONFIG_MAIN (1)
#define PBSYS_CONFIG_PROGRAM_LOAD (1)
#define PBSYS_CONFIG_PROGRAM_LOAD_PROGRAM_DATA_SIZE (256 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_RAM_SIZE (258 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_ROM_SIZE (PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_SIZE)
#define PBSYS_CONFIG_PROGRAM_LOAD_OVERLAPS_BOOTLOADER_CHECKSUM (0)
#define PBSYS_CONFIG_STATUS_LIGHT (1)
#define PBSYS_CONFIG_STATUS_LIGHT_BATTERY (1)
6 changes: 0 additions & 6 deletions lib/pbio/platform/essential_hub/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -630,12 +630,6 @@ const pbdrv_block_device_w25qxx_stm32_platform_data_t pbdrv_block_device_w25qxx_
.bank = GPIOB,
.pin = 12,
},
// Carve out 256K from the reserved 1M area at the start of the flash.
// This avoids touching the file system, the area read by the LEGO
// bootloader and the area used by upstream MicroPython. Currently, this
// just needs to be big enough to back up the user program on shutdown.
.start_address = 512 * 1024,
.end_address = 768 * 1024,
};

// USB
Expand Down
1 change: 1 addition & 0 deletions lib/pbio/platform/move_hub/pbdrvconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

#define PBDRV_CONFIG_BLOCK_DEVICE (1)
#define PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32 (1)
#define PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE (4 * 1024) // Must match FLASH_USER_0 + FLASH_USER_1 in linker script

#define PBDRV_CONFIG_BLUETOOTH (1)
#define PBDRV_CONFIG_BLUETOOTH_STM32_BLUENRG (1)
Expand Down
5 changes: 4 additions & 1 deletion lib/pbio/platform/move_hub/pbsysconfig.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
// SPDX-License-Identifier: MIT
// Copyright (c) 2020-2022 The Pybricks Authors

#include "pbdrvconfig.h"

#define PBSYS_CONFIG_BATTERY_CHARGER (0)
#define PBSYS_CONFIG_BLUETOOTH (1)
#define PBSYS_CONFIG_HUB_LIGHT_MATRIX (0)
#define PBSYS_CONFIG_MAIN (1)
#define PBSYS_CONFIG_PROGRAM_LOAD (1)
#define PBSYS_CONFIG_PROGRAM_LOAD_PROGRAM_DATA_SIZE (7 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_OVERLAPS_BOOTLOADER_CHECKSUM (1)
#define PBSYS_CONFIG_PROGRAM_LOAD_RAM_SIZE (7 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_ROM_SIZE (PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE)
#define PBSYS_CONFIG_STATUS_LIGHT (1)
#define PBSYS_CONFIG_STATUS_LIGHT_BATTERY (0)
6 changes: 6 additions & 0 deletions lib/pbio/platform/prime_hub/pbdrvconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@
#define PBDRV_CONFIG_BLOCK_DEVICE (1)
#define PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32 (1)
#define PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_W25Q256 (1)
// Carve out 256K from the reserved 1M area at the start of the flash.
// This avoids touching the file system, the area read by the LEGO
// bootloader and the area used by upstream MicroPython. Currently, this
// just needs to be big enough to back up the user program on shutdown.
#define PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_START_ADDRESS (512 * 1024)
#define PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_SIZE (256 * 1024)

#define PBDRV_CONFIG_BUTTON (1)
#define PBDRV_CONFIG_BUTTON_RESISTOR_LADDER (1)
Expand Down
3 changes: 2 additions & 1 deletion lib/pbio/platform/prime_hub/pbsysconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
#define PBSYS_CONFIG_HUB_LIGHT_MATRIX (1)
#define PBSYS_CONFIG_MAIN (1)
#define PBSYS_CONFIG_PROGRAM_LOAD (1)
#define PBSYS_CONFIG_PROGRAM_LOAD_PROGRAM_DATA_SIZE (256 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_RAM_SIZE (258 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_ROM_SIZE (PBDRV_CONFIG_BLOCK_DEVICE_W25QXX_STM32_SIZE)
#define PBSYS_CONFIG_PROGRAM_LOAD_OVERLAPS_BOOTLOADER_CHECKSUM (0)
#define PBSYS_CONFIG_STATUS_LIGHT (1)
#define PBSYS_CONFIG_STATUS_LIGHT_BATTERY (1)
6 changes: 0 additions & 6 deletions lib/pbio/platform/prime_hub/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -923,12 +923,6 @@ const pbdrv_block_device_w25qxx_stm32_platform_data_t pbdrv_block_device_w25qxx_
.bank = GPIOB,
.pin = 12,
},
// Carve out 256K from the reserved 1M area at the start of the flash.
// This avoids touching the file system, the area read by the LEGO
// bootloader and the area used by upstream MicroPython. Currently, this
// just needs to be big enough to back up the user program on shutdown.
.start_address = 512 * 1024,
.end_address = 768 * 1024,
};

// USB
Expand Down
1 change: 1 addition & 0 deletions lib/pbio/platform/technic_hub/pbdrvconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@

#define PBDRV_CONFIG_BLOCK_DEVICE (1)
#define PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32 (1)
#define PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE (16 * 1024) // Must match FLASH_USER_0 + FLASH_USER_1 in linker script

#define PBDRV_CONFIG_BLUETOOTH (1)
#define PBDRV_CONFIG_BLUETOOTH_STM32_CC2640 (1)
Expand Down
5 changes: 4 additions & 1 deletion lib/pbio/platform/technic_hub/pbsysconfig.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
// SPDX-License-Identifier: MIT
// Copyright (c) 2020-2022 The Pybricks Authors

#include "pbdrvconfig.h"

#define PBSYS_CONFIG_BATTERY_CHARGER (0)
#define PBSYS_CONFIG_BLUETOOTH (1)
#define PBSYS_CONFIG_HUB_LIGHT_MATRIX (0)
#define PBSYS_CONFIG_MAIN (1)
#define PBSYS_CONFIG_PROGRAM_LOAD (1)
#define PBSYS_CONFIG_PROGRAM_LOAD_PROGRAM_DATA_SIZE (32 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_OVERLAPS_BOOTLOADER_CHECKSUM (1)
#define PBSYS_CONFIG_PROGRAM_LOAD_RAM_SIZE (32 * 1024)
#define PBSYS_CONFIG_PROGRAM_LOAD_ROM_SIZE (PBDRV_CONFIG_BLOCK_DEVICE_FLASH_STM32_SIZE)
#define PBSYS_CONFIG_STATUS_LIGHT (1)
#define PBSYS_CONFIG_STATUS_LIGHT_BATTERY (0)
Loading

0 comments on commit 5d7b056

Please sign in to comment.