Commit Graph

6127 Commits (a70780fc1264eba4b8b8ead77c3d01cb07227e39)

Author SHA1 Message Date
Anna Bridge a70780fc12 Update greentea-client and Unity lib files to point to the latest library
version compatible with Utest.

Update lib git shas to correct format for Unity and Greentea libs
2016-06-09 15:19:27 +01:00
Anna Bridge 50f1c178e9 Review comments: Re-implemented utest_printf to use RawSerial.
Re-implemented utest_safe_putc() to use Rawserial.
Minor cosmetic changes.
2016-06-08 18:01:27 +01:00
Anna Bridge 0ccdfe3ca2 Updates to make utest thread safe and thus run when compiled with both gcc
and armcc.

1. Remove use of printf from all code that may be directly or indirectly
invoked from an interrupt context,

2. For occasions where a printf is required and the code in question may
run both inside and outside an interrupt context, add a new interrupt safe
version of printf, utest_printf(). This function will only pass its
arguments down to printf if interrupts are not disabled.

3. In harness.cpp, is_busy() , fix a bug where the function can return
leaving interrupts disabled.

4. In unity_handler.cpp add a new function, utest_safe_putc(), This is
used to override the default putc() function used by Unity. This version
checks that the current code does not have interrupts disabled prior to
outputting the character to the serial port. This overriding is enabled by
adding unity_config.h to the unity code and redefining UNITY_OUTPUT_CHAR
to utest_safe_putc(). The new config file is included in the build by
adding the define UNITY_INCLUDE_CONFIG_H. The Unity changes are submitted
under a separate PR. This change ensures that any Unity ASSERTS executed from
within interrupt context are safe.
2016-06-07 15:56:26 +01:00
Anna Bridge d4415eeeac Remove all printfs from test cases which may directly or indirectly run
from an interrupt context. Where required add flags to functions and check
the values in the case teardowns. This allows validation that the case
callback was invoked without the need for an ASSERT or printf directly in
the callback.
In cases where a printf is still required in a test case but it is unclear
whether the code may or may not get called from interrupt context, a new
printf alternative, utest_printf() should be used instead. This just
checks whether the code is executing in interrupt context and only passes
its arguments to printf if not.
2016-06-07 15:48:13 +01:00
Martin Kojtal e64975c94c Merge pull request #219 from ARMmbed/nanostack-hal-cmsis-rtos
Updating nanostack-hal-mbed-cmsis-rtos pointer
2016-06-07 14:14:47 +01:00
Martin Kojtal 07c3a108ef Merge pull request #218 from screamerbg/use-memap
Add memory analysis to mbed-os build system
2016-06-07 12:57:59 +01:00
Martin Kojtal 9b707292a4 Merge pull request #211 from bridadan/fix-test-list
Fix test listing
2016-06-07 12:55:03 +01:00
Bogdan Marinescu 9bbc532f4f Merge pull request #186 from screamerbg/library-build-fix
Fix the differences between how projects and libraries are built
2016-06-07 12:35:52 +01:00
Marcelo Salazar f4827b7eea Minor changes to memap documentation 2016-06-07 12:32:10 +01:00
Marcelo Salazar 7d3140b844 Documentation improvements to memap.md
- Removed installation instructions
- Removed py.test instructions (not available atm)
- Pointing at mbed-os tools to raise issues
2016-06-07 12:19:06 +01:00
Bogdan Marinescu d2ac7091ab Merge pull request #220 from ARMmbed/doc_fix
Fixed typo in the doc
2016-06-07 11:49:38 +01:00
Bogdan Marinescu 820d79d84b Fixed typo in the doc 2016-06-07 13:49:11 +03:00
Yogesh Pande 235e04f31b Adding 6k Stack size increase. 2016-06-07 13:28:55 +03:00
Yogesh Pande ab3f05eaae Updating nanostack-hal-mbed-cmsis-rtos pointer
This commit includes
- New API for initializing event loop.
2016-06-07 13:23:52 +03:00
geky a534c20a17 Merge pull request #217 from geky/socket_event_coalescing
Add socket event coalescing to reduce cpu usage in lazy implementations
2016-06-07 10:54:02 +01:00
Mihail Stoyanov d09a24835e Added memap documentation 2016-06-07 10:22:56 +01:00
Mihail Stoyanov 647ba3da89 Add memory analysis via https://github.com/ARMmbed/memap for every successful compile. Memap generates thorough output of the memory map files generated by ARMCC5, GCC_ARM and IAR. Also save json file of the printed data.
Deprecate the use of elftools which are no longer needed
2016-06-07 10:22:06 +01:00
Brian Daniels 9e012bb2c2 Fixing traceback when listing tests 2016-06-06 22:41:15 +01:00
Christopher Haster f567252d3a Coalesce redundant events to reduce cpu usage in lazy implementations
*cough* esp8266 *cough*

this is especially important for event-loop based systems where
excessive events results in problematic memory consumption.
2016-06-06 16:35:12 -05:00
Martin Kojtal 653832e94b Merge pull request #188 from geky/c027
Revert "Revert "Add the C027Interface""
2016-06-06 17:20:35 +01:00
Martin Kojtal 30a5366927 Merge pull request #212 from ARMmbed/mbed-client
Update mbed-client and mbed-client-c lib pointers.
2016-06-06 15:54:57 +01:00
Yogesh Pande 252f50b6e8 Update mbed-client and mbed-client-c lib pointers.
This commit includes
 - Updating mbed client and mbed-client-c lib pointer having updated config file MACRO value.
2016-06-06 17:29:52 +03:00
Martin Kojtal e936097e16 Merge pull request #184 from bridadan/verbose-test-building
Passing verbose option to build apis in test.py
2016-06-06 14:06:57 +01:00
Martin Kojtal fc4e0d9fd8 Merge pull request #209 from ARMmbed/mbed-client-classic
Updating mbed-client-classic.lib pointer.
2016-06-06 12:59:29 +01:00
Yogesh Pande 1b31abf2da Updating mbed-client-classic.lib pointer.
This commit includes
- Fix for IAR compilation issue with mbed-client-classic component.
2016-06-06 14:38:17 +03:00
Brian Daniels 427664c789 Passing verbose option to build apis in test.py 2016-06-06 12:31:13 +01:00
Mika Karjalainen 4f30d61c89 Fix issue #206 (#207)
Added --tests parameter to build command
2016-06-06 13:06:38 +03:00
Martin Kojtal c6b51d7fe3 Merge pull request #204 from theotherjimmy/1830-counterpart
added support for features array to build tools
2016-06-06 10:23:02 +01:00
Jimmy Brisson 1e71a28aff updated mbed.lib to point to the last commit from mbedmicro/mbed#1830 2016-06-06 10:07:29 +01:00
Martin Kojtal b1aba7f3c4 Merge pull request #170 from bridadan/build_everything
Adding a "build everything" script
2016-06-06 10:00:11 +01:00
Christopher Haster 3e49a6c11a Fixed compile-switched arguments to C027Interface for flow control 2016-06-05 18:59:41 -05:00
Christopher Haster e3cb10f134 Revert "Revert "Add the C027Interface""
This reverts commit 0aa9bd0bf2.
2016-06-05 18:45:12 -05:00
Jimmy Brisson 90ecda6b73 added support for features array to toolchains 2016-06-03 16:18:59 -05:00
Bogdan Marinescu 2904e10924 Merge pull request #203 from ARMmbed/get_config
Added support for viewing the configuration
2016-06-03 18:54:31 +01:00
Martin Kojtal 028c9b99f8 Merge pull request #201 from ARMmbed/mbed-client-classic
Updating mbed-client-classic repo pointer
2016-06-03 17:34:47 +01:00
Bogdan Marinescu 6f1298b02b Added support for viewing the configuration
get_config.py can be used to view the configuration of the mbed project
that's being compiled:

- without '-v' it displays a simple list of configuration parameters and
  their values
- with '-v' it displays additional data for each configuration parameter
  (like the place of definition and the last place that set a value for
   the configuration parameter).

Tested by running "get_config.py" on a few tests from
tools/test/config_test.
2016-06-03 19:06:21 +03:00
Yogesh Pande 7f9d06f2ce Updating mbed-client-classic repo pointer
This commit includes
- Udpating mbed-client-classic repository pointer after removing threadwrapper.h
2016-06-03 09:52:21 +03:00
Marko Hiltunen 3438a8bdc4 Update Jenkinsfile (#200) 2016-06-03 09:10:15 +03:00
Mihail Stoyanov 4060efc830 This fixes the differences between how projects and libraries are built (build_project() vs build_library()). Issue #181 2016-06-02 15:51:31 +01:00
Bogdan Marinescu 77c8e885e9 Merge pull request #195 from ARMmbed/mbed-client
Updating mbed-client related git repo pointers
2016-06-02 15:25:05 +01:00
Martin Kojtal d63e2e66d8 Merge pull request #193 from ARMmbed/sam-taylor-arm-patch-1
Fixed a couple of typos
2016-06-02 15:06:25 +01:00
Yogesh Pande 13814e4c12 Updating mbed-client related git repo pointers
This commit updates
 - mbed-client.lib
 - mbed-client-c.lib
 - mbed-client-classic.lib
 - nanostack-hal-mbed-cmsis-rtos.lib
2016-06-02 17:04:12 +03:00
Sam Taylor 8a1e08e16a Fixed a couple of typos
A couple of things I spotted while proof reading.
2016-06-02 14:27:16 +01:00
Bogdan Marinescu a7a163b811 Merge pull request #161 from ARMmbed/config_system
Config system
2016-06-02 13:42:13 +01:00
Bogdan Marinescu c74a6a4839 Added documentation about the configuration system.
Needs more details, but should be complete enough to be usable.
2016-06-02 15:25:35 +03:00
Bogdan Marinescu 0549b1e7c5 Added tests for the configuration mechanism
The tests check a number of features of the configuration mechanism
(mostly the inheritance and overriding of configuration parameters), as
well as the behavarious in various abnormal situations.
2016-06-02 15:09:56 +03:00
Bogdan Marinescu d83dc27fcf Add configuration mechanism
This commit adds the implementation of the configuration mechanism and
applies it for two uses cases:

- building a program (build_project in build_api.py)
- building a library (build_library in build_api.py)

There's also a new method 'get_config' in build_api.py that's used to
return the configuration of a project. Currently, it's used only for
testing, the intention is to use it for the implementation of the 'mbed
config' command.

Tested with various test configurations on the "blinky" example and also
with its own set of tests (to be added in a separate commit).

'make.py' was modified to send the target *name* to build_project, as
opposed to the target *instance*. This is needed because the
coniguration mechanism allows for creating custom targets, but these
targets are not available until the configuration file
mbed_app_config.json is parsed, which happens in build_project (so
before make.py calls 'build_project'). The API of build_project didn't
change, it now accepts both target names and target instances for the
'target' argument.

Known issues:

- doesn't currently work when doing binary builds of the SDK. Currently,
  building the SDK is broken in mbed-os, so this will be added later.
- when building tests, the build process ends up calling
  'build_project', so the configuration mechanism should play well with
  tests. However, this wasn't tested.

A later commit will all documentation for the configuration mechanism.
2016-06-02 15:09:52 +03:00
Mika Karjalainen 752b2acbf9 Added Jenkinsfile for automatic build verification (#189)
Script file for automatically building every change in Jenkins (Job set up in https://jenkins-internal.mbed.com/job/mbed-os-morpheus/)
2016-06-02 13:24:18 +03:00
Seppo Takalo c4ec385c8a Merge pull request #191 from ARMmbed/update_nanostack
Update Nanostack
2016-06-02 12:24:30 +03:00
Seppo Takalo 94c931ca7b Update Nanostack 2016-06-02 12:12:16 +03:00