From 7bc6a69f461c9bed82608220960682f3090f742c Mon Sep 17 00:00:00 2001 From: patacongo Date: Fri, 26 Oct 2012 19:53:20 +0000 Subject: ARM and ARMv7-M ELF support; STM32F4Discovery ELF loader test configuration git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5264 42af7a65-404d-4744-a932-0658087f49c3 --- apps/examples/README.txt | 4 ++-- apps/examples/elf/tests/longjmp/longjmp.c | 4 ++++ apps/examples/elf/tests/signal/signal.c | 12 ++++++------ apps/examples/nxflat/tests/longjmp/longjmp.c | 4 ++++ apps/examples/nxflat/tests/signal/signal.c | 13 +++++++------ 5 files changed, 23 insertions(+), 14 deletions(-) (limited to 'apps/examples') diff --git a/apps/examples/README.txt b/apps/examples/README.txt index 95d49a3fb..bfb92b6b7 100644 --- a/apps/examples/README.txt +++ b/apps/examples/README.txt @@ -333,8 +333,8 @@ examples/elf include the path to the genromfs executable. 3. ELF size: The ELF files in this example are, be default, quite large - because they include a lot of "build garbage". You can greately reduce the - size of the ELF binaries are using the objcopy --strip-unneeded command to + because they include a lot of "build garbage". You can greatly reduce the + size of the ELF binaries are using the 'objcopy --strip-unneeded' command to remove un-necessary information from the ELF files. 4. Simulator. You cannot use this example with the the NuttX simulator on diff --git a/apps/examples/elf/tests/longjmp/longjmp.c b/apps/examples/elf/tests/longjmp/longjmp.c index 2993c24dc..74d5594c4 100644 --- a/apps/examples/elf/tests/longjmp/longjmp.c +++ b/apps/examples/elf/tests/longjmp/longjmp.c @@ -74,6 +74,10 @@ static int leaf(int *some_arg) printf("leaf: Calling longjmp() with %d\n", some_local_variable); longjmp(env, some_local_variable); + + /* We should not get here */ + + return -ERROR; } static int function(int some_arg) diff --git a/apps/examples/elf/tests/signal/signal.c b/apps/examples/elf/tests/signal/signal.c index 80d8c18ad..0d2e9e6cc 100644 --- a/apps/examples/elf/tests/signal/signal.c +++ b/apps/examples/elf/tests/signal/signal.c @@ -93,7 +93,7 @@ void sigusr1_sighandler(int signo) void sigusr2_sigaction(int signo, siginfo_t *siginfo, void *arg) { printf("sigusr2_sigaction: Received SIGUSR2, signo=%d siginfo=%p arg=%p\n", - signo, siginfo, arg); + signo, siginfo, arg); #ifdef HAVE_SIGQUEUE if (siginfo) @@ -163,7 +163,7 @@ int main(int argc, char **argv) if (old_sigusr1_sighandler == SIG_ERR) { fprintf(stderr, "Failed to install SIGUSR1 handler, errno=%d\n", - errno); + errno); exit(1); } @@ -182,7 +182,7 @@ int main(int argc, char **argv) if (status != 0) { fprintf(stderr, "Failed to install SIGUSR2 handler, errno=%d\n", - errno); + errno); exit(2); } @@ -263,7 +263,7 @@ int main(int argc, char **argv) if (old_sigusr2_sighandler == SIG_ERR) { fprintf(stderr, "Failed to install SIGUSR2 handler, errno=%d\n", - errno); + errno); exit(7); } @@ -275,8 +275,8 @@ int main(int argc, char **argv) if ((void*)old_sigusr2_sighandler != (void*)sigusr2_sigaction) { fprintf(stderr, - "Old SIGUSR2 signhanlder (%p) is not sigusr2_sigation (%p)\n", - old_sigusr2_sighandler, sigusr2_sigaction); + "Old SIGUSR2 signhanlder (%p) is not sigusr2_sigation (%p)\n", + old_sigusr2_sighandler, sigusr2_sigaction); exit(8); } diff --git a/apps/examples/nxflat/tests/longjmp/longjmp.c b/apps/examples/nxflat/tests/longjmp/longjmp.c index 85571261c..f43096514 100644 --- a/apps/examples/nxflat/tests/longjmp/longjmp.c +++ b/apps/examples/nxflat/tests/longjmp/longjmp.c @@ -74,6 +74,10 @@ static int leaf(int *some_arg) printf("leaf: Calling longjmp() with %d\n", some_local_variable); longjmp(env, some_local_variable); + + /* We should not get here */ + + return -ERROR; } static int function(int some_arg) diff --git a/apps/examples/nxflat/tests/signal/signal.c b/apps/examples/nxflat/tests/signal/signal.c index 95415fc87..2df5baaa2 100644 --- a/apps/examples/nxflat/tests/signal/signal.c +++ b/apps/examples/nxflat/tests/signal/signal.c @@ -38,6 +38,7 @@ ****************************************************************************/ #include + #include #include #include @@ -93,7 +94,7 @@ void sigusr1_sighandler(int signo) void sigusr2_sigaction(int signo, siginfo_t *siginfo, void *arg) { printf("sigusr2_sigaction: Received SIGUSR2, signo=%d siginfo=%p arg=%p\n", - signo, siginfo, arg); + signo, siginfo, arg); #ifdef HAVE_SIGQUEUE if (siginfo) @@ -163,7 +164,7 @@ int main(int argc, char **argv) if (old_sigusr1_sighandler == SIG_ERR) { fprintf(stderr, "Failed to install SIGUSR1 handler, errno=%d\n", - errno); + errno); exit(1); } @@ -182,7 +183,7 @@ int main(int argc, char **argv) if (status != 0) { fprintf(stderr, "Failed to install SIGUSR2 handler, errno=%d\n", - errno); + errno); exit(2); } @@ -263,7 +264,7 @@ int main(int argc, char **argv) if (old_sigusr2_sighandler == SIG_ERR) { fprintf(stderr, "Failed to install SIGUSR2 handler, errno=%d\n", - errno); + errno); exit(7); } @@ -275,8 +276,8 @@ int main(int argc, char **argv) if ((void*)old_sigusr2_sighandler != (void*)sigusr2_sigaction) { fprintf(stderr, - "Old SIGUSR2 signhanlder (%p) is not sigusr2_sigation (%p)\n", - old_sigusr2_sighandler, sigusr2_sigaction); + "Old SIGUSR2 signhanlder (%p) is not sigusr2_sigation (%p)\n", + old_sigusr2_sighandler, sigusr2_sigaction); exit(8); } -- cgit v1.2.3