Squashed commit of the following:

Author: Xiang Xiao <xiaoxiang@xiaomi.com>

     arch/arm/src/armv7-m:  Implement SYSTICK timer driver

   Author: anchao <anchao@pinecone.net>

     configs/sim/loadable:  Add loadable demo for arch sim
     sched/init: Restore previously reverted option to mount block device for INIT_FILEPATH case
     configs/stm3240g-eval/knxwm: Fix build breakage.

   Author: Gregory Nutt <gnutt@nuttx.org>
     configs:  With recent changes to apps/ all configurations that build applications as modules must now also select CONFIG_APPS_LOADABLE.

   Author: anchao <anchao@pinecone.net>
      configs/sim/loadable:  Add loadable demo for arch sim
       Kconfig and tools/Makefile.unix and : add dynamic application loadable support
This commit is contained in:
anchao
2018-08-23 11:08:22 -06:00
committed by Gregory Nutt
parent 22a44465e4
commit 95163b2c59
12 changed files with 83 additions and 17 deletions
+13 -4
View File
@@ -45,7 +45,9 @@
#include <sched.h>
#include <stdlib.h>
#include <string.h>
#include <debug.h>
#include <sys/mount.h>
#include <nuttx/arch.h>
#include <nuttx/board.h>
@@ -98,10 +100,6 @@
* program.
*/
# ifndef CONFIG_BOARD_INITIALIZE
# warning You probably need CONFIG_BOARD_INITIALIZE to mount the file system
# endif
# ifndef CONFIG_USER_INITPATH
/* Path to the initialization program must have been provided */
@@ -287,6 +285,16 @@ static inline void os_do_appstart(void)
board_initialize();
#endif
#ifdef CONFIG_INIT_MOUNT
/* Mount the file system containing the init program. */
ret = mount(CONFIG_INIT_MOUNT_SOURCE, CONFIG_INIT_MOUNT_TARGET,
CONFIG_INIT_MOUNT_FSTYPE, CONFIG_INIT_MOUNT_FLAGS,
CONFIG_INIT_MOUNT_DATA);
DEBUGASSERT(ret >= 0);
UNUSED(ret);
#endif
/* Start the application initialization program from a program in a
* mounted file system. Presumably the file system was mounted as part
* of the board_initialize() operation.
@@ -297,6 +305,7 @@ static inline void os_do_appstart(void)
ret = exec(CONFIG_USER_INITPATH, NULL, CONFIG_INIT_SYMTAB,
CONFIG_INIT_NEXPORTS);
ASSERT(ret >= 0);
UNUSED(ret);
}
#elif defined(CONFIG_INIT_NONE)