Go to file
Bogdan Marinescu ab0a5a53c2 Configuration in header files - step 1
The current implementation of the configuration system "compiles" the
configuration parameters to macros defined on the command line. This
works, but has a few limitations:

- it can bring back the maximum command line length issues in Windows.
- depending on the type of the configuration parameter, it might require
  special quoting of its value in the command line.
- various 3rd party IDE/tools seem to have some limitations regarding
  the total length of the macros that can be defined.

This commit is the first step in replacing the current mechanism with
one that generates configuration in header files that will be
automatically included, instead of command line macro definitions. The
commit only adds the method for generating the header file, it doesn't
actually change the way config is used yet (that will happen in step 2),
thus it is backwards compatible. The logic of the configuration system
itself is unchanged (in fact, the whole change (not only this commit) is
supposed to be completely transparent for the users of the configuration
system).

The commit also fixes an issue in tools/get_config.py that appeared as a
result of a recent PR: the signature of "get_config" in
tools/build_api.py changed, but tools/get_config.py was not updated.
2016-06-16 00:23:04 +03:00
docs Move private_settings.py to root mbed_settings.py. Various updates to reflect the path changes 2016-06-09 22:24:05 +01:00
features/FEATURE_UVISOR Re-import uVisor library 2016-06-14 14:10:00 +00:00
hal Added feature list for K64F 2016-06-15 20:53:08 +03:00
libraries Update main.cpp 2016-06-15 15:00:24 +01:00
rtos [BEETLE] Enable RTOS on Beetle 2016-06-13 16:21:19 +01:00
tools Configuration in header files - step 1 2016-06-16 00:23:04 +03:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore Move private_settings.py to root mbed_settings.py. Various updates to reflect the path changes 2016-06-09 22:24:05 +01:00
.travis.yml Further changes to reflect workspace_tools to tools rename 2016-06-09 21:40:54 +01:00
CONTRIBUTING.md Mentioned the Contributor Agreement in Contributing.md 2015-04-16 11:47:51 -04:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
MANIFEST.in Further changes to reflect workspace_tools to tools rename 2016-06-09 21:40:54 +01:00
README.md Add missing EFM32 Pearl Gecko to README. 2016-06-13 23:33:28 +01:00
requirements.txt update progen req to v0.9.x 2016-06-14 21:39:54 +01:00
setup.py update progen req to v0.9.x 2016-06-14 21:39:54 +01:00

README.md

mbed SDK

Build Status

The mbed Software Development Kit (SDK) is a C/C++ microcontroller software platform relied upon by tens of thousands of developers to build projects fast.

The SDK is licensed under the permissive Apache 2.0 licence, so you can use it in both commercial and personal projects with confidence.

The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

Documentation

Supported Microcontrollers and Boards

View all on the mbed Platforms page.

NXP:

Freescale:

STMicroelectronics:

Nordic:

Renesas:

Silicon Labs:

Atmel:

Supported Toolchains and IDEs

The current mbed exporters scripts (IDE support) will be replaced by Project generator (=progen). Any new IDEs support, should be implemented using progen API - add IDE to progen, use progen API to generate a mbed project.

API Documentation

Community

For discussing the development of the mbed SDK itself (Addition/support of microcontrollers/toolchains, build and test system, Hardware Abstraction Layer API, etc) please join our mbed-devel mailing list.

For every topic regarding the use of the mbed SDK, rather than its development, please post on the mbed.org forum, or the mbed.org Q&A.

For reporting issues in the mbed libraries please open a ticket on the issue tracker of the relevant mbed official library.

Setup

Skip any step where a compatible tool already exists

  1. Install Python 2.7.9 or above and make sure it's added to path
  2. Install Git and make sure it's added to path
  3. Install virtualenv in python
> git clone https://github.com/mbedmicro/mbed
> pip install virtualenv
> virtualenv venv
> 

Develop

  1. Update dependencies and start virtual environment. This should be done everytime you pull new changes
> "venv/Scripts/activate"
> pip install -r requirements.txt
> cd tools
> ... do things ...
> "venv/Scripts/deactivate"