Commit Graph

17463 Commits (a070e350ecd92a65e102aed05ac4f87edd026161)

Author SHA1 Message Date
Mika Leppänen b7e8400c2c Added non-blocking DNS functionality to network interface
- Added non-blocking DNS interface to network interface and
  network stack.
- Added caching of DNS replies.
- Added a network stack function to get DNS addresses from stack.
- Added call and call_in hooks to onboard network stack to
  allow calling functions from onboard stack context.
- Added support to call and call_in functions to LWIP and
  Nanostack.
- Disabled LWIP DNS translator with the exception of DNS
  address storage used in DNS address get.
2018-05-23 12:24:10 +03:00
TomoYamanaka bad530ab0d Implementation of unified EMAC driver for Renesas mbed boards
Implementation of unified EMAC driver for Renesas mbed boards

Based on the driver so far, Renesas implemented the emac driver for GR-PEACH and VK-RZ/A1H.
The mainly changes is below.
- Add the connection part with LWIP according to the unified emac specification.
- Add three new multicast functions(add, remove, set_all).

The Greentea test netsocket and emac test passed.
2018-05-23 12:24:09 +03:00
cyliangtw 7bfa362492 [M487/NUC472] Fix tx frame length and remove GPL license 2018-05-23 12:24:09 +03:00
cyliangtw 401f09c479 [M487/NUC472] Support DHCP & TCP sample, also remove legacy emac 2018-05-23 12:24:09 +03:00
cyliangtw 89209b6cd5 [M487/NUC472] Support new EMAC feature, built OK 2018-05-23 12:24:08 +03:00
Amanda Butler 26f369919b Copy edit README.md
Copy edit changes to README.md, mostly for active voice, consistent tense across docs and style.
2018-05-23 12:24:08 +03:00
Mika Leppänen 026af3a72e Updated emac greentea tests
- Improved markdown
- Set tests to fail if CTP echo server is not present
2018-05-23 12:24:08 +03:00
Mika Leppänen d9a66f1c54 Updated non-blocking connect changes to EMAC greentea test server 2018-05-23 12:24:08 +03:00
Mahesh Mahadevan 82b2a27a1c Kinetis EMAC: Renamed K64F files to Kinetis
This driver is used by more SoC's than K64F

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:24:07 +03:00
Mahesh Mahadevan 7bc4c0ec21 K64F, K66F: Update the SYSMPU implementation
Do not disable SYSMPU, instead add access for ENET bus master

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:24:07 +03:00
Mahesh Mahadevan 93f8cfed05 K64F: Updated the SYSMPU SDK driver
This is required to setup the MPU for ENET bus master accesses

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:24:07 +03:00
Mika Leppänen de72090d26 Changed STM emac driver to loop RX frame reading 2018-05-23 12:24:06 +03:00
Kevin Bracey 953f1b615a Add EMAC driver README.md with porting guide 2018-05-23 12:24:06 +03:00
Kevin Bracey fbd920777b Add extra labels for Freescale & STM EMAC drivers
Just checking "does the chip have an EMAC" doesn't work - there are
targets using those chips which do not have an Ethernet connector and
don't provide the necessary surrounding infrastructure (eg DISCO_F429ZI,
not providing the board emac config call, and HEXIWEAR not providing PHY
info).

Make the targets that actually do want EMAC define their own local
Freescale_EMAC and STM_EMAC labels, and move the drivers into
the corresponding TARGET_ directories, removing the #ifdefs.
2018-05-23 12:24:06 +03:00
Kevin Bracey d83dec9ea4 Stop drivers checking DEVICE_EMAC
Checking DEVICE_EMAC is problematic - particularly for the Odin W2 where
apps have been shutting this off to disable the Wi-fi interface.

Make drivers check a locally-relevant flag instead, pending new
thoughts on how to achieve application/test-relevant flagging for
XXX:get_default_instance() being provided by a system.

However that is achieved, drivers do require a flag set purely by the
target - they mustn't be tripped up by an add-on module providing itself
as the system's default EMAC.
2018-05-23 12:24:05 +03:00
Mika Leppänen c1c69be10b Made feature-emac changes to emac greentea tests default code
Removed flagging of the new/old code.
2018-05-23 12:24:05 +03:00
Mika Leppänen 7aebda7a0f Emac greentea tests for feature-emac 2018-05-23 12:24:05 +03:00
Mika Leppänen 01b4d97cb4 Corrected STM eth driver flagging, memory allocation and thread init 2018-05-23 12:24:05 +03:00
Kevin Bracey 3c83c62ff7 Nanostack EMAC implementation
Make Nanostack an OnboardNetworkInterface, implementing
add_ethernet_interface so it can use EMAC drivers.

Can now be used via EthernetInterface, and be the system's default
network stack.

Legacy support for NanostackEthernetInterface retained. Some
restructuring of mesh interface code to fit into the
OnboardNetworkStack:::Interface system.
2018-05-23 12:24:04 +03:00
Kevin Bracey a0d374ef00 Extend EMAC multicast APIs 2018-05-23 12:24:02 +03:00
Kevin Bracey 5472a9703f EMAC: check link status callback is set
Nanostack doesn't set the link status callback. Make sure the two
example drivers don't crash if it isn't set.
2018-05-23 12:24:02 +03:00
Mika Leppänen ef68eb8b4d Enabled greentea and mbed-os-example-tls/client/sockets test for STM 2018-05-23 12:24:02 +03:00
Kevin Bracey 7ce098acb4 K64F EMAC: Fix TX error path leaks 2018-05-23 12:24:02 +03:00
Mika Leppänen 5da3cd9cce Added preferred alignment to emac and copy to/from to memory manager 2018-05-23 12:24:01 +03:00
Kevin Bracey 4950a993fd Move STM EMAC driver out out lwIP 2018-05-23 12:24:01 +03:00
Mika Leppänen 4e10cc097e Updated STM ethernet driver to use emac and memory manager 2018-05-23 12:24:01 +03:00
Mika Leppänen 668e0821a1 Updated K64F ethernet driver to use memory manager 2018-05-23 12:24:00 +03:00
Mika Leppänen bc5d4d1c0d Created memory manager class to netsocket and updated lwip to use it
instead of old memory interface.
2018-05-23 12:24:00 +03:00
Kevin Bracey f584ac3b59 Connectivity test: don't create interface object twice 2018-05-23 12:24:00 +03:00
Kevin Bracey d831bcb514 Remove Ethernet from NUCLEO_F429ZI test
Pending EMAC driver update, these tests won't compile.
2018-05-23 12:24:00 +03:00
Kevin Bracey 6930c6d3cf Ignore old EMAC Wifi drivers
Suppress Odin W2 and Realtek Wi-fi drivers using .mbedignore
2018-05-23 12:23:59 +03:00
Kevin Bracey 1683ff18ba Disable Nanostack border router test
Pending Nanostack EMAC work, disable the border router.
2018-05-23 12:23:59 +03:00
Kevin Bracey 2548f1894d Restrict client and socket example tests to K64F+K66F
I would like to restrict these to devices with "device_has": "EMAC", but
the framework doesn't currently permit that.  Revisit as more drivers
are EMAC-enabled or if the framework changes.
2018-05-23 12:23:59 +03:00
Kevin Bracey 586a62a87b Adjust test configurations for EMAC
Make ETHERNET configuration the default if DEVICE_EMAC is present,
instead of if FEATURE_LWIP is present.

This limits it to targets which have been ported to the new EMAC API.

Add LWIP feature to JSON config, as in principle the targets shouldn't
be adding it themselves. Opens scope to having Nanostack-based tests.

Disable tests for the Realtek and Wifi drivers that aren't ported yet.
2018-05-23 12:23:59 +03:00
Kevin Bracey b222c25435 Work around Nuvoton #define EMAC 2018-05-23 12:23:58 +03:00
Kevin Bracey 958247265b Tell mbed build to ignore old lwIP+EMAC drivers 2018-05-23 12:23:58 +03:00
Kevin Bracey 0ecf4e4695 Move Freescale EMAC driver out of lwIP 2018-05-23 12:23:58 +03:00
Mika Leppänen 28ff255533 Updated greentea network interface configuration files 2018-05-23 12:23:57 +03:00
Kevin Bracey 74dfe3423a Add downcast methods to NetworkInterface
As we've introduced virtual inheritance to support EMACInterface, we can
no longer use C-style casts or static_cast to downcast from
NetworkInterface to more specific types. RTTI is disabled in the
toolchains, so dynamic_cast is unavailables.

Add virtual downcast methods to permit conversions to the 6 derived
classes. Probably only needed for EMACInterface, WiFiInterface and
EthInterface, but handles the set.
2018-05-23 12:23:55 +03:00
Mirela Chirica 6e7d0a8847 Cellular: Added missing copyrights 2018-05-23 12:11:02 +03:00
Mirela Chirica b59ef26930 Cellular: Unit tests fixes 2018-05-23 12:11:02 +03:00
paul-szczepanek-arm 80137be991 Merge https://github.com/ARMmbed/mbed-os into security-manager-dev 2018-05-23 09:47:06 +01:00
Yossi Levy f33f4dab26 Increase tests timeout to 45 second 2018-05-23 11:29:46 +03:00
Ron Eldor 77e87d3174 Check the size_t isn't larger than 32 bit
Assure that `size_t` isn't larger than 32 bit, with preprocessor check.
Using `#if SIZE_MAX > UINT_MAX`.
2018-05-23 08:37:27 +03:00
Cruz Monrreal II 8b661828fc Updated Travis CI to be able to run tool tests against Python 3.
Will be enabled when tool support has been completely ported
2018-05-22 19:20:33 -05:00
Andrew Leech 78d31cff5c Fix the flash length to use all of 256K part. 2018-05-23 09:50:52 +10:00
Steven c2bc20ef74 Fix to flash API on EFM32
* Since mbed does not overwrite itself, make the flashing routines run out of flash by default
* Report a writeable size of 4 bytes (previously erroneously reported a full eraseable page as the minimum write size)
2018-05-22 22:55:49 +02:00
Steven 30db7fd441 Update pinout of TB_SENSE_12 to production revision
* Updated pinout of EXP header from pre-production to production
* Move assignment of PF7 to SPI_2 to be compatible with the new SPI flash routing
2018-05-22 22:54:24 +02:00
Steven b011e2b8c7 EFM32 IRQ handling fix
* IRQ handling got updated previously to a non-functional state when both callbacks were registered (it'd fire a fall callback for both rise and fall events). With this update, that faulty behaviour is corrected. Due to delays between the detection of the edge and the handling of the interrupt (and the fact that information about which edge you received on the pin is not stored anywhere), there is no way to be absolutely sure which edge got triggered on the pin. Therefore, we make a best-guess effort by looking at the pin state at the time of IRQ handling, and fire a callback as if that was the end state of the event. This will usually work out fine, except in cases were the signal is toggling faster than the IRQ handler's response time. In that case, a user won't get both callbacks (as expected for a pulse), but only the last event.
* Stripped some dead code.
2018-05-22 22:43:43 +02:00
Cruz Monrreal 3bcc076c0c
Merge pull request #6931 from jeromecoutant/PR_PERIPH
STM32 : PeripheralPins.c and PinNames.h files alignment
2018-05-22 14:56:37 -05:00