diff --git a/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py b/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py index 92aac71b8530d..dbad4d8f33ba6 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py +++ b/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py @@ -768,6 +768,8 @@ def write_mcu_config(f): 'FLASH_RESERVE_START_KB', default=16, type=int) f.write('\n// location of loaded firmware\n') f.write('#define FLASH_LOAD_ADDRESS 0x%08x\n' % (0x08000000 + flash_reserve_start*1024)) + f.write('#define EXTERNAL_PROG_FLASH_MB %u\n' % get_config('EXTERNAL_PROG_FLASH_MB', default=0, type=int)) + env_vars['EXTERNAL_PROG_FLASH_MB'] = get_config('EXTERNAL_PROG_FLASH_MB', default=0, type=int) if args.bootloader: f.write('#define FLASH_BOOTLOADER_LOAD_KB %u\n' % get_config('FLASH_BOOTLOADER_LOAD_KB', type=int)) f.write('#define FLASH_RESERVE_END_KB %u\n' % get_config('FLASH_RESERVE_END_KB', default=0, type=int)) @@ -870,10 +872,23 @@ def write_mcu_config(f): #define HAL_NO_UARTDRIVER #define HAL_NO_PRINTF #define HAL_NO_CCM +#define HAL_USE_I2C FALSE +#define HAL_USE_PWM FALSE +#define CH_DBG_ENABLE_STACK_CHECK FALSE +#define CH_CFG_USE_DYNAMIC FALSE +// avoid timer and RCIN threads to save memory +#define HAL_NO_TIMER_THREAD +#define HAL_NO_RCOUT_THREAD +#define HAL_NO_RCIN_THREAD +#define HAL_NO_SHARED_DMA FALSE +#define HAL_NO_ROMFS_SUPPORT TRUE +#define HAL_NO_FLASH_SUPPORT TRUE +''') + if not env_vars['EXTERNAL_PROG_FLASH_MB']: + f.write(''' #define CH_CFG_USE_TM FALSE #define CH_CFG_USE_REGISTRY FALSE #define CH_CFG_USE_WAITEXIT FALSE -#define CH_CFG_USE_DYNAMIC FALSE #define CH_CFG_USE_MEMPOOLS FALSE #define CH_DBG_FILL_THREADS FALSE #define CH_CFG_USE_SEMAPHORES FALSE @@ -882,13 +897,6 @@ def write_mcu_config(f): #define CH_CFG_USE_EVENTS FALSE #define CH_CFG_USE_EVENTS_TIMEOUT FALSE #define CH_CFG_USE_MEMCORE FALSE -#define HAL_USE_I2C FALSE -#define HAL_USE_PWM FALSE -#define CH_DBG_ENABLE_STACK_CHECK FALSE -// avoid timer and RCIN threads to save memory -#define HAL_NO_TIMER_THREAD -#define HAL_NO_RCOUT_THREAD -#define HAL_NO_RCIN_THREAD ''') if env_vars.get('ROMFS_UNCOMPRESSED', False): f.write('#define HAL_ROMFS_UNCOMPRESSED\n')