Commit Graph

136 Commits (0258c89f6d4192a02ceaf15a5f8dabb13a31a651)

Author SHA1 Message Date
Senthil Ramakrishnan 5489eacb18 Crash reporting design doc 2018-11-18 20:40:39 -06:00
Senthil Ramakrishnan d4fc8fe66c Crash Reporting Design 2018-11-18 20:40:38 -06:00
Seppo Takalo 7ac326ab1d Add design document for network statistics. 2018-11-14 17:14:23 +02:00
Seppo Takalo 7f39bb4453 Implement TLSSocket
Provide TLSSocket implementation. This implementation allows TLSSocket
to wrap around any existing socket. Currently only TLS supported. DTLS
not yet implemented.

Design document also provided with the implementation.

Documentation submitted to Mbed OS handbook.
2018-10-15 13:31:36 +03:00
Martin Kojtal c6e18f916b
Merge pull request #7426 from donatieng/nfc-spec
NFC APIs Design Specification
2018-09-02 16:04:13 +02:00
Vincent Coubard 09ed420d8d NFC design doc: Update NDEF part of the design document. 2018-08-31 10:32:20 +01:00
Vincent Coubard a0b356bfc8 NFC design doc: Update NDEF diagrams. 2018-08-31 10:31:16 +01:00
Vincent Coubard 8e75802044 NFC doc: Fix constructor signature. 2018-08-31 09:52:32 +01:00
Vincent Coubard 425c1c1e06 NFC Spec: Fix ref/pointer qualifier alignement. 2018-08-30 17:47:34 +01:00
Donatien Garnier 1074afbb2a Update based on few tweaks to the API 2018-08-30 11:39:56 +01:00
Donatien Garnier c71b66dfc9 Address @AnotherButler's comments 2018-08-30 11:20:12 +01:00
Amanda Butler 6d46bc3102
Copy edit nfc_design.md
Copy edit file.
2018-08-24 16:32:13 -05:00
Amanda Butler 10b9ad7342
Edit example_feature_design.md
Edit template for formatting and major typos.
2018-08-24 13:28:09 -05:00
Amanda Butler 43974e3137
Copy edit design-template.md
Copy edit file for consistency, grammar, spelling and voice.
2018-08-24 10:52:57 -05:00
Donatien Garnier 29ee2656ee Add links to user profiles 2018-08-24 10:26:35 +01:00
Donatien Garnier 653ab6a9c2 Added revision history & table of contents according to #7561 2018-08-24 10:22:21 +01:00
Donatien Garnier a989c15d1f Updtate event handling model in NFCEEPROM 2018-08-24 10:13:52 +01:00
Donatien Garnier 588c26c128 Move NFC design docs to docs/design-documents/ according to #7561 2018-08-24 10:00:16 +01:00
Amanda Butler 072cbb4d57
Copy edit README.md
Copy edit file for active voice, precise language and consistent style across documents.
2018-08-20 14:23:53 -05:00
Senthil Ramakrishnan 196094defa Updated with review comments fixes 2018-08-08 15:40:51 -05:00
Senthil Ramakrishnan 65433fb0cf Added general guidelines section for design process 2018-08-08 13:53:28 -05:00
Senthil Ramakrishnan cde5e6edd4 Design process and template for Mbed-OS 2018-08-08 13:53:28 -05:00
Amanda Butler 67bf9b27d1 Delete exporters.md
Delete page because duplicate exists in Handbook - https://docs.mbed.com/docs/mbed-os-handbook/en/latest/advanced/exporters/
2017-02-13 11:09:07 -06:00
Amanda Butler a02e5eecc8 Delete build_profiles.md
Delete page because duplicate exists in Handbook
2017-02-12 19:58:31 -06:00
Sam Grove 59c2c4bd99 Merge pull request #3693 from bulislaw/rework_build_profiles
[Proposal] Simplify build profiles: debug and release only
2017-02-09 09:36:14 -06:00
Bartek Szatkowski 40d3b22785 Build: Rework build profiles
Rename small.json to release.json, default.json to develop.json and make
it the default profile.
2017-02-07 11:41:16 +00:00
Wolfgang Betz 109faa1bb6 Improve build profiles documentation 2017-01-26 12:59:39 +01:00
Martin Kojtal fc6848435a Merge pull request #3630 from AnotherButler/patch-3
Delete mbed_targets.md
2017-01-26 10:37:24 +02:00
Amanda Butler 70b9b47eec Delete mbed_targets.md
Delete page because a duplicate exists in the Handbook
2017-01-23 12:04:44 -06:00
Amanda Butler c09857acb8 Delete testing_mbed_OS_5.md
Delete page because duplicate page exists in Handbook
2017-01-17 16:39:30 -06:00
Martin Kojtal bd6ebbeb21 Merge pull request #3475 from AnotherButler/patch-3
Delete BUILDING.md
2016-12-30 12:33:14 +01:00
Martin Kojtal bd2e5c697f Merge pull request #3494 from AnotherButler/patch-10
Delete ignoring_files_from_build.md
2016-12-23 13:10:46 +00:00
Amanda Butler c7d94fe004 Delete ignoring_files_from_build.md
Exact duplicate of page exists in Handbook
2016-12-21 11:20:41 -06:00
Amanda Butler 00769cff23 Delete events.md
Duplicate page exists in Handbook
2016-12-21 10:47:26 -06:00
Martin Kojtal 92fbad7876 Merge pull request #3481 from AnotherButler/patch-8
Delete memap.md
2016-12-21 14:47:11 +00:00
Martin Kojtal d478bfb8b1 Merge pull request #3480 from AnotherButler/patch-7
Delete config_system.md
2016-12-21 14:46:42 +00:00
Martin Kojtal ac930630de Merge pull request #3479 from AnotherButler/patch-6
Delete Toolchain_Profiles.md
2016-12-21 14:46:12 +00:00
Martin Kojtal 2ee97e2d19 Merge pull request #3477 from AnotherButler/patch-4
Delete COMMITTERS.md
2016-12-21 14:45:31 +00:00
Amanda Butler 535562827c Delete memap.md
Delete page because an exact duplicate exists in the Handbook
2016-12-20 12:10:13 -06:00
Amanda Butler 62515b4649 Delete config_system.md
Delete page because duplicate exists in Handbook
2016-12-20 11:51:13 -06:00
Amanda Butler 99d0ff1311 Delete Toolchain_Profiles.md
Delete page because duplicate exists in Handbook
2016-12-20 11:44:48 -06:00
Amanda Butler 5495318a58 Delete TESTING.md
Delete page because an exact duplicate exists in the Handbook
2016-12-20 11:41:09 -06:00
Amanda Butler 04126f7f95 Delete COMMITTERS.md
Delete page because an exact duplicate exists in the Handbook
2016-12-20 11:27:38 -06:00
Amanda Butler 702d8cf3c7 Delete BUILDING.md
Delete this page because an exact duplicate exists in the Handbook
2016-12-20 11:22:19 -06:00
sarahmarshy cf4ebf56c2 [Exporter docs] index.json update instructions 2016-12-01 11:09:51 +08:00
Sarah Marsh 406ddf0674 Exporter documentation 2016-11-03 11:53:23 -05:00
Sam Grove 4e1aea4fc9 Merge pull request #2958 from bridadan/mbed-app-config-testing
Allowing mbed_app.json files to be discovered for tests.
2016-11-03 02:11:38 -05:00
Russ Butler 0d51f18f02 New build profile and docs
Add a small build profile and general docs for build profiles.
2016-10-18 09:23:01 -05:00
Brian Daniels f3d20141a3 Allowing mbed_app.json files to be discovered for tests.
Before, mbed_app.json files were explicitly ignored when building tests.
This was mostly because you could have multiple mbed_app.json files in the
tree (for instance, in test case folders) and the behavior would be
undefined. Now the tools explicitly ensure that there aren't multiple
mbed_app.json files in your source files. So auto discovery of
mbed_app.json for testing is being reintroduced.
2016-10-06 17:40:25 -05:00
Sarah Marsh 9a02bfb7a3 Additional device names. mbed_targets.md update 2016-10-04 14:13:36 -05:00
andreas.larsson 1d3c63d9bb Changed name for the target UBLOX_C029 to UBLOX_EVK_ODIN_W2 2016-10-03 12:10:50 +02:00
Sam Grove 20756cbf77 Merge pull request #2860 from ARMmbed/event_loop_mbed_events_new
Event loop with mbed-events
2016-09-30 15:24:24 -05:00
Bogdan Marinescu 0abd141bf9 A few improvements to the events documentation 2016-09-29 20:48:21 +03:00
Bogdan Marinescu 8545bf1212 Added initial documentation for the event loop 2016-09-29 19:47:32 +03:00
Jimmy Brisson c86ad6646d Add documentation of the Toolchain Profile system 2016-09-29 10:20:05 -05:00
Brian Daniels aeca796641 Fixing constant cleaning when compiling tests
This addresses the issue where building tests via test.py always triggered
a clean build. This is because the mbed_config.h file was being deleted from
the shared OS build to ensure that the correct config was always being
used. However, this contanstly triggered a rebuild of the OS since the
config file was not present.

Due to the shared build, having multiple app configurations that could
override the OS settings is not possible. For this reason, we now ignore
app config files unless explicitly set via the command line option
'--app-config'. Though there will now be two mbed_config.h files in the
include path of the build, it shouldn't matter since the contents will be
the same.
2016-09-22 08:30:21 -04:00
Bogdan Marinescu d7899b4b2b Removed custom targets from config system
Custom targets were the origin of a number of issues with the mbed
tools, so it was decided that they need to be removed. This PR does just
that (and moves the "custom_targets" part of the config system tests
into a separate, per-test "targets.json" file to preserve the test
functionality).
2016-09-13 15:54:44 +03:00
kclin 4081f506ac Fix docs/BUILDING.md error command issue 2016-08-07 00:01:19 +08:00
Brian Daniels ebd3e0b602 Fixing typos, grammar, and general English in mbed OS 5 testing doc 2016-08-04 11:24:30 -05:00
Brian Daniels 78b9c39f9d Adding docs for the testing process for mbed OS 5 2016-08-03 18:00:42 -05:00
Bogdan Marinescu 4d8cbdc48c Merge pull request #2279 from geky/docs-ca
[docs] Added documentation over the cumulative attributes
2016-07-28 13:43:47 +03:00
Christopher Haster 38cd901b9d [docs] Added documentation over the cumulative attributes 2016-07-27 17:40:51 -05:00
Bogdan Marinescu a43919eafa Documentation updates for the configuration system
The configuration system uses `mbed_config.h` to export configuration
data, but when this change was made, the documentation was not properly
updated. This commit updates the documentation with the correct
behaviour of the configuration system.
2016-07-27 22:47:38 +03:00
Sam Grove 542fcca670 Merge pull request #2137 from sg-/operators
Remove macro for operators. Enable these as default behavior
2016-07-22 19:01:24 -05:00
Seppo Takalo a68eadd7cc Document the .mbedignore file 2016-07-14 13:06:10 +03:00
Sam Grove 254ae0e109 Remove macro for operators. Enable these as default behavior 2016-07-10 13:47:13 -05:00
Mihail Stoyanov b70d901ef9 Merge pull request #1984 from mbedmicro/config_system_docs
Added documentation for the configuration system
2016-06-30 18:00:22 +01:00
Marcelo Salazar 86aea775c4 memap doc minor fixes 2016-06-29 08:28:33 +01:00
Marcelo Salazar 2594c4946b Minor tweaks 2016-06-27 16:59:00 +01:00
Marcelo Salazar f1dd7c5fbd Adding memap documentation 2016-06-27 16:45:29 +01:00
Bogdan Marinescu 3bc7d40a74 Added documentation for the configuration system 2016-06-22 11:16:57 +03:00
Mihail Stoyanov 87a978c4e8 Move private_settings.py to root mbed_settings.py. Various updates to reflect the path changes 2016-06-09 22:24:05 +01:00
Mihail Stoyanov 42c62abed1 Further changes to reflect workspace_tools to tools rename 2016-06-09 21:40:54 +01:00
Irit Arkin 9e32456929 Adding a blank line to commit
Because the encoding is wrong, and we can't build the API docs like that. GitHub said a commit will fix the encoding, so I'm comitting.
2016-06-09 10:19:08 +01:00
Jimmy Brisson ff11e7f022 updated readme to include a basic description of features. 2016-06-03 14:08:50 -05:00
Bogdan Marinescu b53c7eb128 Fixed description on 'default_toolchain' in the documentation 2016-05-23 17:30:20 +03:00
Bogdan Marinescu bc063a3903 Moved target definitions to JSON format
(long commit message ahead. Sorry about that, it can't be helped.)

This commit changs targets definition from Python to JSON format, as
part of the configuration mechanism implementation. There is a new file
under workspace_tools/ called "targets.json" which contains the target
definitions. "targets.py" remains, but becomes a wrapper on top of
"targets.json", with the same interface as before. This has the
advantage of not requiring code changes outside "targets.py".

Most of the JSON definitions of targets were automatically generated by a
script (available upon request since it doesn't make a lot of sense to
include it here), only those targets that had more than one parent in
the Python implementation were converted by hand. The target definitions
should be pretty self-explanatory. A number of things are different in
the JSON implementation (this is just a summary, check docs/mbed_targets.md
(also part of this PR) for a more complete description):

- "program_cycle_s" is now a value (as opposed to a function in the
Python implementation), since it only returned a number in all the
Python target implementations. The main definition that actually contains
some code (in class "Target") remains in target.py
- array values in "macros" and "extra_labels" can be modified
dynamically. Values can be added using "macros_add" and
"extra_labels_add" or removed using "macros_remove" and
"extra_labels_remove". This mechanism is available for all attributes
with a list type, but it's currently enabled only for "macros" and
"extra_labels" to keep things simple.
- "init_hooks"/"binary_hook" are now implemented in terms of a single
JSON key valled "post_binary_hook". The corresponding code is also in
"targets.py", under the various TargetCode classes (see for example
LPC4088Code in targets.py).

Just like in the Python implementation, a target can inherit from zero,
one or more targets. The resolution order for the target's attributes
follows the one used by the Python code (I used
http://makina-corpus.com/blog/metier/2014/python-tutorial-understanding-python-mro-class-search-path
as a reference for the implementation of resolution order).

This is obviously a very dangerous commit, since it affects all targets.
I tested compilation for a number of targets (K64F, LPC1768, NRF51822)
but there's definitely a lot more to be done in terms of testing.

I also tried to test in a different way: I wrote a script that imports the
old (Python) and the new (JSON) implementations and verifies that the
attributes in the old implementations exist and have the same values
in the new implementations (it also verifies that the attribute
resolution order is the same in the two implementations). If you're
interested, the script is here:

https://gist.github.com/bogdanm/c9d8cf34214109a4b9079befed6b3c0c

And the results of running the script are below (note that the script
outputs only the target names that were found to be problematic):

NRF51_MICROBIT_BOOT:
    Resolution order is different in old and new
        old: ['NRF51_MICROBIT_BOOT', 'MCU_NRF51_16K_BOOT_S110', 'MCU_NRF51_16K_BOOT_BASE', 'MCU_NRF51_16K_BASE', 'MCU_NRF51', 'Target', 'MCU_NRF51_S110']
        new: ['NRF51_MICROBIT_BOOT', 'MCU_NRF51_16K_BOOT_S110', 'MCU_NRF51_S110', 'MCU_NRF51_16K_BOOT_BASE', 'MCU_NRF51_16K_BASE', 'MCU_NRF51', 'Target']
    'extra_labels' has different values in old and new
        old: ['NORDIC', 'MCU_NRF51', 'MCU_NRF51822', 'MCU_NORDIC_16K', 'MCU_NRF51_16K', 'MCU_NRF51_16K_BOOT', 'MCU_NRF51_16K_S110', 'NRF51_MICROBIT']
        new: ['NORDIC', 'MCU_NRF51', 'MCU_NRF51822', 'MCU_NORDIC_16K', 'MCU_NRF51_16K', 'MCU_NRF51_16K_S110', 'MCU_NRF51_16K_BOOT', 'NRF51_MICROBIT']
    'macros' has different values in old and new
        old: ['NRF51', 'TARGET_NRF51822', 'TARGET_MCU_NORDIC_16K', 'TARGET_MCU_NRF51_16K', 'TARGET_MCU_NRF51_16K_BOOT', 'TARGET_OTA_ENABLED', 'TARGET_MCU_NRF51_16K_S110', 'TARGET_NRF51_MICROBIT', 'TARGET_NRF_LFCLK_RC']
        new: ['NRF51', 'TARGET_NRF51822', 'TARGET_MCU_NORDIC_16K', 'TARGET_MCU_NRF51_16K', 'TARGET_MCU_NRF51_16K_S110', 'TARGET_MCU_NRF51_16K_BOOT', 'TARGET_OTA_ENABLED', 'TARGET_NRF51_MICROBIT', 'TARGET_NRF_LFCLK_RC']
NRF51_MICROBIT:
    Resolution order is different in old and new
        old: ['NRF51_MICROBIT', 'MCU_NRF51_16K_S110', 'MCU_NRF51_16K_BASE', 'MCU_NRF51', 'Target', 'MCU_NRF51_S110']
        new: ['NRF51_MICROBIT', 'MCU_NRF51_16K_S110', 'MCU_NRF51_S110', 'MCU_NRF51_16K_BASE', 'MCU_NRF51', 'Target']
    'extra_labels' has different values in old and new
        old: ['NORDIC', 'MCU_NRF51', 'MCU_NRF51822', 'MCU_NORDIC_16K', 'MCU_NRF51_16K', 'MCU_NRF51_16K_S110']
        new: ['NORDIC', 'MCU_NRF51', 'MCU_NRF51822', 'MCU_NRF51_16K_S110', 'MCU_NORDIC_16K', 'MCU_NRF51_16K']
    'macros' has different values in old and new
        old: ['NRF51', 'TARGET_NRF51822', 'TARGET_MCU_NORDIC_16K', 'TARGET_MCU_NRF51_16K', 'TARGET_MCU_NRF51_16K_S110', 'TARGET_NRF_LFCLK_RC']
        new: ['NRF51', 'TARGET_NRF51822', 'TARGET_MCU_NRF51_16K_S110', 'TARGET_MCU_NORDIC_16K', 'TARGET_MCU_NRF51_16K', 'TARGET_NRF_LFCLK_RC']
NRF51_MICROBIT_OTA:
    Resolution order is different in old and new
        old: ['NRF51_MICROBIT_OTA', 'MCU_NRF51_16K_OTA_S110', 'MCU_NRF51_16K_OTA_BASE', 'MCU_NRF51_16K_BASE', 'MCU_NRF51', 'Target', 'MCU_NRF51_S110']
        new: ['NRF51_MICROBIT_OTA', 'MCU_NRF51_16K_OTA_S110', 'MCU_NRF51_S110', 'MCU_NRF51_16K_OTA_BASE', 'MCU_NRF51_16K_BASE', 'MCU_NRF51', 'Target']
    'extra_labels' has different values in old and new
        old: ['NORDIC', 'MCU_NRF51', 'MCU_NRF51822', 'MCU_NORDIC_16K', 'MCU_NRF51_16K', 'MCU_NRF51_16K_OTA', 'MCU_NRF51_16K_S110', 'NRF51_MICROBIT']
        new: ['NORDIC', 'MCU_NRF51', 'MCU_NRF51822', 'MCU_NORDIC_16K', 'MCU_NRF51_16K', 'MCU_NRF51_16K_S110', 'MCU_NRF51_16K_OTA', 'NRF51_MICROBIT']
    'macros' has different values in old and new
        old: ['NRF51', 'TARGET_NRF51822', 'TARGET_MCU_NORDIC_16K', 'TARGET_MCU_NRF51_16K', 'TARGET_MCU_NRF51_16K_OTA', 'TARGET_OTA_ENABLED', 'TARGET_MCU_NRF51_16K_S110', 'TARGET_NRF51_MICROBIT', 'TARGET_NRF_LFCLK_RC']
        new: ['NRF51', 'TARGET_NRF51822', 'TARGET_MCU_NORDIC_16K', 'TARGET_MCU_NRF51_16K', 'TARGET_MCU_NRF51_16K_S110', 'TARGET_MCU_NRF51_16K_OTA', 'TARGET_OTA_ENABLED', 'TARGET_NRF51_MICROBIT', 'TARGET_NRF_LFCLK_RC']
NOT OK: ['NRF51_MICROBIT', 'NRF51_MICROBIT_BOOT', 'NRF51_MICROBIT_OTA']

The reasons for the above output are subtle and related to the
extremely weird way in which we defined target data in the Python
implementation: we used both class attributes and instance attributes.
This can complicate resolution order quite a bit and those two levels
don't exist in JSON: there's only one attribute type (equivalent to
Python's instance attributes). To make that work, I had to change the
inheritance order of the above targets (that use multiple inheritance)
which in turn changed the order of some macros and extra_labels (and of
course the resolution order). No harm done: the values are the same,
only their ordering is different. I don't believe this causes any
problems for 'extra_labels' and 'macros'.

This method of testing has its limitations though; in particular, it
can't test the hooks. I'm opened to ideas about how to test this better,
but I think that we need to remember that this commit might break some
targets and keep an eye out for "weird errors" in the future.
2016-05-17 21:42:55 +03:00
sg- c7f84c86f7 Remove all references and use of code warrior GCC in docs, build and
exporters¦
2016-02-11 01:07:58 -06:00
sg- 018cdb928a Remove all references and use of code sourcery GCC in docs, build and export scripts 2016-02-10 23:27:33 -06:00
Nabil Bendafi a89d27229c Fix typo in documentation 2015-09-15 20:52:44 +02:00
Nabil Bendafi 88029f4c02 Fix typo in documentation 2015-09-10 20:47:00 +02:00
Przemek Wirkus 2f184eb457 Add note how to use requirements.txt
We want to use (apparently) requirements.txt to store mbed's Python package dependencies.
Users can use this file with pip to install those requirements.
2015-08-20 14:28:58 +01:00
Yoong Hor Meng 14d40041c4 Minor spelling correction 2015-05-13 10:30:34 +08:00
Przemek Wirkus 4dbafc757d Update BUILDING.md 2015-03-10 20:56:32 +00:00
Przemek Wirkus 8e454c3b1e Added setuptools instructions as Sam G. proposed 2015-03-10 20:53:12 +00:00
Przemek Wirkus d6fde524d1 Initial doc structure added
Still documentation is not 100% updated

Update TESTING.md

Update TESTING.md

Update BUILDING.md

Update BUILDING.md

Update CONTRIBUTING.md

Update TESTING.md

Update TESTING.md

Update CONTRIBUTING.md

Update CONTRIBUTING.md
2015-03-10 16:25:08 +00:00