1CONFIG_BT=y 2CONFIG_BT_SMP=y 3CONFIG_BT_PERIPHERAL=y 4CONFIG_BT_DIS=y 5CONFIG_BT_DIS_PNP=n 6CONFIG_BT_BAS=y 7CONFIG_BT_HRS=y 8CONFIG_BT_DEVICE_NAME="Zephyr Heartrate Sensor" 9CONFIG_BT_DEVICE_APPEARANCE=833 10 11# Drivers and peripherals 12CONFIG_I2C=n 13CONFIG_WATCHDOG=n 14CONFIG_PINCTRL=n 15CONFIG_SPI=n 16CONFIG_GPIO=n 17CONFIG_SERIAL=n 18 19# Power management 20CONFIG_PM=n 21 22# Interrupts 23CONFIG_DYNAMIC_INTERRUPTS=n 24CONFIG_IRQ_OFFLOAD=n 25 26# Memory protection 27CONFIG_THREAD_STACK_INFO=n 28CONFIG_THREAD_CUSTOM_DATA=n 29CONFIG_FPU=n 30 31# Boot 32CONFIG_BOOT_BANNER=n 33CONFIG_BOOT_DELAY=0 34 35# Console 36CONFIG_CONSOLE=n 37CONFIG_UART_CONSOLE=n 38CONFIG_STDOUT_CONSOLE=n 39CONFIG_PRINTK=n 40CONFIG_EARLY_CONSOLE=n 41 42# Build 43CONFIG_SIZE_OPTIMIZATIONS=y 44 45# ARM 46CONFIG_ARM_MPU=n 47CONFIG_BUILTIN_STACK_GUARD=n 48 49# In order to correctly tune the stack sizes for the threads the following 50# Configurations can enabled to print the current use: 51# CONFIG_THREAD_NAME=y 52# CONFIG_THREAD_ANALYZER=y 53# CONFIG_THREAD_ANALYZER_AUTO=y 54# CONFIG_THREAD_ANALYZER_RUN_UNLOCKED=y 55# CONFIG_THREAD_ANALYZER_USE_PRINTK=y 56# CONFIG_THREAD_ANALYZER_AUTO_INTERVAL=20 57# CONFIG_CONSOLE=y 58# CONFIG_UART_CONSOLE=y 59# CONFIG_SERIAL=y 60# CONFIG_PRINTK=y 61 62# Example output of thread analyzer 63# BT RX : STACK: unused 576 usage 448 / 1024 (43 %); CPU: 0 % 64# BT RX pri : STACK: unused 260 usage 188 / 448 (41 %); CPU: 0 % 65# BT ECC : STACK: unused 256 usage 888 / 1144 (77 %); CPU: 1 % 66# BT TX : STACK: unused 296 usage 344 / 640 (53 %); CPU: 0 % 67# thread_analyzer : STACK: unused 128 usage 384 / 512 (75 %); CPU: 1 % 68# sysworkq : STACK: unused 856 usage 168 / 1024 (16 %); CPU: 0 % 69# logging : STACK: unused 232 usage 536 / 768 (69 %); CPU: 0 % 70# idle 00 : STACK: unused 208 usage 48 / 256 (18 %); CPU: 97 % 71# main : STACK: unused 576 usage 448 / 1024 (43 %); CPU: 0 % 72CONFIG_BT_RX_STACK_SIZE=1024 73CONFIG_BT_HCI_TX_STACK_SIZE_WITH_PROMPT=y 74CONFIG_BT_HCI_TX_STACK_SIZE=640 75CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=1100 76CONFIG_BT_LONG_WQ_STACK_SIZE=1100 77CONFIG_IDLE_STACK_SIZE=128 78CONFIG_MAIN_STACK_SIZE=640 79CONFIG_ISR_STACK_SIZE=1024 80 81# Disable features not needed 82CONFIG_TIMESLICING=n 83CONFIG_COMMON_LIBC_MALLOC=n 84CONFIG_LOG=n 85CONFIG_ASSERT=n 86 87# Disable Bluetooth features not needed 88# CONFIG_BT_DEBUG_NONE=y 89CONFIG_BT_ASSERT=n 90CONFIG_BT_DATA_LEN_UPDATE=n 91CONFIG_BT_PHY_UPDATE=n 92CONFIG_BT_GATT_CACHING=n 93CONFIG_BT_GATT_SERVICE_CHANGED=n 94CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=n 95CONFIG_BT_HCI_VS=n 96CONFIG_BT_CONN_DYNAMIC_CALLBACKS=n 97 98# Reduce Bluetooth buffers 99CONFIG_BT_BUF_EVT_DISCARDABLE_COUNT=1 100CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=45 101CONFIG_BT_BUF_EVT_RX_COUNT=4 102 103CONFIG_BT_L2CAP_TX_BUF_COUNT=2 104CONFIG_BT_BUF_ACL_TX_COUNT=3 105CONFIG_BT_BUF_ACL_TX_SIZE=27 106 107# Limit the number of key slots in PSA Crypto core to reduce 108# RAM footprint 109CONFIG_MBEDTLS_PSA_KEY_SLOT_COUNT=5 110 111# This is required because otherwise there won't be 112# __heap_start/__heap_end symbols defined in the build. This 113# is due to Mbed TLS which at boot uses standard calloc/free 114# functions and only after the initialization done from Zephyr 115# it switches to its internal memory management functions. 116CONFIG_COMMON_LIBC_MALLOC=y 117