diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-06-26 01:18:24 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-06-26 01:18:24 +0000 |
commit | e3cd548e74e0b64e83693e5029ff2d3bb981cafc (patch) | |
tree | 8a0e84db7b83105da2a67edb14beb46afd6b382b /nuttx/arch | |
parent | fb4ebc7c6497d852505ccd41b80824cb40b2e853 (diff) | |
download | px4-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/arch')
-rw-r--r-- | nuttx/arch/arm/src/cortexm3/up_initialstate.c | 10 |
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 */ |