mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #11721 from rajkan01/feature-baremetal-greentea
Bare metal greentea supportpull/11870/head
commit
09d9287e3b
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"requires": [
|
||||||
|
"bare-metal",
|
||||||
|
"rtos-api",
|
||||||
|
"greentea-client",
|
||||||
|
"utest",
|
||||||
|
"unity",
|
||||||
|
"psa",
|
||||||
|
"mbed-crypto",
|
||||||
|
"mbedtls",
|
||||||
|
"psa-compliance-framework",
|
||||||
|
"filesystem",
|
||||||
|
"littlefs",
|
||||||
|
"mbed-trace",
|
||||||
|
"device_key",
|
||||||
|
"storage_tdb_internal",
|
||||||
|
"storage_filesystem",
|
||||||
|
"storage_tdb_external",
|
||||||
|
"lora",
|
||||||
|
"nfc",
|
||||||
|
"network-emac",
|
||||||
|
"nanostack-libservice",
|
||||||
|
"flashiap-block-device",
|
||||||
|
"system-storage",
|
||||||
|
"filesystemstore",
|
||||||
|
"SecureStore",
|
||||||
|
"storage",
|
||||||
|
"kv-map",
|
||||||
|
"direct-access-devicekey",
|
||||||
|
"tdbstore",
|
||||||
|
"kv-config",
|
||||||
|
"events",
|
||||||
|
"kv-global-api",
|
||||||
|
"sd",
|
||||||
|
"nvstore"
|
||||||
|
],
|
||||||
|
"target_overrides": {
|
||||||
|
"*": {
|
||||||
|
"target.device_has_remove": ["EMAC", "USBDEVICE"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,7 +15,6 @@
|
||||||
*/
|
*/
|
||||||
#include "mbed_events.h"
|
#include "mbed_events.h"
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "rtos.h"
|
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
*/
|
*/
|
||||||
#include "mbed_events.h"
|
#include "mbed_events.h"
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "rtos.h"
|
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if INTEGRATION_TESTS
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "unity/unity.h"
|
#include "unity/unity.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
|
@ -202,4 +204,4 @@ size_t download_test(NetworkInterface *interface, const unsigned char *data, siz
|
||||||
|
|
||||||
return received_bytes;
|
return received_bytes;
|
||||||
}
|
}
|
||||||
|
#endif // INTEGRATION_TESTS
|
||||||
|
|
|
@ -20,6 +20,5 @@
|
||||||
/*
|
/*
|
||||||
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
||||||
*/
|
*/
|
||||||
|
|
||||||
size_t download_test(NetworkInterface *interface, const unsigned char *data, size_t data_length, size_t buff_size, uint32_t thread_id = 0);
|
size_t download_test(NetworkInterface *interface, const unsigned char *data, size_t data_length, size_t buff_size, uint32_t thread_id = 0);
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
/*
|
/*
|
||||||
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
||||||
*/
|
*/
|
||||||
|
#if INTEGRATION_TESTS
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "unity/unity.h"
|
#include "unity/unity.h"
|
||||||
|
@ -103,3 +104,4 @@ void file_test_read(const char *file, size_t offset, const unsigned char *data,
|
||||||
float(data_length) / 1024, float(data_length) / timer.read() / 1024, timer.read());
|
float(data_length) / 1024, float(data_length) / timer.read() / 1024, timer.read());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif //#if INTEGRATION_TESTS
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
/*
|
/*
|
||||||
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void file_test_write(const char *file, size_t offset, const unsigned char *data, size_t data_length, size_t block_size);
|
void file_test_write(const char *file, size_t offset, const unsigned char *data, size_t data_length, size_t block_size);
|
||||||
|
|
||||||
void file_test_read(const char *file, size_t offset, const unsigned char *data, size_t data_length, size_t block_size);
|
void file_test_read(const char *file, size_t offset, const unsigned char *data, size_t data_length, size_t block_size);
|
||||||
|
|
|
@ -21,6 +21,10 @@
|
||||||
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !INTEGRATION_TESTS
|
||||||
|
#error [NOT_SUPPORTED] integration tests not enabled for this target
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "FATFileSystem.h"
|
#include "FATFileSystem.h"
|
||||||
#include "LittleFileSystem.h"
|
#include "LittleFileSystem.h"
|
||||||
|
@ -30,10 +34,6 @@
|
||||||
#include "common_defines_test.h"
|
#include "common_defines_test.h"
|
||||||
#include "file_test.h"
|
#include "file_test.h"
|
||||||
|
|
||||||
#if !INTEGRATION_TESTS
|
|
||||||
#error [NOT_SUPPORTED] integration tests not enabled for this target
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef MBED_CONF_APP_BASICS_TEST_FILENAME
|
#ifdef MBED_CONF_APP_BASICS_TEST_FILENAME
|
||||||
#include MBED_CONF_APP_BASICS_TEST_FILENAME
|
#include MBED_CONF_APP_BASICS_TEST_FILENAME
|
||||||
#else
|
#else
|
||||||
|
@ -162,3 +162,4 @@ int main()
|
||||||
|
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
#endif // !INTEGRATION_TESTS
|
||||||
|
|
|
@ -21,6 +21,10 @@
|
||||||
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !INTEGRATION_TESTS
|
||||||
|
#error [NOT_SUPPORTED] integration tests not enabled for this target
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "FATFileSystem.h"
|
#include "FATFileSystem.h"
|
||||||
#include "LittleFileSystem.h"
|
#include "LittleFileSystem.h"
|
||||||
|
@ -30,10 +34,6 @@
|
||||||
#include "common_defines_test.h"
|
#include "common_defines_test.h"
|
||||||
#include "file_test.h"
|
#include "file_test.h"
|
||||||
|
|
||||||
#if !INTEGRATION_TESTS
|
|
||||||
#error [NOT_SUPPORTED] integration tests not enabled for this target
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef MBED_CONF_APP_BASICS_TEST_FILENAME
|
#ifdef MBED_CONF_APP_BASICS_TEST_FILENAME
|
||||||
#include MBED_CONF_APP_BASICS_TEST_FILENAME
|
#include MBED_CONF_APP_BASICS_TEST_FILENAME
|
||||||
#else
|
#else
|
||||||
|
@ -181,3 +181,4 @@ int main()
|
||||||
|
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
#endif // !INTEGRATION_TESTS
|
||||||
|
|
|
@ -21,6 +21,10 @@
|
||||||
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !INTEGRATION_TESTS
|
||||||
|
#error [NOT_SUPPORTED] integration tests not enabled for this target
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "utest/utest.h"
|
#include "utest/utest.h"
|
||||||
#include "unity/unity.h"
|
#include "unity/unity.h"
|
||||||
|
@ -29,10 +33,6 @@
|
||||||
#include "download_test.h"
|
#include "download_test.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#if !INTEGRATION_TESTS
|
|
||||||
#error [NOT_SUPPORTED] integration tests not enabled for this target
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef MBED_CONF_APP_BASICS_TEST_FILENAME
|
#ifdef MBED_CONF_APP_BASICS_TEST_FILENAME
|
||||||
#include MBED_CONF_APP_BASICS_TEST_FILENAME
|
#include MBED_CONF_APP_BASICS_TEST_FILENAME
|
||||||
#else
|
#else
|
||||||
|
@ -139,3 +139,4 @@ int main()
|
||||||
|
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
#endif // !INTEGRATION_TESTS
|
||||||
|
|
|
@ -21,6 +21,10 @@
|
||||||
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !INTEGRATION_TESTS
|
||||||
|
#error [NOT_SUPPORTED] integration tests not enabled for this target
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "utest/utest.h"
|
#include "utest/utest.h"
|
||||||
#include "unity/unity.h"
|
#include "unity/unity.h"
|
||||||
|
@ -29,10 +33,6 @@
|
||||||
#include "download_test.h"
|
#include "download_test.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#if !INTEGRATION_TESTS
|
|
||||||
#error [NOT_SUPPORTED] integration tests not enabled for this target
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef MBED_CONF_APP_BASICS_TEST_FILENAME
|
#ifdef MBED_CONF_APP_BASICS_TEST_FILENAME
|
||||||
#include MBED_CONF_APP_BASICS_TEST_FILENAME
|
#include MBED_CONF_APP_BASICS_TEST_FILENAME
|
||||||
#else
|
#else
|
||||||
|
@ -173,3 +173,4 @@ int main()
|
||||||
|
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
#endif // !INTEGRATION_TESTS
|
||||||
|
|
|
@ -21,6 +21,10 @@
|
||||||
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
* Based on mbed-stress-test by Marcus Chang @ Arm Mbed - http://github.com/ARMmbed/mbed-stress-test
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !INTEGRATION_TESTS
|
||||||
|
#error [NOT_SUPPORTED] integration tests not enabled for this target
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "FATFileSystem.h"
|
#include "FATFileSystem.h"
|
||||||
#include "LittleFileSystem.h"
|
#include "LittleFileSystem.h"
|
||||||
|
@ -32,9 +36,6 @@
|
||||||
#include "file_test.h"
|
#include "file_test.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#if !INTEGRATION_TESTS
|
|
||||||
#error [NOT_SUPPORTED] integration tests not enabled for this target
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef MBED_CONF_APP_BASICS_TEST_FILENAME
|
#ifdef MBED_CONF_APP_BASICS_TEST_FILENAME
|
||||||
#include MBED_CONF_APP_BASICS_TEST_FILENAME
|
#include MBED_CONF_APP_BASICS_TEST_FILENAME
|
||||||
|
@ -243,3 +244,4 @@ int main()
|
||||||
|
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
#endif // !INTEGRATION_TESTS
|
||||||
|
|
|
@ -134,6 +134,7 @@ void test_thread(void)
|
||||||
TEST_ASSERT_EQUAL(0xCBF43926, crc);
|
TEST_ASSERT_EQUAL(0xCBF43926, crc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
void test_thread_safety()
|
void test_thread_safety()
|
||||||
{
|
{
|
||||||
char test[] = "123456789";
|
char test[] = "123456789";
|
||||||
|
@ -153,13 +154,16 @@ void test_thread_safety()
|
||||||
// Wait for the thread to finish
|
// Wait for the thread to finish
|
||||||
t1.join();
|
t1.join();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
Case cases[] = {
|
Case cases[] = {
|
||||||
Case("Test supported polynomials", test_supported_polynomials),
|
Case("Test supported polynomials", test_supported_polynomials),
|
||||||
Case("Test partial CRC", test_partial_crc),
|
Case("Test partial CRC", test_partial_crc),
|
||||||
Case("Test SD CRC polynomials", test_sd_crc),
|
Case("Test SD CRC polynomials", test_sd_crc),
|
||||||
Case("Test not supported polynomials", test_any_polynomial),
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
Case("Test thread safety", test_thread_safety)
|
Case("Test thread safety", test_thread_safety),
|
||||||
|
#endif
|
||||||
|
Case("Test not supported polynomials", test_any_polynomial)
|
||||||
};
|
};
|
||||||
|
|
||||||
utest::v1::status_t greentea_test_setup(const size_t number_of_cases)
|
utest::v1::status_t greentea_test_setup(const size_t number_of_cases)
|
||||||
|
|
|
@ -13,6 +13,9 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Low power timer test cases require a RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#if !DEVICE_LPTICKER
|
#if !DEVICE_LPTICKER
|
||||||
#error [NOT_SUPPORTED] Low power timer not supported for this target
|
#error [NOT_SUPPORTED] Low power timer not supported for this target
|
||||||
|
@ -95,3 +98,4 @@ int main()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !DEVICE_LPTICKER
|
#endif // !DEVICE_LPTICKER
|
||||||
|
#endif //!defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
#include "rtos.h"
|
|
||||||
#include "hal/us_ticker_api.h"
|
#include "hal/us_ticker_api.h"
|
||||||
|
|
||||||
#if !DEVICE_LPTICKER
|
#if !DEVICE_LPTICKER
|
||||||
|
|
|
@ -14,6 +14,14 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Race test test cases require RTOS with multithread to run
|
||||||
|
#else
|
||||||
|
|
||||||
|
#if !DEVICE_USTICKER
|
||||||
|
#error [NOT_SUPPORTED] UsTicker need to be enabled for this test.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "rtos.h"
|
#include "rtos.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
|
@ -22,10 +30,6 @@
|
||||||
#include "SingletonPtr.h"
|
#include "SingletonPtr.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#if defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
|
||||||
#error [NOT_SUPPORTED] Test not supported for single threaded enviroment. UsTicker need to be enabled for this test.
|
|
||||||
#else
|
|
||||||
|
|
||||||
using namespace utest::v1;
|
using namespace utest::v1;
|
||||||
|
|
||||||
#define TEST_STACK_SIZE 512
|
#define TEST_STACK_SIZE 512
|
||||||
|
@ -132,4 +136,5 @@ int main()
|
||||||
Harness::run(specification);
|
Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
|
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_THREAD)
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
#include "rtos.h"
|
|
||||||
#include "rtc_api.h"
|
#include "rtc_api.h"
|
||||||
|
|
||||||
#if !DEVICE_RTC || !DEVICE_USTICKER
|
#if !DEVICE_RTC || !DEVICE_USTICKER
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
#include "rtos.h"
|
|
||||||
#include "hal/us_ticker_api.h"
|
#include "hal/us_ticker_api.h"
|
||||||
|
|
||||||
#if !DEVICE_USTICKER
|
#if !DEVICE_USTICKER
|
||||||
|
|
|
@ -14,6 +14,11 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Watchdog test cases require a RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#if !DEVICE_WATCHDOG
|
#if !DEVICE_WATCHDOG
|
||||||
#error [NOT_SUPPORTED] Watchdog not supported for this target
|
#error [NOT_SUPPORTED] Watchdog not supported for this target
|
||||||
#else
|
#else
|
||||||
|
@ -284,3 +289,4 @@ int main()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !DEVICE_WATCHDOG
|
#endif // !DEVICE_WATCHDOG
|
||||||
|
#endif // !defined(MBED_CONG_RTOS_PRESENT)
|
||||||
|
|
|
@ -14,6 +14,10 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Watchdog reset test cases require a RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#if !DEVICE_WATCHDOG
|
#if !DEVICE_WATCHDOG
|
||||||
#error [NOT_SUPPORTED] Watchdog not supported for this target
|
#error [NOT_SUPPORTED] Watchdog not supported for this target
|
||||||
#else
|
#else
|
||||||
|
@ -334,3 +338,4 @@ int main()
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
#endif // !DEVICE_WATCHDOG
|
#endif // !DEVICE_WATCHDOG
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -13,6 +13,11 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !defined(MBED_RTOS_CONF_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] usticker test cases require a RTOS to run
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
|
@ -606,3 +611,4 @@ int main()
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
#endif // !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
|
#endif // !defined(MBED_RTOS_CONF_PRESENT)
|
||||||
|
|
|
@ -20,6 +20,9 @@
|
||||||
* freqency is valid.
|
* freqency is valid.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] common tickers frequency test cases require a RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
|
@ -206,3 +209,4 @@ int main()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(SKIP_TIME_DRIFT_TESTS) || !DEVICE_USTICKER
|
#endif // defined(SKIP_TIME_DRIFT_TESTS) || !DEVICE_USTICKER
|
||||||
|
#endif // !defined(MBED_RTOS_CONF_PRESENT)
|
||||||
|
|
|
@ -13,6 +13,11 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Low power timer test cases require a RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
|
@ -207,3 +212,4 @@ int main()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !DEVICE_LPTICKER
|
#endif // !DEVICE_LPTICKER
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if !DEVICE_SLEEP
|
#if !DEVICE_SLEEP
|
||||||
#error [NOT_SUPPORTED] sleep not supported for this target
|
#error [NOT_SUPPORTED] sleep not supported for this target
|
||||||
#else
|
#else
|
||||||
|
@ -216,7 +215,9 @@ utest::v1::status_t greentea_test_setup(const size_t number_of_cases)
|
||||||
{
|
{
|
||||||
GREENTEA_SETUP(60, "default_auto");
|
GREENTEA_SETUP(60, "default_auto");
|
||||||
/* Suspend RTOS Kernel to enable sleep modes. */
|
/* Suspend RTOS Kernel to enable sleep modes. */
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
osKernelSuspend();
|
osKernelSuspend();
|
||||||
|
#endif
|
||||||
#if DEVICE_LPTICKER
|
#if DEVICE_LPTICKER
|
||||||
ticker_suspend(get_lp_ticker_data());
|
ticker_suspend(get_lp_ticker_data());
|
||||||
#if DEVICE_LPTICKER && (LPTICKER_DELAY_TICKS > 0)
|
#if DEVICE_LPTICKER && (LPTICKER_DELAY_TICKS > 0)
|
||||||
|
@ -242,8 +243,9 @@ void greentea_test_teardown(const size_t passed, const size_t failed, const fail
|
||||||
#endif
|
#endif
|
||||||
ticker_resume(get_lp_ticker_data());
|
ticker_resume(get_lp_ticker_data());
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
osKernelResume(0);
|
osKernelResume(0);
|
||||||
|
#endif
|
||||||
greentea_test_teardown_handler(passed, failed, failure);
|
greentea_test_teardown_handler(passed, failed, failure);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,9 @@ void test_lock_eq_ushrt_max()
|
||||||
utest::v1::status_t testcase_setup(const Case *const source, const size_t index_of_case)
|
utest::v1::status_t testcase_setup(const Case *const source, const size_t index_of_case)
|
||||||
{
|
{
|
||||||
// Suspend the RTOS kernel scheduler to prevent interference with duration of sleep.
|
// Suspend the RTOS kernel scheduler to prevent interference with duration of sleep.
|
||||||
|
#if defined(MBED_RTOS_PRESENT)
|
||||||
osKernelSuspend();
|
osKernelSuspend();
|
||||||
|
#endif
|
||||||
#if DEVICE_LPTICKER
|
#if DEVICE_LPTICKER
|
||||||
ticker_suspend(get_lp_ticker_data());
|
ticker_suspend(get_lp_ticker_data());
|
||||||
#if (LPTICKER_DELAY_TICKS > 0)
|
#if (LPTICKER_DELAY_TICKS > 0)
|
||||||
|
@ -115,7 +117,9 @@ utest::v1::status_t testcase_teardown(const Case *const source, const size_t pas
|
||||||
#endif
|
#endif
|
||||||
ticker_resume(get_lp_ticker_data());
|
ticker_resume(get_lp_ticker_data());
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(MBED_RTOS_PRESENT)
|
||||||
osKernelResume(0);
|
osKernelResume(0);
|
||||||
|
#endif
|
||||||
return utest::v1::greentea_case_teardown_handler(source, passed, failed, failure);
|
return utest::v1::greentea_case_teardown_handler(source, passed, failed, failure);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
using namespace utest::v1;
|
using namespace utest::v1;
|
||||||
|
|
||||||
#define TEST_STACK_SIZE 256
|
#define TEST_STACK_SIZE 256
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
void sleep_manager_locking_thread_test()
|
void sleep_manager_locking_thread_test()
|
||||||
{
|
{
|
||||||
for (uint32_t i = 0; i < 100; i++) {
|
for (uint32_t i = 0; i < 100; i++) {
|
||||||
|
@ -55,6 +55,7 @@ void sleep_manager_multithread_test()
|
||||||
bool deep_sleep_allowed = sleep_manager_can_deep_sleep_test_check();
|
bool deep_sleep_allowed = sleep_manager_can_deep_sleep_test_check();
|
||||||
TEST_ASSERT_TRUE_MESSAGE(deep_sleep_allowed, "Deep sleep should be allowed");
|
TEST_ASSERT_TRUE_MESSAGE(deep_sleep_allowed, "Deep sleep should be allowed");
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void sleep_manager_locking_irq_test()
|
void sleep_manager_locking_irq_test()
|
||||||
{
|
{
|
||||||
|
@ -91,7 +92,9 @@ utest::v1::status_t greentea_test_setup(const size_t number_of_cases)
|
||||||
}
|
}
|
||||||
|
|
||||||
Case cases[] = {
|
Case cases[] = {
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
Case("deep sleep lock/unlock is thread safe", sleep_manager_multithread_test),
|
Case("deep sleep lock/unlock is thread safe", sleep_manager_multithread_test),
|
||||||
|
#endif
|
||||||
Case("deep sleep lock/unlock is IRQ safe", sleep_manager_irq_test),
|
Case("deep sleep lock/unlock is IRQ safe", sleep_manager_irq_test),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,10 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] stack size unification test cases require a RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
|
@ -76,3 +80,4 @@ int main()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // TARGET_RENESAS
|
#endif // TARGET_RENESAS
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -14,6 +14,10 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Watchdog test cases require a RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#if !DEVICE_WATCHDOG
|
#if !DEVICE_WATCHDOG
|
||||||
#error [NOT_SUPPORTED] Watchdog not supported for this target
|
#error [NOT_SUPPORTED] Watchdog not supported for this target
|
||||||
#else
|
#else
|
||||||
|
@ -285,3 +289,4 @@ int main()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !DEVICE_WATCHDOG
|
#endif // !DEVICE_WATCHDOG
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -13,6 +13,9 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] crash_reporting test cases require a RTOS to run.
|
||||||
|
#else
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "mbed_error.h"
|
#include "mbed_error.h"
|
||||||
#include "mbed_crash_data_offsets.h"
|
#include "mbed_crash_data_offsets.h"
|
||||||
|
@ -80,3 +83,4 @@ int main(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !MBED_CONF_PLATFORM_CRASH_CAPTURE_ENABLED
|
#endif // !MBED_CONF_PLATFORM_CRASH_CAPTURE_ENABLED
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -125,6 +125,7 @@ void test_error_context_capture()
|
||||||
mbed_error_status_t status = mbed_get_last_error_info(&error_ctx);
|
mbed_error_status_t status = mbed_get_last_error_info(&error_ctx);
|
||||||
TEST_ASSERT(status == MBED_SUCCESS);
|
TEST_ASSERT(status == MBED_SUCCESS);
|
||||||
TEST_ASSERT_EQUAL_UINT(error_value, error_ctx.error_value);
|
TEST_ASSERT_EQUAL_UINT(error_value, error_ctx.error_value);
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
TEST_ASSERT_EQUAL_UINT((uint32_t)osThreadGetId(), error_ctx.thread_id);
|
TEST_ASSERT_EQUAL_UINT((uint32_t)osThreadGetId(), error_ctx.thread_id);
|
||||||
|
|
||||||
//Capture thread info and compare
|
//Capture thread info and compare
|
||||||
|
@ -135,6 +136,7 @@ void test_error_context_capture()
|
||||||
#if MBED_CONF_PLATFORM_ERROR_FILENAME_CAPTURE_ENABLED
|
#if MBED_CONF_PLATFORM_ERROR_FILENAME_CAPTURE_ENABLED
|
||||||
TEST_ASSERT_EQUAL_STRING(MBED_FILENAME, error_ctx.error_filename);
|
TEST_ASSERT_EQUAL_STRING(MBED_FILENAME, error_ctx.error_filename);
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if MBED_CONF_PLATFORM_ERROR_HIST_ENABLED
|
#if MBED_CONF_PLATFORM_ERROR_HIST_ENABLED
|
||||||
|
@ -246,14 +248,17 @@ void test_error_logging_multithread()
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
static Semaphore callback_sem;
|
static Semaphore callback_sem;
|
||||||
void MyErrorHook(const mbed_error_ctx *error_ctx)
|
void MyErrorHook(const mbed_error_ctx *error_ctx)
|
||||||
{
|
{
|
||||||
callback_sem.release();
|
callback_sem.release();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Test error hook
|
/** Test error hook
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
void test_error_hook()
|
void test_error_hook()
|
||||||
{
|
{
|
||||||
if (MBED_SUCCESS != mbed_set_error_hook(MyErrorHook)) {
|
if (MBED_SUCCESS != mbed_set_error_hook(MyErrorHook)) {
|
||||||
|
@ -265,6 +270,7 @@ void test_error_hook()
|
||||||
|
|
||||||
TEST_ASSERT(acquired);
|
TEST_ASSERT(acquired);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if MBED_CONF_PLATFORM_ERROR_HIST_ENABLED && defined(MBED_TEST_SIM_BLOCKDEVICE)
|
#if MBED_CONF_PLATFORM_ERROR_HIST_ENABLED && defined(MBED_TEST_SIM_BLOCKDEVICE)
|
||||||
|
|
||||||
|
@ -352,13 +358,11 @@ utest::v1::status_t test_setup(const size_t number_of_cases)
|
||||||
Case cases[] = {
|
Case cases[] = {
|
||||||
Case("Test error counting and reset", test_error_count_and_reset),
|
Case("Test error counting and reset", test_error_count_and_reset),
|
||||||
Case("Test error encoding, value capture, first and last errors", test_error_capturing),
|
Case("Test error encoding, value capture, first and last errors", test_error_capturing),
|
||||||
#if MBED_CONF_RTOS_PRESENT
|
|
||||||
Case("Test error context capture", test_error_context_capture),
|
Case("Test error context capture", test_error_context_capture),
|
||||||
#endif //MBED_CONF_RTOS_PRESENT
|
|
||||||
Case("Test error hook", test_error_hook),
|
|
||||||
#if MBED_CONF_PLATFORM_ERROR_HIST_ENABLED
|
#if MBED_CONF_PLATFORM_ERROR_HIST_ENABLED
|
||||||
Case("Test error logging", test_error_logging),
|
Case("Test error logging", test_error_logging),
|
||||||
#if MBED_CONF_RTOS_PRESENT
|
#if MBED_CONF_RTOS_PRESENT
|
||||||
|
Case("Test error hook", test_error_hook),
|
||||||
Case("Test error handling multi-threaded", test_error_logging_multithread),
|
Case("Test error handling multi-threaded", test_error_logging_multithread),
|
||||||
#endif //MBED_CONF_RTOS_PRESENT
|
#endif //MBED_CONF_RTOS_PRESENT
|
||||||
#if MBED_CONF_PLATFORM_ERROR_HIST_ENABLED && defined(MBED_TEST_SIM_BLOCKDEVICE)
|
#if MBED_CONF_PLATFORM_ERROR_HIST_ENABLED && defined(MBED_TEST_SIM_BLOCKDEVICE)
|
||||||
|
|
|
@ -18,6 +18,10 @@
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
|
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] MemoryPool test cases require a RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
using namespace utest::v1;
|
using namespace utest::v1;
|
||||||
|
|
||||||
#define THREAD_STACK_SIZE 512
|
#define THREAD_STACK_SIZE 512
|
||||||
|
@ -666,3 +670,4 @@ int main()
|
||||||
Harness::run(specification);
|
Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -14,13 +14,17 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] RTOS basic test cases require RTOS with multithread to run
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "utest/utest.h"
|
#include "utest/utest.h"
|
||||||
#include "unity/unity.h"
|
#include "unity/unity.h"
|
||||||
|
|
||||||
#if defined(SKIP_TIME_DRIFT_TESTS) || defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#if defined(SKIP_TIME_DRIFT_TESTS) || !DEVICE_USTICKER
|
||||||
#error [NOT_SUPPORTED] test not supported
|
#error [NOT_SUPPORTED] UsTicker need to be enabled for this test.
|
||||||
#else
|
#else
|
||||||
|
|
||||||
using utest::v1::Case;
|
using utest::v1::Case;
|
||||||
|
@ -116,4 +120,5 @@ int main()
|
||||||
utest::v1::Harness::run(specification);
|
utest::v1::Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(SKIP_TIME_DRIFT_TESTS) || defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#endif // defined(SKIP_TIME_DRIFT_TESTS) || !DEVICE_USTICKER
|
||||||
|
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -13,16 +13,20 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Condition variable test cases require RTOS with multithread to run
|
||||||
|
#else
|
||||||
|
|
||||||
|
#if !DEVICE_USTICKER
|
||||||
|
#error [NOT_SUPPORTED] UsTicker need to be enabled for this test.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
#include "rtos.h"
|
#include "rtos.h"
|
||||||
|
|
||||||
#if defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
|
||||||
#error [NOT_SUPPORTED] test not supported
|
|
||||||
#else
|
|
||||||
|
|
||||||
using namespace utest::v1;
|
using namespace utest::v1;
|
||||||
|
|
||||||
#define TEST_STACK_SIZE 512
|
#define TEST_STACK_SIZE 512
|
||||||
|
@ -185,4 +189,5 @@ int main()
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
|
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -14,6 +14,9 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Event flags test cases require RTOS with multithread to run
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
|
@ -22,8 +25,8 @@
|
||||||
|
|
||||||
using utest::v1::Case;
|
using utest::v1::Case;
|
||||||
|
|
||||||
#if defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#if !DEVICE_USTICKER
|
||||||
#error [NOT_SUPPORTED] test not supported
|
#error [NOT_SUPPORTED] UsTicker need to be enabled for this test.
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if defined(__CORTEX_M23) || defined(__CORTEX_M33)
|
#if defined(__CORTEX_M23) || defined(__CORTEX_M33)
|
||||||
|
@ -371,4 +374,5 @@ int main()
|
||||||
return !utest::v1::Harness::run(specification);
|
return !utest::v1::Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
|
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
|
@ -15,8 +15,8 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(TARGET_CORTEX_A) || !DEVICE_USTICKER
|
#if defined(TARGET_CORTEX_A) || !DEVICE_USTICKER || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
#error [NOT_SUPPORTED] This function not supported for this target
|
#error [NOT_SUPPORTED] test not supported.
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -263,4 +263,4 @@ int main()
|
||||||
return !utest::v1::Harness::run(specification);
|
return !utest::v1::Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(TARGET_CORTEX_A) || !DEVICE_USTICKER
|
#endif // defined(TARGET_CORTEX_A) || !DEVICE_USTICKER || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -13,6 +13,10 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] kernel tick count test cases require a RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "utest/utest.h"
|
#include "utest/utest.h"
|
||||||
#include "unity/unity.h"
|
#include "unity/unity.h"
|
||||||
|
@ -117,3 +121,4 @@ int main()
|
||||||
{
|
{
|
||||||
return !utest::v1::Harness::run(specification);
|
return !utest::v1::Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -13,16 +13,20 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] mail test cases require RTOS with multithread to run
|
||||||
|
#else
|
||||||
|
|
||||||
|
#if !DEVICE_USTICKER
|
||||||
|
#error [NOT_SUPPORTED] UsTicker need to be enabled for this test.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
#include "rtos.h"
|
#include "rtos.h"
|
||||||
|
|
||||||
#if defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
|
||||||
#error [NOT_SUPPORTED] test not supported
|
|
||||||
#else
|
|
||||||
|
|
||||||
using namespace utest::v1;
|
using namespace utest::v1;
|
||||||
|
|
||||||
#if defined(__CORTEX_M23) || defined(__CORTEX_M33)
|
#if defined(__CORTEX_M23) || defined(__CORTEX_M33)
|
||||||
|
@ -509,4 +513,5 @@ int main()
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
|
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#include "unity/unity.h"
|
#include "unity/unity.h"
|
||||||
|
|
||||||
|
|
||||||
#if defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#if !DEVICE_USTICKER
|
||||||
#error [NOT_SUPPORTED] test not supported
|
#error [NOT_SUPPORTED] test not supported
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@ -59,13 +59,13 @@ void task_using_malloc(void)
|
||||||
free(data);
|
free(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Test for multithreaded heap allocations
|
/** Test for multithreaded heap allocations
|
||||||
|
|
||||||
Given multiple threads are started in parallel
|
Given multiple threads are started in parallel
|
||||||
When each of the threads allocate memory
|
When each of the threads allocate memory
|
||||||
Then the memory allocation succeed and @a malloc return valid memory
|
Then the memory allocation succeed and @a malloc return valid memory
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
void test_multithread_allocation(void)
|
void test_multithread_allocation(void)
|
||||||
{
|
{
|
||||||
// static stack for threads to reduce heap usage on devices with small RAM
|
// static stack for threads to reduce heap usage on devices with small RAM
|
||||||
|
@ -102,6 +102,7 @@ void test_multithread_allocation(void)
|
||||||
}
|
}
|
||||||
TEST_ASSERT_FALSE(thread_alloc_failure);
|
TEST_ASSERT_FALSE(thread_alloc_failure);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Test for multiple heap alloc and free calls */
|
/** Test for multiple heap alloc and free calls */
|
||||||
#define ALLOC_ARRAY_SIZE 100
|
#define ALLOC_ARRAY_SIZE 100
|
||||||
|
@ -200,7 +201,9 @@ void test_null_free(void)
|
||||||
Case cases[] = {
|
Case cases[] = {
|
||||||
Case("Test 0 size allocation", test_zero_allocation),
|
Case("Test 0 size allocation", test_zero_allocation),
|
||||||
Case("Test NULL pointer free", test_null_free),
|
Case("Test NULL pointer free", test_null_free),
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
Case("Test multithreaded allocations", test_multithread_allocation),
|
Case("Test multithreaded allocations", test_multithread_allocation),
|
||||||
|
#endif
|
||||||
Case("Test large allocation", test_big_allocation),
|
Case("Test large allocation", test_big_allocation),
|
||||||
Case("Test multiple alloc and free calls", test_alloc_and_free)
|
Case("Test multiple alloc and free calls", test_alloc_and_free)
|
||||||
};
|
};
|
||||||
|
|
|
@ -13,16 +13,20 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Mutex test cases require RTOS with multithread to run
|
||||||
|
#else
|
||||||
|
|
||||||
|
#if !DEVICE_USTICKER
|
||||||
|
#error [NOT_SUPPORTED] UsTicker need to be enabled for this test.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
#include "rtos.h"
|
#include "rtos.h"
|
||||||
|
|
||||||
#if defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
|
||||||
#error [NOT_SUPPORTED] test not supported
|
|
||||||
#else
|
|
||||||
|
|
||||||
using namespace utest::v1;
|
using namespace utest::v1;
|
||||||
|
|
||||||
#if defined(__CORTEX_M23) || defined(__CORTEX_M33)
|
#if defined(__CORTEX_M23) || defined(__CORTEX_M33)
|
||||||
|
@ -305,4 +309,5 @@ int main()
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
|
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -13,16 +13,20 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Queue test cases require RTOS with multithread to run
|
||||||
|
#else
|
||||||
|
|
||||||
|
#if !DEVICE_USTICKER
|
||||||
|
#error [NOT_SUPPORTED] UsTicker need to be enabled for this test.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
#include "rtos.h"
|
#include "rtos.h"
|
||||||
|
|
||||||
#if defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
|
||||||
#error [NOT_SUPPORTED] test not supported
|
|
||||||
#else
|
|
||||||
|
|
||||||
using namespace utest::v1;
|
using namespace utest::v1;
|
||||||
|
|
||||||
#define THREAD_STACK_SIZE 512
|
#define THREAD_STACK_SIZE 512
|
||||||
|
@ -345,4 +349,5 @@ int main()
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
|
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
|
@ -13,6 +13,11 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] RTOS timer test cases require RTOS to run
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
|
@ -360,3 +365,4 @@ int main()
|
||||||
|
|
||||||
#endif // !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
#endif // RESTART_DELAY_MS >= DELAY_MS
|
#endif // RESTART_DELAY_MS >= DELAY_MS
|
||||||
|
#endif
|
||||||
|
|
|
@ -13,6 +13,14 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Semaphore test cases require RTOS with multithread to run
|
||||||
|
#else
|
||||||
|
|
||||||
|
#if !DEVICE_USTICKER
|
||||||
|
#error [NOT_SUPPORTED] UsTicker need to be enabled for this test.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
|
@ -21,10 +29,6 @@
|
||||||
|
|
||||||
using namespace utest::v1;
|
using namespace utest::v1;
|
||||||
|
|
||||||
#if defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
|
||||||
#error [NOT_SUPPORTED] test not supported
|
|
||||||
#else
|
|
||||||
|
|
||||||
#define THREAD_DELAY 30
|
#define THREAD_DELAY 30
|
||||||
#define SEMAPHORE_SLOTS 2
|
#define SEMAPHORE_SLOTS 2
|
||||||
#define SEM_CHANGES 100
|
#define SEM_CHANGES 100
|
||||||
|
@ -246,4 +250,5 @@ int main()
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
|
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -13,6 +13,10 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Signals test cases require RTOS with multithread to run
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "utest/utest.h"
|
#include "utest/utest.h"
|
||||||
|
@ -20,8 +24,8 @@
|
||||||
|
|
||||||
using utest::v1::Case;
|
using utest::v1::Case;
|
||||||
|
|
||||||
#if defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#if !DEVICE_USTICKER
|
||||||
#error [NOT_SUPPORTED] test not supported
|
#error [NOT_SUPPORTED] UsTicker need to be enabled for this test.
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define TEST_STACK_SIZE 512
|
#define TEST_STACK_SIZE 512
|
||||||
|
@ -393,4 +397,5 @@ int main()
|
||||||
return !utest::v1::Harness::run(specification);
|
return !utest::v1::Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
|
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -20,9 +20,6 @@
|
||||||
#include "utest.h"
|
#include "utest.h"
|
||||||
#include "ticker_api.h"
|
#include "ticker_api.h"
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
#include "rtx_lib.h"
|
|
||||||
}
|
|
||||||
#include "platform/source/SysTimer.h"
|
#include "platform/source/SysTimer.h"
|
||||||
|
|
||||||
#define TEST_TICKS 42
|
#define TEST_TICKS 42
|
||||||
|
|
|
@ -49,5 +49,4 @@ private:
|
||||||
LockGuard &operator=(const LockGuard &);
|
LockGuard &operator=(const LockGuard &);
|
||||||
rtos::Mutex &_mutex;
|
rtos::Mutex &_mutex;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* MBEDMICRO_RTOS_MBED_THREADS_LOCK_GUARD */
|
#endif /* MBEDMICRO_RTOS_MBED_THREADS_LOCK_GUARD */
|
||||||
|
|
|
@ -75,5 +75,4 @@ private:
|
||||||
mutable rtos::Mutex _mutex;
|
mutable rtos::Mutex _mutex;
|
||||||
T _value;
|
T _value;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* MBEDMICRO_RTOS_MBED_THREADS_SYNCHRONIZED_INTEGRAL */
|
#endif /* MBEDMICRO_RTOS_MBED_THREADS_SYNCHRONIZED_INTEGRAL */
|
||||||
|
|
|
@ -13,6 +13,14 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] Threads test cases require RTOS with multithread to run
|
||||||
|
#else
|
||||||
|
|
||||||
|
#if !DEVICE_USTICKER
|
||||||
|
#error [NOT_SUPPORTED] UsTicker need to be enabled for this test.
|
||||||
|
#else
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
|
@ -21,10 +29,6 @@
|
||||||
#include "SynchronizedIntegral.h"
|
#include "SynchronizedIntegral.h"
|
||||||
#include "LockGuard.h"
|
#include "LockGuard.h"
|
||||||
|
|
||||||
#if defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
|
||||||
#error [NOT_SUPPORTED] test not supported
|
|
||||||
#else
|
|
||||||
|
|
||||||
#define THREAD_STACK_SIZE 512
|
#define THREAD_STACK_SIZE 512
|
||||||
#if defined(__CORTEX_A9) || defined(__CORTEX_M23) || defined(__CORTEX_M33) || defined(TARGET_ARM_FM) || defined(TARGET_CY8CKIT_062_WIFI_BT_PSA)
|
#if defined(__CORTEX_A9) || defined(__CORTEX_M23) || defined(__CORTEX_M33) || defined(TARGET_ARM_FM) || defined(TARGET_CY8CKIT_062_WIFI_BT_PSA)
|
||||||
#define PARALLEL_THREAD_STACK_SIZE 512
|
#define PARALLEL_THREAD_STACK_SIZE 512
|
||||||
|
@ -847,4 +851,5 @@ int main()
|
||||||
return !Harness::run(specification);
|
return !Harness::run(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !DEVICE_USTICKER
|
#endif // !DEVICE_USTICKER
|
||||||
|
#endif // defined(MBED_RTOS_SINGLE_THREAD) || !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
||||||
#include "stdint.h"
|
#include "stdint.h"
|
||||||
#include "stdlib.h"
|
#include "stdlib.h"
|
||||||
#include "USBEndpointTester.h"
|
#include "USBEndpointTester.h"
|
||||||
|
@ -169,7 +171,6 @@ USBEndpointTester::USBEndpointTester(USBPhy *phy, uint16_t vendor_id, uint16_t p
|
||||||
MBED_ASSERT(_endpoint_buffs[i] != NULL);
|
MBED_ASSERT(_endpoint_buffs[i] != NULL);
|
||||||
}
|
}
|
||||||
MBED_ASSERT(resolver.valid());
|
MBED_ASSERT(resolver.valid());
|
||||||
|
|
||||||
queue = mbed::mbed_highprio_event_queue();
|
queue = mbed::mbed_highprio_event_queue();
|
||||||
configuration_desc(0);
|
configuration_desc(0);
|
||||||
ctrl_buf = new uint8_t[CTRL_BUF_SIZE];
|
ctrl_buf = new uint8_t[CTRL_BUF_SIZE];
|
||||||
|
@ -861,3 +862,4 @@ void USBEndpointTester::start_ep_in_abort_test()
|
||||||
write_start(_endpoints[EP_BULK_IN], _endpoint_buffs[EP_BULK_IN], (*_endpoint_configs)[EP_BULK_IN].max_packet);
|
write_start(_endpoints[EP_BULK_IN], _endpoint_buffs[EP_BULK_IN], (*_endpoint_configs)[EP_BULK_IN].max_packet);
|
||||||
write_start(_endpoints[EP_INT_IN], _endpoint_buffs[EP_INT_IN], (*_endpoint_configs)[EP_INT_IN].max_packet);
|
write_start(_endpoints[EP_INT_IN], _endpoint_buffs[EP_INT_IN], (*_endpoint_configs)[EP_INT_IN].max_packet);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
||||||
#include "stdint.h"
|
#include "stdint.h"
|
||||||
#include "USBTester.h"
|
#include "USBTester.h"
|
||||||
#include "mbed_shared_queues.h"
|
#include "mbed_shared_queues.h"
|
||||||
|
@ -57,7 +59,6 @@ USBTester::USBTester(USBPhy *phy, uint16_t vendor_id, uint16_t product_id, uint1
|
||||||
int_out = resolver.endpoint_out(USB_EP_TYPE_INT, 64);
|
int_out = resolver.endpoint_out(USB_EP_TYPE_INT, 64);
|
||||||
MBED_ASSERT(resolver.valid());
|
MBED_ASSERT(resolver.valid());
|
||||||
queue = mbed::mbed_highprio_event_queue();
|
queue = mbed::mbed_highprio_event_queue();
|
||||||
|
|
||||||
configuration_desc(0);
|
configuration_desc(0);
|
||||||
ctrl_buf = new uint8_t[CTRL_BUF_SIZE];
|
ctrl_buf = new uint8_t[CTRL_BUF_SIZE];
|
||||||
init();
|
init();
|
||||||
|
@ -703,3 +704,4 @@ void USBTester::epbulk_out_callback()
|
||||||
read_finish(bulk_out);
|
read_finish(bulk_out);
|
||||||
read_start(bulk_out, bulk_buf, sizeof(bulk_buf));
|
read_start(bulk_out, bulk_buf, sizeof(bulk_buf));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -14,6 +14,11 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] USB stack and test cases require RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
|
@ -660,3 +665,4 @@ int main()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
#endif // !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -14,6 +14,10 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] USB stack and test cases require RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#if !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
#if !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
||||||
#error [NOT_SUPPORTED] USB Device not supported for this target
|
#error [NOT_SUPPORTED] USB Device not supported for this target
|
||||||
#else
|
#else
|
||||||
|
@ -385,3 +389,4 @@ int main()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
#endif // !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -14,6 +14,11 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] USB stack and test cases require RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h> /* srand, rand */
|
#include <stdlib.h> /* srand, rand */
|
||||||
|
@ -482,3 +487,4 @@ int main()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
#endif // !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -14,6 +14,10 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
#error [NOT_SUPPORTED] USB stack and test cases require RTOS to run.
|
||||||
|
#else
|
||||||
|
|
||||||
#if !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
#if !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
||||||
#error [NOT_SUPPORTED] USB Device not supported for this target
|
#error [NOT_SUPPORTED] USB Device not supported for this target
|
||||||
#else
|
#else
|
||||||
|
@ -848,3 +852,4 @@ int main()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
#endif // !defined(DEVICE_USBDEVICE) || !DEVICE_USBDEVICE
|
||||||
|
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
|
@ -20,19 +20,7 @@
|
||||||
#include "platform/mbed_stats.h"
|
#include "platform/mbed_stats.h"
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#define THREAD_BUF_COUNT 16
|
#if defined(MBED_STACK_STATS_ENABLED) && MBED_STACK_STATS_ENABLED && defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
uint32_t entry;
|
|
||||||
uint32_t stack_size;
|
|
||||||
uint32_t max_stack;
|
|
||||||
} thread_info_t;
|
|
||||||
|
|
||||||
#if defined(MBED_STACK_STATS_ENABLED) && MBED_STACK_STATS_ENABLED
|
|
||||||
|
|
||||||
#if !defined(MBED_CONF_RTOS_PRESENT) || !(MBED_CONF_RTOS_PRESENT)
|
|
||||||
#error "RTOS required for Stack stats"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "rtos/Mutex.h"
|
#include "rtos/Mutex.h"
|
||||||
#include "rtos/Thread.h"
|
#include "rtos/Thread.h"
|
||||||
|
@ -44,6 +32,14 @@ typedef struct {
|
||||||
using namespace mbed;
|
using namespace mbed;
|
||||||
using namespace rtos;
|
using namespace rtos;
|
||||||
|
|
||||||
|
#define THREAD_BUF_COUNT 16
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
uint32_t entry;
|
||||||
|
uint32_t stack_size;
|
||||||
|
uint32_t max_stack;
|
||||||
|
} thread_info_t;
|
||||||
|
|
||||||
// Mutex to protect "buf"
|
// Mutex to protect "buf"
|
||||||
static SingletonPtr<Mutex> mutex;
|
static SingletonPtr<Mutex> mutex;
|
||||||
static char buf[128];
|
static char buf[128];
|
||||||
|
@ -57,7 +53,7 @@ static void send_CPU_info(void);
|
||||||
#if defined(MBED_HEAP_STATS_ENABLED ) && MBED_HEAP_STATS_ENABLED
|
#if defined(MBED_HEAP_STATS_ENABLED ) && MBED_HEAP_STATS_ENABLED
|
||||||
static void send_heap_info(void);
|
static void send_heap_info(void);
|
||||||
#endif
|
#endif
|
||||||
#if defined(MBED_STACK_STATS_ENABLED) && MBED_STACK_STATS_ENABLED
|
#if defined(MBED_STACK_STATS_ENABLED) && MBED_STACK_STATS_ENABLED && defined(MBED_CONF_RTOS_PRESENT)
|
||||||
static void send_stack_info(void);
|
static void send_stack_info(void);
|
||||||
static void on_thread_terminate(osThreadId_t id);
|
static void on_thread_terminate(osThreadId_t id);
|
||||||
static void enqeue_thread_info(osThreadId_t id);
|
static void enqeue_thread_info(osThreadId_t id);
|
||||||
|
@ -70,7 +66,7 @@ static uint32_t print_dec(char *buf, uint32_t value);
|
||||||
|
|
||||||
void greentea_metrics_setup()
|
void greentea_metrics_setup()
|
||||||
{
|
{
|
||||||
#if defined(MBED_STACK_STATS_ENABLED) && MBED_STACK_STATS_ENABLED
|
#if defined(MBED_STACK_STATS_ENABLED) && MBED_STACK_STATS_ENABLED && defined(MBED_CONF_RTOS_PRESENT)
|
||||||
Kernel::attach_thread_terminate_hook(on_thread_terminate);
|
Kernel::attach_thread_terminate_hook(on_thread_terminate);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -80,7 +76,7 @@ void greentea_metrics_report()
|
||||||
#if defined(MBED_HEAP_STATS_ENABLED ) && MBED_HEAP_STATS_ENABLED
|
#if defined(MBED_HEAP_STATS_ENABLED ) && MBED_HEAP_STATS_ENABLED
|
||||||
send_heap_info();
|
send_heap_info();
|
||||||
#endif
|
#endif
|
||||||
#if defined(MBED_STACK_STATS_ENABLED) && MBED_STACK_STATS_ENABLED
|
#if defined(MBED_STACK_STATS_ENABLED) && MBED_STACK_STATS_ENABLED && defined(MBED_CONF_RTOS_PRESENT)
|
||||||
send_stack_info();
|
send_stack_info();
|
||||||
Kernel::attach_thread_terminate_hook(NULL);
|
Kernel::attach_thread_terminate_hook(NULL);
|
||||||
#endif
|
#endif
|
||||||
|
@ -112,7 +108,7 @@ static void send_heap_info()
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(MBED_STACK_STATS_ENABLED) && MBED_STACK_STATS_ENABLED
|
#if defined(MBED_STACK_STATS_ENABLED) && MBED_STACK_STATS_ENABLED && defined(MBED_CONF_RTOS_PRESENT)
|
||||||
MBED_UNUSED static void send_stack_info()
|
MBED_UNUSED static void send_stack_info()
|
||||||
{
|
{
|
||||||
mutex->lock();
|
mutex->lock();
|
||||||
|
|
|
@ -787,4 +787,4 @@ static int HandleKV(char *out_key,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue