summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-06-26 01:18:24 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-06-26 01:18:24 +0000
commite3cd548e74e0b64e83693e5029ff2d3bb981cafc (patch)
tree8a0e84db7b83105da2a67edb14beb46afd6b382b /nuttx
parentfb4ebc7c6497d852505ccd41b80824cb40b2e853 (diff)
downloadpx4-nuttx-e3cd548e74e0b64e83693e5029ff2d3bb981cafc.tar.gz
px4-nuttx-e3cd548e74e0b64e83693e5029ff2d3bb981cafc.tar.bz2
px4-nuttx-e3cd548e74e0b64e83693e5029ff2d3bb981cafc.zip
NXFLAT doesn't set bit 0 in the entry point address
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1958 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/arch/arm/src/cortexm3/up_initialstate.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/cortexm3/up_initialstate.c b/nuttx/arch/arm/src/cortexm3/up_initialstate.c
index 9bf65bf57..951ce1a95 100644
--- a/nuttx/arch/arm/src/cortexm3/up_initialstate.c
+++ b/nuttx/arch/arm/src/cortexm3/up_initialstate.c
@@ -110,6 +110,16 @@ void up_initial_state(_TCB *tcb)
xcp->regs[REG_PIC] = (uint32)tcb->dspace->region;
}
+
+ /* Make certain that bit 0 is set in the main entry address. This
+ * is only an issue when NXFLAT is enabled. NXFLAT doesn't know
+ * anything about thumb; the addresses that NXFLAT sets are based
+ * on file header info and won't have bit 0 set.
+ */
+
+#ifdef CONFIG_NXFLAT
+ tcb->entry.main = (main_t)((uint32)tcb->entry.main | 1);
+#endif
#endif
/* Enable or disable interrupts, based on user configuration */