Skip to content

Commit 0789928

Browse files
authored
Merge pull request #3467 from ARMmbed/release-candidate
Release candidate for mbed-os-5.3.1
2 parents c3b9436 + b0889da commit 0789928

File tree

578 files changed

+116418
-22123
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

578 files changed

+116418
-22123
lines changed

TESTS/mbedmicro-rtos-mbed/malloc/main.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
#endif
88

99
#define NUM_THREADS 5
10+
#if defined(__CORTEX_A9)
11+
#define THREAD_STACK_SIZE DEFAULT_STACK_SIZE
12+
#else
1013
#define THREAD_STACK_SIZE 256
14+
#endif
1115

1216
DigitalOut led1(LED1);
1317
volatile bool should_exit = false;

TESTS/mbedmicro-rtos-mbed/mutex/main.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
#define STACK_SIZE 768
3333
#elif (defined(TARGET_EFM32GG_STK3700)) && !defined(TOOLCHAIN_ARM_MICRO)
3434
#define STACK_SIZE 1536
35+
#elif (defined(TARGET_EFR32)) && !defined(TOOLCHAIN_ARM_MICRO)
36+
#define STACK_SIZE 768
3537
#elif defined(TARGET_MCU_NRF51822) || defined(TARGET_MCU_NRF52832)
3638
#define STACK_SIZE 1024
3739
#elif defined(TARGET_XDOT_L151CC)

TESTS/mbedmicro-rtos-mbed/semaphore/main.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
#define STACK_SIZE 768
3636
#elif (defined(TARGET_EFM32GG_STK3700)) && !defined(TOOLCHAIN_ARM_MICRO)
3737
#define STACK_SIZE 1536
38+
#elif (defined(TARGET_EFR32)) && !defined(TOOLCHAIN_ARM_MICRO)
39+
#define STACK_SIZE 768
3840
#elif defined(TARGET_MCU_NRF51822) || defined(TARGET_MCU_NRF52832)
3941
#define STACK_SIZE 768
4042
#elif defined(TARGET_XDOT_L151CC)

TESTS/mbedmicro-rtos-mbed/threads/main.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
#define STACK_SIZE 1024
2828
#elif defined(TARGET_HI2110)
2929
#define STACK_SIZE 512
30+
#elif defined(TARGET_EFR32)
31+
#define STACK_SIZE 512
3032
#else
3133
#define STACK_SIZE DEFAULT_STACK_SIZE
3234
#endif

docs/exporters.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,12 @@ The dname (device name) field on line 156 directly corresponds to that in the Uv
5353
##### IAR
5454
[`tools/export/iar/iar_definitions.json`](https://github.com/ARMmbed/mbed-os/blob/master/tools/export/iar/iar_definitions.json) utilizes this device name to store information necessary to set the target in an IAR project.
5555

56+
##### Updating index.json
57+
You can regenerate `index.json` to contain a newly made CMSIS pack with the following command:
5658

59+
`mbed export -i [IDE] --update-packs`
60+
61+
You should include the changes to `index.json` in your PR that adds support for the new target.
5762

5863

5964

drivers/I2C.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ class I2C {
117117
* @param repeated Repeated start, true - do not send stop at end
118118
*
119119
* @returns
120-
* 0 on success (ack),
121-
* non-0 on failure (nack)
120+
* 0 or non-zero - written number of bytes,
121+
* negative - I2C_ERROR_XXX status
122122
*/
123123
int write(int address, const char *data, int length, bool repeated = false);
124124

@@ -127,8 +127,9 @@ class I2C {
127127
* @param data data to write out on bus
128128
*
129129
* @returns
130-
* '1' if an ACK was received,
131-
* '0' otherwise
130+
* '0' - NAK was received
131+
* '1' - ACK was received,
132+
* '2' - timeout
132133
*/
133134
int write(int data);
134135

features/FEATURE_LWIP/TESTS/mbedmicro-net/host_tests/tcp_echo_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,10 @@ def find_interface_to_target_addr(target_ip):
128128
:return:
129129
"""
130130
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
131-
s.connect((target_ip, 0)) # Target IP, Any port
131+
try:
132+
s.connect((target_ip, 0)) # Target IP, any port
133+
except socket.error:
134+
s.connect((target_ip, 8000)) # Target IP, 'random' port
132135
ip = s.getsockname()[0]
133136
s.close()
134137
return ip

features/FEATURE_LWIP/TESTS/mbedmicro-net/host_tests/udp_echo_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,10 @@ def find_interface_to_target_addr(target_ip):
5555
:return:
5656
"""
5757
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
58-
s.connect((target_ip, 0)) # Target IP, Any port
58+
try:
59+
s.connect((target_ip, 0)) # Target IP, any port
60+
except socket.error:
61+
s.connect((target_ip, 8000)) # Target IP, 'random' port
5962
ip = s.getsockname()[0]
6063
s.close()
6164
return ip
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
/*
2+
* Copyright (c) 2016, Freescale Semiconductor, Inc.
3+
* All rights reserved.
4+
*
5+
* Redistribution and use in source and binary forms, with or without modification,
6+
* are permitted provided that the following conditions are met:
7+
*
8+
* o Redistributions of source code must retain the above copyright notice, this list
9+
* of conditions and the following disclaimer.
10+
*
11+
* o Redistributions in binary form must reproduce the above copyright notice, this
12+
* list of conditions and the following disclaimer in the documentation and/or
13+
* other materials provided with the distribution.
14+
*
15+
* o Neither the name of Freescale Semiconductor, Inc. nor the names of its
16+
* contributors may be used to endorse or promote products derived from this
17+
* software without specific prior written permission.
18+
*
19+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
23+
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26+
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
*/
30+
31+
#include "fsl_port.h"
32+
33+
/*******************************************************************************
34+
* Code
35+
******************************************************************************/
36+
void k66f_init_eth_hardware(void)
37+
{
38+
port_pin_config_t configENET = {0};
39+
40+
#ifndef FEATURE_UVISOR
41+
/* Disable MPU only when uVisor is not around. */
42+
MPU->CESR &= ~MPU_CESR_VLD_MASK;
43+
#endif/*FEATURE_UVISOR*/
44+
45+
/* Ungate the port clock */
46+
CLOCK_EnableClock(kCLOCK_PortA);
47+
CLOCK_EnableClock(kCLOCK_PortB);
48+
CLOCK_EnableClock(kCLOCK_PortE);
49+
50+
/* Affects PORTE_PCR26 register, configured as ENET_1588 CLKIN */
51+
PORT_SetPinMux(PORTE, 26u, kPORT_MuxAlt2);
52+
/* Affects PORTB_PCR1 register */
53+
PORT_SetPinMux(PORTB, 1u, kPORT_MuxAlt4);
54+
55+
configENET.openDrainEnable = kPORT_OpenDrainEnable;
56+
configENET.mux = kPORT_MuxAlt4;
57+
configENET.pullSelect = kPORT_PullUp;
58+
/* Affects PORTB_PCR0 register */
59+
PORT_SetPinConfig(PORTB, 0u, &configENET);
60+
61+
/* Affects PORTA_PCR13 register */
62+
PORT_SetPinMux(PORTA, 13u, kPORT_MuxAlt4);
63+
/* Affects PORTA_PCR12 register */
64+
PORT_SetPinMux(PORTA, 12u, kPORT_MuxAlt4);
65+
/* Affects PORTA_PCR14 register */
66+
PORT_SetPinMux(PORTA, 14u, kPORT_MuxAlt4);
67+
/* Affects PORTA_PCR5 register */
68+
PORT_SetPinMux(PORTA, 5u, kPORT_MuxAlt4);
69+
/* Affects PORTA_PCR16 register */
70+
PORT_SetPinMux(PORTA, 16u, kPORT_MuxAlt4);
71+
/* Affects PORTA_PCR17 register */
72+
PORT_SetPinMux(PORTA, 17u, kPORT_MuxAlt4);
73+
/* Affects PORTA_PCR15 register */
74+
PORT_SetPinMux(PORTA, 15u, kPORT_MuxAlt4);
75+
76+
/* Set RMII clock src. */
77+
CLOCK_SetRmii0Clock(1U);
78+
79+
/* Select the Ethernet timestamp clock source */
80+
CLOCK_SetEnetTime0Clock(0x2);
81+
}
82+
83+
/*******************************************************************************
84+
* EOF
85+
******************************************************************************/
86+
87+

features/FEATURE_LWIP/lwip-interface/lwip-eth/arch/TARGET_Freescale/k64f_emac.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,13 @@ uint32_t *rx_ptr[ENET_RX_RING_LEN];
4141
********************************************************************************/
4242
#define ENET_BuffSizeAlign(n) ENET_ALIGN(n, ENET_BUFF_ALIGNMENT)
4343
#define ENET_ALIGN(x,align) ((unsigned int)((x) + ((align)-1)) & (unsigned int)(~(unsigned int)((align)- 1)))
44+
#if (defined(TARGET_K64F) && (defined(TARGET_FRDM)))
4445
extern void k64f_init_eth_hardware(void);
46+
#endif
47+
48+
#if (defined(TARGET_K66F) && (defined(TARGET_FRDM)))
49+
extern void k66f_init_eth_hardware(void);
50+
#endif
4551

4652
/* K64F EMAC driver data structure */
4753
struct k64f_enetdata {
@@ -204,8 +210,13 @@ static err_t low_level_init(struct netif *netif)
204210
(uint8_t *)&rx_ptr,
205211
NULL,
206212
};
207-
213+
#if (defined(TARGET_K64F) && (defined(TARGET_FRDM)))
208214
k64f_init_eth_hardware();
215+
#endif
216+
217+
#if (defined(TARGET_K66F) && (defined(TARGET_FRDM)))
218+
k66f_init_eth_hardware();
219+
#endif
209220

210221
sysClock = CLOCK_GetFreq(kCLOCK_CoreSysClk);
211222

0 commit comments

Comments
 (0)