From 30e68f3201017262748aa45077ac754ddfc01771 Mon Sep 17 00:00:00 2001 From: Kevin Bracey Date: Wed, 6 Jun 2018 13:13:19 +0300 Subject: [PATCH] Kinetis EMAC: Make number of buffers configurable 16 RX buffers and 8 TX buffers is probably excessive. Nanostack version of driver successfully used 4+4, and data pump should be broadly equivalent. This means that switching K64F devices from Nanostack to EMAC increases base heap usage by 18K - observed in Nanostack border router builds. Add a config option to make it possible to lower the number of buffers. Defer consideration of lowering the default to later. --- .../TARGET_Freescale_EMAC/kinetis_emac_config.h | 4 ++-- .../emac-drivers/TARGET_Freescale_EMAC/mbed_lib.json | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 features/netsocket/emac-drivers/TARGET_Freescale_EMAC/mbed_lib.json diff --git a/features/netsocket/emac-drivers/TARGET_Freescale_EMAC/kinetis_emac_config.h b/features/netsocket/emac-drivers/TARGET_Freescale_EMAC/kinetis_emac_config.h index 570e5f6c5b..a56fe41942 100644 --- a/features/netsocket/emac-drivers/TARGET_Freescale_EMAC/kinetis_emac_config.h +++ b/features/netsocket/emac-drivers/TARGET_Freescale_EMAC/kinetis_emac_config.h @@ -32,8 +32,8 @@ #include "fsl_enet.h" -#define ENET_RX_RING_LEN (16) -#define ENET_TX_RING_LEN (8) +#define ENET_RX_RING_LEN MBED_CONF_KINETIS_EMAC_RX_RING_LEN +#define ENET_TX_RING_LEN MBED_CONF_KINETIS_EMAC_TX_RING_LEN #define ENET_ETH_MAX_FLEN (1522) // recommended size for a VLAN frame diff --git a/features/netsocket/emac-drivers/TARGET_Freescale_EMAC/mbed_lib.json b/features/netsocket/emac-drivers/TARGET_Freescale_EMAC/mbed_lib.json new file mode 100644 index 0000000000..2e1ef2e320 --- /dev/null +++ b/features/netsocket/emac-drivers/TARGET_Freescale_EMAC/mbed_lib.json @@ -0,0 +1,7 @@ +{ + "name": "kinetis-emac", + "config": { + "rx-ring-len": 16, + "tx-ring-len": 8 + } +}