Skip to content

Commit d1ec4be

Browse files
committed
Merge pull request #1830 from theotherjimmy/device-h-to-target-json
provided a script for moving from device.h to target.json
2 parents 986225d + 66574aa commit d1ec4be

File tree

120 files changed

+714
-2605
lines changed

Some content is hidden

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

120 files changed

+714
-2605
lines changed

docs/mbed_targets.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,13 @@ The list of **labels** defines how the build system looks for sources, libraries
114114

115115
If target inheritance is used, it's possible to alter the values of `extra_labels` using `extra_labels_add` and `extra_labels_remove`. This is similar to the `macros_add` and `macros_remove` mechanism described in the previous paragraph.
116116

117+
## features, features_add, features_remove
118+
119+
The list of **features** defines what hardware a device has.
120+
This allows allowing mbed, libraries, or application source code to select between different implementations of drivers based on hardware availability, to selectively compile drivers for only the hardware that exists, or to test only the tests that apply to a particular platform.
121+
122+
If target inheritance is used, it's possible to alter the values of `features` using `features_add` and `features_remove`. This is similar to the `macros_add` and `macros_remove` mechanism described in the previous two paragraphs.
123+
117124
## supported_toolchains
118125

119126
This is the list of toolchains that can be used to compile code for the target. The known toolchains are `ARM`, `uARM`, `GCC_ARM`, `GCC_CR`, `IAR`.

hal/targets.json

Lines changed: 261 additions & 163 deletions
Large diffs are not rendered by default.

hal/targets/hal/TARGET_ARM_SSG/TARGET_IOTSS/device.h

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// The 'features' section in 'target.json' is now used to create the device's hardware preprocessor switches.
2+
// Check the 'features' section of the target description in 'targets.json' for more details.
13
/* mbed Microcontroller Library
24
* Copyright (c) 2006-2015 ARM Limited
35
*
@@ -16,48 +18,23 @@
1618
#ifndef MBED_DEVICE_H
1719
#define MBED_DEVICE_H
1820

19-
#define DEVICE_PORTIN 1
20-
#define DEVICE_PORTOUT 1
21-
#define DEVICE_PORTINOUT 1
2221

23-
#define DEVICE_INTERRUPTIN 1
2422

25-
#define DEVICE_ANALOGIN 1
26-
#define DEVICE_ANALOGOUT 0
2723

28-
#define DEVICE_SERIAL 1
29-
#define DEVICE_SERIAL_FC 1
3024

31-
#define DEVICE_I2C 1
32-
#define DEVICE_I2CSLAVE 0
3325

34-
#define DEVICE_SPI 1
35-
#define DEVICE_SPISLAVE 1
3626

37-
#define DEVICE_CLCD 1
3827

39-
#define DEVICE_TSC 1
4028

41-
#define DEVICE_AACI 1
4229

43-
#define DEVICE_CAN 0
4430

45-
#define DEVICE_RTC 0
4631

47-
#define DEVICE_ETHERNET 1
4832

49-
#define DEVICE_PWMOUT 0
5033

51-
#define DEVICE_SEMIHOST 0
52-
#define DEVICE_LOCALFILESYSTEM 0
5334

54-
#define DEVICE_SLEEP 0
5535

56-
#define DEVICE_DEBUG_AWARENESS 0
5736

58-
#define DEVICE_STDIO_MESSAGES 0
5937

60-
#define DEVICE_ERROR_RED 0
6138

6239
#include "objects.h"
6340

hal/targets/hal/TARGET_ARM_SSG/TARGET_MPS2/device.h

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// The 'features' section in 'target.json' is now used to create the device's hardware preprocessor switches.
2+
// Check the 'features' section of the target description in 'targets.json' for more details.
13
/* mbed Microcontroller Library
24
* Copyright (c) 2006-2015 ARM Limited
35
*
@@ -16,48 +18,23 @@
1618
#ifndef MBED_DEVICE_H
1719
#define MBED_DEVICE_H
1820

19-
#define DEVICE_PORTIN 1
20-
#define DEVICE_PORTOUT 1
21-
#define DEVICE_PORTINOUT 1
2221

23-
#define DEVICE_INTERRUPTIN 1
2422

25-
#define DEVICE_ANALOGIN 1
26-
#define DEVICE_ANALOGOUT 0
2723

28-
#define DEVICE_SERIAL 1
29-
#define DEVICE_SERIAL_FC 1
3024

31-
#define DEVICE_I2C 1
32-
#define DEVICE_I2CSLAVE 0
3325

34-
#define DEVICE_SPI 1
35-
#define DEVICE_SPISLAVE 1
3626

37-
#define DEVICE_CLCD 1
3827

39-
#define DEVICE_TSC 1
4028

41-
#define DEVICE_AACI 1
4229

43-
#define DEVICE_CAN 0
4430

45-
#define DEVICE_RTC 0
4631

47-
#define DEVICE_ETHERNET 1
4832

49-
#define DEVICE_PWMOUT 0
5033

51-
#define DEVICE_SEMIHOST 0
52-
#define DEVICE_LOCALFILESYSTEM 0
5334

54-
#define DEVICE_SLEEP 0
5535

56-
#define DEVICE_DEBUG_AWARENESS 0
5736

58-
#define DEVICE_STDIO_MESSAGES 0
5937

60-
#define DEVICE_ERROR_RED 0
6138

6239
#include "objects.h"
6340

hal/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/TARGET_SAMD21G18A/device.h

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// The 'features' section in 'target.json' is now used to create the device's hardware preprocessor switches.
2+
// Check the 'features' section of the target description in 'targets.json' for more details.
13
/* mbed Microcontroller Library
24
* Copyright (c) 2006-2015 ARM Limited
35
*
@@ -16,47 +18,20 @@
1618
#ifndef MBED_DEVICE_H
1719
#define MBED_DEVICE_H
1820

19-
#define DEVICE_PORTIN 1
20-
#define DEVICE_PORTOUT 1
21-
#define DEVICE_PORTINOUT 1
2221

23-
#define DEVICE_INTERRUPTIN 1
2422

25-
#define DEVICE_ANALOGIN 1
26-
#define DEVICE_ANALOGOUT 1
2723

28-
#define DEVICE_SERIAL 1
29-
#define DEVICE_SERIAL_FC 1
30-
#define DEVICE_SERIAL_ASYNCH 1
3124

32-
#define DEVICE_I2C 1
33-
#define DEVICE_I2CSLAVE 1
34-
#define DEVICE_I2C_ASYNCH 1
3525

36-
#define DEVICE_SPI 1
37-
#define DEVICE_SPISLAVE 1
38-
#define DEVICE_SPI_ASYNCH 1
3926

40-
#define DEVICE_CAN 0
4127

42-
#define DEVICE_RTC 1
4328

44-
#define DEVICE_ETHERNET 0
4529

46-
#define DEVICE_PWMOUT 1
4730

48-
#define DEVICE_SEMIHOST 0
49-
#define DEVICE_LOCALFILESYSTEM 0
50-
#define DEVICE_ID_LENGTH 0
51-
#define DEVICE_MAC_OFFSET 0
5231

53-
#define DEVICE_SLEEP 1
5432

55-
#define DEVICE_DEBUG_AWARENESS 0
5633

57-
#define DEVICE_STDIO_MESSAGES 0
5834

59-
#define DEVICE_ERROR_PATTERN 0
6035

6136
#include "objects.h"
6237

hal/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/TARGET_SAMD21J18A/device.h

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// The 'features' section in 'target.json' is now used to create the device's hardware preprocessor switches.
2+
// Check the 'features' section of the target description in 'targets.json' for more details.
13
/* mbed Microcontroller Library
24
* Copyright (c) 2006-2015 ARM Limited
35
*
@@ -16,47 +18,20 @@
1618
#ifndef MBED_DEVICE_H
1719
#define MBED_DEVICE_H
1820

19-
#define DEVICE_PORTIN 1
20-
#define DEVICE_PORTOUT 1
21-
#define DEVICE_PORTINOUT 1
2221

23-
#define DEVICE_INTERRUPTIN 1
2422

25-
#define DEVICE_ANALOGIN 1
26-
#define DEVICE_ANALOGOUT 1
2723

28-
#define DEVICE_SERIAL 1
29-
#define DEVICE_SERIAL_FC 1
30-
#define DEVICE_SERIAL_ASYNCH 1
3124

32-
#define DEVICE_I2C 1
33-
#define DEVICE_I2CSLAVE 1
34-
#define DEVICE_I2C_ASYNCH 1
3525

36-
#define DEVICE_SPI 1
37-
#define DEVICE_SPISLAVE 1
38-
#define DEVICE_SPI_ASYNCH 1
3926

40-
#define DEVICE_CAN 0
4127

42-
#define DEVICE_RTC 1
4328

44-
#define DEVICE_ETHERNET 0
4529

46-
#define DEVICE_PWMOUT 1
4730

48-
#define DEVICE_SEMIHOST 0
49-
#define DEVICE_LOCALFILESYSTEM 0
50-
#define DEVICE_ID_LENGTH 0
51-
#define DEVICE_MAC_OFFSET 0
5231

53-
#define DEVICE_SLEEP 1
5432

55-
#define DEVICE_DEBUG_AWARENESS 0
5633

57-
#define DEVICE_STDIO_MESSAGES 0
5834

59-
#define DEVICE_ERROR_PATTERN 0
6035

6136
#include "objects.h"
6237

hal/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/TARGET_SAML21J18A/device.h

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// The 'features' section in 'target.json' is now used to create the device's hardware preprocessor switches.
2+
// Check the 'features' section of the target description in 'targets.json' for more details.
13
/* mbed Microcontroller Library
24
* Copyright (c) 2006-2013 ARM Limited
35
*
@@ -16,47 +18,20 @@
1618
#ifndef MBED_DEVICE_H
1719
#define MBED_DEVICE_H
1820

19-
#define DEVICE_PORTIN 1
20-
#define DEVICE_PORTOUT 1
21-
#define DEVICE_PORTINOUT 1
2221

23-
#define DEVICE_INTERRUPTIN 1
2422

25-
#define DEVICE_ANALOGIN 1
26-
#define DEVICE_ANALOGOUT 1
2723

28-
#define DEVICE_SERIAL 1
29-
#define DEVICE_SERIAL_FC 1
30-
#define DEVICE_SERIAL_ASYNCH 1
3124

32-
#define DEVICE_I2C 1
33-
#define DEVICE_I2CSLAVE 1
34-
#define DEVICE_I2C_ASYNCH 1
3525

36-
#define DEVICE_SPI 1
37-
#define DEVICE_SPISLAVE 1
38-
#define DEVICE_SPI_ASYNCH 1
3926

40-
#define DEVICE_CAN 0
4127

42-
#define DEVICE_RTC 1
4328

44-
#define DEVICE_ETHERNET 0
4529

46-
#define DEVICE_PWMOUT 1
4730

48-
#define DEVICE_SEMIHOST 0
49-
#define DEVICE_LOCALFILESYSTEM 0
50-
#define DEVICE_ID_LENGTH 0
51-
#define DEVICE_MAC_OFFSET 0
5231

53-
#define DEVICE_SLEEP 1
5432

55-
#define DEVICE_DEBUG_AWARENESS 0
5633

57-
#define DEVICE_STDIO_MESSAGES 0
5834

59-
#define DEVICE_ERROR_PATTERN 0
6035

6136
#include "objects.h"
6237

hal/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/TARGET_SAMR21G18A/device.h

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// The 'features' section in 'target.json' is now used to create the device's hardware preprocessor switches.
2+
// Check the 'features' section of the target description in 'targets.json' for more details.
13
/* mbed Microcontroller Library
24
* Copyright (c) 2006-2015 ARM Limited
35
*
@@ -16,47 +18,20 @@
1618
#ifndef MBED_DEVICE_H
1719
#define MBED_DEVICE_H
1820

19-
#define DEVICE_PORTIN 1
20-
#define DEVICE_PORTOUT 1
21-
#define DEVICE_PORTINOUT 1
2221

23-
#define DEVICE_INTERRUPTIN 1
2422

25-
#define DEVICE_ANALOGIN 1
26-
#define DEVICE_ANALOGOUT 0
2723

28-
#define DEVICE_SERIAL 1
29-
#define DEVICE_SERIAL_FC 1
30-
#define DEVICE_SERIAL_ASYNCH 1
3124

32-
#define DEVICE_I2C 1
33-
#define DEVICE_I2CSLAVE 1
34-
#define DEVICE_I2C_ASYNCH 1
3525

36-
#define DEVICE_SPI 1
37-
#define DEVICE_SPISLAVE 1
38-
#define DEVICE_SPI_ASYNCH 1
3926

40-
#define DEVICE_CAN 0
4127

42-
#define DEVICE_RTC 1
4328

44-
#define DEVICE_ETHERNET 0
4529

46-
#define DEVICE_PWMOUT 1
4730

48-
#define DEVICE_SEMIHOST 0
49-
#define DEVICE_LOCALFILESYSTEM 0
50-
#define DEVICE_ID_LENGTH 0
51-
#define DEVICE_MAC_OFFSET 0
5231

53-
#define DEVICE_SLEEP 1
5432

55-
#define DEVICE_DEBUG_AWARENESS 0
5633

57-
#define DEVICE_STDIO_MESSAGES 0
5834

59-
#define DEVICE_ERROR_PATTERN 0
6035

6136
#include "objects.h"
6237

hal/targets/hal/TARGET_Atmel/TARGET_SAM_CortexM4/TARGET_SAMG55J19/device.h

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// The 'features' section in 'target.json' is now used to create the device's hardware preprocessor switches.
2+
// Check the 'features' section of the target description in 'targets.json' for more details.
13
/* mbed Microcontroller Library
24
* Copyright (c) 2006-2015 ARM Limited
35
*
@@ -16,48 +18,20 @@
1618
#ifndef MBED_DEVICE_H
1719
#define MBED_DEVICE_H
1820

19-
#define DEVICE_PORTIN 1
20-
#define DEVICE_PORTOUT 1
21-
#define DEVICE_PORTINOUT 1
2221

23-
#define DEVICE_INTERRUPTIN 1
2422

25-
#define DEVICE_ANALOGIN 1
26-
#define DEVICE_ANALOGOUT 0
2723

28-
#define DEVICE_SERIAL 1
29-
#define DEVICE_SERIAL_FC 1
30-
#define DEVICE_SERIAL_ASYNCH 1
3124

32-
#define DEVICE_I2C 1
33-
#define DEVICE_I2CSLAVE 1
34-
#define DEVICE_I2C_ASYNCH 1
3525

36-
#define DEVICE_SPI 1
37-
#define DEVICE_SPISLAVE 1
38-
#define DEVICE_SPI_ASYNCH 1
3926

40-
#define DEVICE_CAN 0
4127

42-
#define DEVICE_RTC 1
4328

44-
#define DEVICE_ETHERNET 0
4529

46-
#define DEVICE_PWMOUT 1
4730

48-
#define DEVICE_SEMIHOST 0
49-
#define DEVICE_LOCALFILESYSTEM 0
50-
#define DEVICE_ID_LENGTH 0
51-
#define DEVICE_MAC_OFFSET 0
5231

53-
#define DEVICE_LOWPOWERTIMER 1
54-
#define DEVICE_SLEEP 1
5532

56-
#define DEVICE_DEBUG_AWARENESS 0
5733

58-
#define DEVICE_STDIO_MESSAGES 0
5934

60-
#define DEVICE_ERROR_PATTERN 0
6135

6236
#include "objects.h"
6337

0 commit comments

Comments
 (0)