--- libbsd.py | 1 + libbsd_waf.py | 10 +++ testsuite/sdhci01/demo-shell-block-devices.h | 32 +++++++++ testsuite/sdhci01/demo-shell-minimal.h | 37 ++++++++++ testsuite/sdhci01/demo-shell.h | 44 ++++++++++++ testsuite/sdhci01/test_main.c | 104 +++++++++++++++++++++++++++ 6 files changed, 228 insertions(+) create mode 100644 testsuite/sdhci01/demo-shell-block-devices.h create mode 100644 testsuite/sdhci01/demo-shell-minimal.h create mode 100644 testsuite/sdhci01/demo-shell.h create mode 100644 testsuite/sdhci01/test_main.c
diff --git a/libbsd.py b/libbsd.py index 5927b7c..6e44f32 100755 --- a/libbsd.py +++ b/libbsd.py @@ -2544,6 +2544,7 @@ def tests(mm): mod.addTest(mm.generator['test']('timeout01', ['init', 'timeout_test'])) mod.addTest(mm.generator['test']('init01', ['test_main'])) mod.addTest(mm.generator['test']('thread01', ['test_main'])) + mod.addTest(mm.generator['test']('sdhci01', ['test_main'])) mod.addTest(mm.generator['test']('mutex01', ['test_main'])) mod.addTest(mm.generator['test']('condvar01', ['test_main'])) mod.addTest(mm.generator['test']('ppp01', ['test_main'], runTest = False)) diff --git a/libbsd_waf.py b/libbsd_waf.py index f96f402..043a01b 100644 --- a/libbsd_waf.py +++ b/libbsd_waf.py @@ -1402,6 +1402,16 @@ def build(bld): lib = ["m", "z"], install_path = None) + test_sdhci01 = ['testsuite/sdhci01/test_main.c'] + bld.program(target = "sdhci01.exe", + features = "cprogram", + cflags = cflags, + includes = includes, + source = test_sdhci01, + use = ["bsd"], + lib = ["m", "z"], + install_path = None) + test_selectpollkqueue01 = ['testsuite/selectpollkqueue01/test_main.c'] bld.program(target = "selectpollkqueue01.exe", features = "cprogram", diff --git a/testsuite/sdhci01/demo-shell-block-devices.h b/testsuite/sdhci01/demo-shell-block-devices.h new file mode 100644 index 0000000..a8f1411 --- /dev/null +++ b/testsuite/sdhci01/demo-shell-block-devices.h @@ -0,0 +1,32 @@ +/** + * @file + * + * @ingroup demo + * + * @brief Shell configuration. + */ + +/* + * Copyright (c) 2010 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * <rt...@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifndef DEMO_SHELL_BLOCK_DEVICES_H +#define DEMO_SHELL_BLOCK_DEVICES_H + +#include "demo-shell-minimal.h" + +#define CONFIGURE_SHELL_COMMAND_FDISK +#define CONFIGURE_SHELL_COMMAND_BLKSYNC +#define CONFIGURE_SHELL_COMMAND_MSDOSFMT + +#endif /* DEMO_SHELL_BLOCK_DEVICES_H */ \ No newline at end of file diff --git a/testsuite/sdhci01/demo-shell-minimal.h b/testsuite/sdhci01/demo-shell-minimal.h new file mode 100644 index 0000000..3398629 --- /dev/null +++ b/testsuite/sdhci01/demo-shell-minimal.h @@ -0,0 +1,37 @@ +/** + * @file + * + * @ingroup demo + * + * @brief Shell configuration. + */ + +/* + * Copyright (c) 2010 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * <rt...@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifndef DEMO_SHELL_MINIMAL_H +#define DEMO_SHELL_MINIMAL_H + +#define CONFIGURE_SHELL_COMMAND_CPUUSE +#define CONFIGURE_SHELL_COMMAND_PERIODUSE +#define CONFIGURE_SHELL_COMMAND_STACKUSE + +#if defined(BSP_HAS_IRQ_INFO) +#include <bsp/irq-info.h> + +#define CONFIGURE_SHELL_USER_COMMANDS \ + &bsp_interrupt_shell_command +#endif + +#endif /* DEMO_SHELL_MINIMAL_H */ \ No newline at end of file diff --git a/testsuite/sdhci01/demo-shell.h b/testsuite/sdhci01/demo-shell.h new file mode 100644 index 0000000..06b6863 --- /dev/null +++ b/testsuite/sdhci01/demo-shell.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @ingroup demo + * + * @brief Shell configuration. + */ + +/* + * Copyright (c) 2010 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * <rt...@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifndef DEMO_SHELL_H +#define DEMO_SHELL_H + +#include "demo-shell-minimal.h" + +#define CONFIGURE_SHELL_COMMAND_CP +#define CONFIGURE_SHELL_COMMAND_PWD +#define CONFIGURE_SHELL_COMMAND_LS +#define CONFIGURE_SHELL_COMMAND_CHDIR +#define CONFIGURE_SHELL_COMMAND_CD +#define CONFIGURE_SHELL_COMMAND_MKDIR +#define CONFIGURE_SHELL_COMMAND_RMDIR +#define CONFIGURE_SHELL_COMMAND_CAT +#define CONFIGURE_SHELL_COMMAND_MV +#define CONFIGURE_SHELL_COMMAND_RM + +#define CONFIGURE_SHELL_COMMAND_MALLOC_INFO +#define CONFIGURE_SHELL_COMMAND_WKSPACE_INFO + +#define CONFIGURE_SHELL_COMMAND_RTC + +#endif /* DEMO_SHELL_H */ \ No newline at end of file diff --git a/testsuite/sdhci01/test_main.c b/testsuite/sdhci01/test_main.c new file mode 100644 index 0000000..a8f80bf --- /dev/null +++ b/testsuite/sdhci01/test_main.c @@ -0,0 +1,104 @@ +/* + * This is the body of the test. It does not do much except ensure + * that the target is alive after initializing the TCP/IP stack. + */ + +#include <assert.h> +#include <inttypes.h> +#include <pthread.h> +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> +//#include <bsp/nexus-devices.h> + +#include <rtems.h> +#include <rtems/media.h> +#include <rtems/chain.h> +#include <rtems/libio_.h> +#include <rtems/shell.h> +#include <rtems/console.h> +#include <rtems/diskdevs.h> +#include <rtems/bsd/bsd.h> + +#define TEST_NAME "LIBBSD SDHCI 01" +#define ASSERT_SC(sc) assert((sc) == RTEMS_SUCCESSFUL) + +static void test_main(void) +{ + rtems_status_code sc = RTEMS_SUCCESSFUL; + sc = rtems_disk_io_initialize(); + ASSERT_SC(sc); + + sc = rtems_shell_init( + "SHLL", + 16 * 1024, + 10, + CONSOLE_DEVICE_NAME, + false, + true, + NULL + ); + ASSERT_SC(sc); + exit( 0 ); +} + +/* for old configuration structure */ +#include <rtems/rtems_bsdnet.h> + +/* + * Network configuration + */ +struct rtems_bsdnet_config rtems_bsdnet_config = { + NULL, /* Network interface */ + NULL, /* Use fixed network configuration */ + 0, /* Default network task priority */ + 0, /* Default mbuf capacity */ + 0, /* Default mbuf cluster capacity */ + "testSystem", /* Host name */ + "nowhere.com", /* Domain name */ + "127.0.0.1", /* Gateway */ + "127.0.0.1", /* Log host */ + {"127.0.0.1" }, /* Name server(s) */ + {"127.0.0.1" }, /* NTP server(s) */ + 0, + 0, + 0, + 0, + 0 +}; + + +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK + +#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM + +#define CONFIGURE_FILESYSTEM_IMFS +#define CONFIGURE_FILESYSTEM_DOSFS + +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 32 + +#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 + +#define CONFIGURE_UNLIMITED_OBJECTS + +#define CONFIGURE_UNIFIED_WORK_AREAS + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE + +#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT + +#define CONFIGURE_STACK_CHECKER_ENABLED + +#define CONFIGURE_INIT + +#include <rtems/confdefs.h> + +#define CONFIGURE_SHELL_COMMANDS_INIT + +#include "demo-shell.h" +#include "demo-shell-block-devices.h" +#include <rtems/shellconfig.h> + +#include <rtems/bsd/test/default-init.h> -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel