diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-12-11 23:46:08 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-12-11 23:46:08 +0000 |
commit | f482801a71b3c57e0fba6443076850a0b1a90691 (patch) | |
tree | 36deded3aec57642751b13b061b2534930644344 /nuttx/arch/hc | |
parent | 85e0e91f408ee6c26e6eeb07742a73d3871215ce (diff) | |
download | px4-nuttx-f482801a71b3c57e0fba6443076850a0b1a90691.tar.gz px4-nuttx-f482801a71b3c57e0fba6443076850a0b1a90691.tar.bz2 px4-nuttx-f482801a71b3c57e0fba6443076850a0b1a90691.zip |
Add banked and non-banked configurations
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2322 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/hc')
-rwxr-xr-x | nuttx/arch/hc/src/mc9s12ne64/mc9s12ne64_start.S | 48 | ||||
-rwxr-xr-x | nuttx/arch/hc/src/mc9s12ne64/mc9s12ne64_vectors.S | 24 |
2 files changed, 36 insertions, 36 deletions
diff --git a/nuttx/arch/hc/src/mc9s12ne64/mc9s12ne64_start.S b/nuttx/arch/hc/src/mc9s12ne64/mc9s12ne64_start.S index c99ca3a15..34823f307 100755 --- a/nuttx/arch/hc/src/mc9s12ne64/mc9s12ne64_start.S +++ b/nuttx/arch/hc/src/mc9s12ne64/mc9s12ne64_start.S @@ -94,6 +94,15 @@ movb #INITRM_MAP, HCS12_MMC_INITRM /* Set RAM position to 0x2000-0x3fff */ movb #INITEE_EE, HCS12_MMC_INITEE /* Set EEPROM position to 0x0800 */ + + /* In the non-banked mode, PPAGE is set to 0x3d to create a contiguous, 48Kb + * .text address space. + */ + +#ifdef CONFIG_HCS12_NONBANKED + movb #0x3d, HCS12_MMC_PPAGE +#endif + movb #MMC_MISC_ROMON, HCS12_MMC_MISC /* MISC: EXSTR1=0 EXSTR0=0 ROMHM=0 ROMON=1 */ .endm @@ -188,7 +197,11 @@ __start: /* Now, start the OS */ showprogress '\n' +#ifdef CONFIG_HCS12_NONBANKED + jsr os_start +#else call os_start +#endif bra __start /* Variables: @@ -201,32 +214,37 @@ __start: */ .Lsbss: - .long _sbss + .hword _sbss .Lebss: - .long _ebss + .hword _ebss .Lstackbase: .hword _ebss+CONFIG_IDLETHREAD_STACKSIZE-4 .Leronly: - .long _eronly /* Where .data defaults are stored in FLASH */ + .hword _eronly /* Where .data defaults are stored in FLASH */ .Lsdata: - .long _sdata /* Where .data needs to reside in SDRAM */ + .hword _sdata /* Where .data needs to reside in SDRAM */ .Ledata: - .long _edata + .hword _edata .size __start, .-__start - /* This global variable is unsigned long g_heapbase and is - * exported from here only because of its coupling to LCO - * above. - */ - .data - .align 4 +/************************************************************************************ + * .rodata + ************************************************************************************/ + + .section .rodata, "a" + +/* Variables: _sbss is the start of the BSS region (see ld.script) _ebss is the end + * of the BSS regsion (see ld.script). The idle task stack starts at the end of BSS + * and is of size CONFIG_IDLETHREAD_STACKSIZE. The IDLE thread is the thread that + * the system boots on and, eventually, becomes the idle, do nothing task that runs + * only when there is nothing else to run. The heap continues from there until the + * end of memory. See g_heapbase below. + */ + .globl g_heapbase .type g_heapbase, object g_heapbase: - .long _ebss+CONFIG_IDLETHREAD_STACKSIZE + .hword _ebss+CONFIG_IDLETHREAD_STACKSIZE .size g_heapbase, .-g_heapbase - - .end - .end diff --git a/nuttx/arch/hc/src/mc9s12ne64/mc9s12ne64_vectors.S b/nuttx/arch/hc/src/mc9s12ne64/mc9s12ne64_vectors.S index 47d793ba0..b21f53b62 100755 --- a/nuttx/arch/hc/src/mc9s12ne64/mc9s12ne64_vectors.S +++ b/nuttx/arch/hc/src/mc9s12ne64/mc9s12ne64_vectors.S @@ -197,6 +197,9 @@ vcommon: .size handlers, .-handlers /************************************************************************************ + * .bss + ************************************************************************************/ +/************************************************************************************ * Name: up_interruptstack/g_userstack * * Description: @@ -212,26 +215,5 @@ up_interruptstack: up_interruptstack_base: .size up_interruptstack, .-up_interruptstack #endif - -/************************************************************************************ - * .rodata - ************************************************************************************/ - - .section .rodata, "a" - -/* Variables: _sbss is the start of the BSS region (see ld.script) _ebss is the end - * of the BSS regsion (see ld.script). The idle task stack starts at the end of BSS - * and is of size CONFIG_IDLETHREAD_STACKSIZE. The IDLE thread is the thread that - * the system boots on and, eventually, becomes the idle, do nothing task that runs - * only when there is nothing else to run. The heap continues from there until the - * end of memory. See g_heapbase below. - */ - - .globl g_heapbase - .type g_heapbase, object -g_heapbase: - .long _ebss+CONFIG_IDLETHREAD_STACKSIZE - .size g_heapbase, .-g_heapbase - .end |