summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/CMSIS/Kconfig20
-rw-r--r--components/Kconfig2
-rw-r--r--components/dfs/Kconfig29
-rw-r--r--components/net/Kconfig7
-rw-r--r--components/net/lwip-2.0.2/src/netif/ethernetif.c24
5 files changed, 62 insertions, 20 deletions
diff --git a/components/CMSIS/Kconfig b/components/CMSIS/Kconfig
new file mode 100644
index 0000000000..8a27f44405
--- /dev/null
+++ b/components/CMSIS/Kconfig
@@ -0,0 +1,20 @@
+if ARCH_ARM_CORTEX_M
+
+menu "ARM CMSIS"
+
+config RT_USING_CMSIS_OS
+ bool "Using CMSIS RTOS API"
+ default n
+ help
+ Enable CMSIS RTOS API, which is implemented above RT-Thread.
+
+config RT_USING_RTT_CMSIS
+ bool "Using CMSIS Header files in RT-Thread"
+ default n
+ help
+ Use CMSIS header files in RT-Thread/components/CMSIS. Otherwise, use the
+ CMSIS header files in BSP.
+
+endmenu
+
+endif
diff --git a/components/Kconfig b/components/Kconfig
index b8c94b558a..40d9bee5e2 100644
--- a/components/Kconfig
+++ b/components/Kconfig
@@ -28,4 +28,6 @@ source "$RTT_DIR/components/vbus/Kconfig"
source "$RTT_DIR/components/utilities/Kconfig"
+source "$RTT_DIR/components/CMSIS/Kconfig"
+
endmenu
diff --git a/components/dfs/Kconfig b/components/dfs/Kconfig
index 91df96cb08..ec9985e21c 100644
--- a/components/dfs/Kconfig
+++ b/components/dfs/Kconfig
@@ -12,17 +12,20 @@ if RT_USING_DFS
default y
config DFS_FILESYSTEMS_MAX
- int "The maximal number of mounted file system"
- default 2
+ int "The maximal number of mounted file system"
+ default 4 if RT_USING_DFS_NFS
+ default 2
config DFS_FILESYSTEM_TYPES_MAX
int "The maximal number of file system type"
- default 2
+ default 4 if RT_USING_DFS_NFS
+ default 2
config DFS_FD_MAX
int "The maximal number of opened files"
+ default 16 if RT_USING_DFS_NFS
default 4
-
+
config RT_USING_DFS_ELMFAT
bool "Enable elm-chan fatfs"
default y
@@ -51,18 +54,18 @@ if RT_USING_DFS
config RT_DFS_ELM_USE_LFN_2
bool "2: LFN with dynamic LFN working buffer on the stack"
-
+
config RT_DFS_ELM_USE_LFN_3
bool "3: LFN with dynamic LFN working buffer on the heap"
endchoice
-
+
config RT_DFS_ELM_USE_LFN
int
default 0 if RT_DFS_ELM_USE_LFN_0
default 1 if RT_DFS_ELM_USE_LFN_1
default 2 if RT_DFS_ELM_USE_LFN_2
default 3 if RT_DFS_ELM_USE_LFN_3
-
+
config RT_DFS_ELM_MAX_LFN
int "Maximal size of file name length"
range 12 255
@@ -81,7 +84,7 @@ if RT_USING_DFS
config RT_DFS_ELM_USE_ERASE
bool "Enable sector erase feature"
default n
-
+
config RT_DFS_ELM_REENTRANT
bool "Enable the reentrancy (thread safe) of the FatFs module"
default y
@@ -91,7 +94,7 @@ if RT_USING_DFS
config RT_USING_DFS_DEVFS
bool "Using devfs for device objects"
default y
-
+
config RT_USING_DFS_NET
bool "Enable BSD socket operated by file system API"
select RT_USING_LWIP
@@ -140,23 +143,23 @@ if RT_USING_DFS
config RT_UFFS_ECC_MODE_2
bool "2: Flash driver(or by hardware) calculate the ECC"
-
+
config RT_UFFS_ECC_MODE_3
bool "3: Hardware calculate the ECC and automatically write to spare."
endchoice
-
+
config RT_UFFS_ECC_MODE
int
default 0 if RT_UFFS_ECC_MODE_0
default 1 if RT_UFFS_ECC_MODE_1
default 2 if RT_UFFS_ECC_MODE_2
default 3 if RT_UFFS_ECC_MODE_3
-
+
endif
config RT_USING_DFS_NFS
bool "Using NFS v3 client file system"
- depends on RT_USING_LWIP
+ select RT_USING_LWIP
default n
if RT_USING_DFS_NFS
diff --git a/components/net/Kconfig b/components/net/Kconfig
index af375e6c03..f75ed461b1 100644
--- a/components/net/Kconfig
+++ b/components/net/Kconfig
@@ -27,7 +27,7 @@ config RT_USING_LWIP
config RT_LWIP_IGMP
bool "IGMP protocol"
- default n
+ default y
config RT_LWIP_ICMP
bool "ICMP protocol"
@@ -91,12 +91,12 @@ config RT_USING_LWIP
config RT_LWIP_PPPOE
bool "PPPoE protocol"
default n
-
+
config RT_LWIP_PPPOS
bool "PPPoS protocol"
default n
endif
-
+
config RT_MEMP_NUM_NETCONN
int "the number of struct netconns"
default 8
@@ -111,6 +111,7 @@ config RT_USING_LWIP
config RT_LWIP_UDP_PCB_NUM
int "the number of UDP socket"
+ default 8 if RT_USING_DFS_NFS
default 4
if RT_LWIP_TCP
diff --git a/components/net/lwip-2.0.2/src/netif/ethernetif.c b/components/net/lwip-2.0.2/src/netif/ethernetif.c
index bd28815c4b..ba23528c58 100644
--- a/components/net/lwip-2.0.2/src/netif/ethernetif.c
+++ b/components/net/lwip-2.0.2/src/netif/ethernetif.c
@@ -173,10 +173,26 @@ static err_t eth_netif_device_init(struct netif *netif)
netif->flags = (ethif->flags & 0xff);
#if LWIP_IPV6
- netif->output_ip6 = ethip6_output;
- netif->ip6_autoconfig_enabled = 1;
- netif_create_ip6_linklocal_address(netif, 1);
- netif->flags |= NETIF_FLAG_MLD6;
+ netif->output_ip6 = ethip6_output;
+ netif->ip6_autoconfig_enabled = 1;
+ netif_create_ip6_linklocal_address(netif, 1);
+
+#if LWIP_IPV6_MLD
+ netif->flags |= NETIF_FLAG_MLD6;
+
+ /*
+ * For hardware/netifs that implement MAC filtering.
+ * All-nodes link-local is handled by default, so we must let the hardware know
+ * to allow multicast packets in.
+ * Should set mld_mac_filter previously. */
+ if (netif->mld_mac_filter != NULL)
+ {
+ ip6_addr_t ip6_allnodes_ll;
+ ip6_addr_set_allnodes_linklocal(&ip6_allnodes_ll);
+ netif->mld_mac_filter(netif, &ip6_allnodes_ll, NETIF_ADD_MAC_FILTER);
+ }
+#endif /* LWIP_IPV6_MLD */
+
#endif /* LWIP_IPV6 */
/* set default netif */