Rework of kernel build signal dispatch to user-space handlers

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5778 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2013-03-23 14:46:02 +00:00
parent 569bd582f6
commit 983a9dca49
6 changed files with 33 additions and 16 deletions

View File

@ -111,7 +111,7 @@ const struct userspace_s userspace __attribute__ ((section (".userspace"))) =
/* Signal handler trampoline */
#ifndef CONFIG_DISABLE_SIGNALS
.signal_handler = signal_handler,
.signal_handler = up_signal_handler,
#endif
/* Memory manager entry points (declared in include/nuttx/mm.h) */

View File

@ -51,10 +51,14 @@
*
* This alignment requirement means that the largest user space FLASH region
* you can have will be 256KB at it would have to be positioned at
* 0x00400000. If you change this address, don't forget to chagne the
* 0x00400000. If you change this address, don't forget to change the
* CONFIG_NUTTX_USERSPACE configuration setting to match and to modify
* the check in kernel/userspace.c.
*
* For the same reasons, the maximum size of the SRAM mapping is limited to
* 4KB. Both of these alignment limitations could be reduced by using
* multiple regions to map the FLASH/SDRAM range.
*
* A detailed memory map for the 64KB CPU SRAM region is as follows:
*
* 0x10000 0000: Kernel .data region. Typical size: 0.1KB
@ -76,12 +80,14 @@ MEMORY
/* 256Kb FLASH */
kflash (rx) : ORIGIN = 0x00000000, LENGTH = 64K
uflash (rx) : ORIGIN = 0x00010000, LENGTH = 448K
uflash (rx) : ORIGIN = 0x00010000, LENGTH = 64K
xflash (rx) : ORIGIN = 0x00010000, LENGTH = 384K
/* 64Kb of SRAM in the CPU block */
ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 4K
usram (rwx) : ORIGIN = 0x10001000, LENGTH = 60K
usram (rwx) : ORIGIN = 0x10001000, LENGTH = 4K
xsram (rwx) : ORIGIN = 0x10001000, LENGTH = 56K
/* Other peripheral memory (free, nothing is linked here) */

View File

@ -111,7 +111,7 @@ const struct userspace_s userspace __attribute__ ((section (".userspace"))) =
/* Signal handler trampoline */
#ifndef CONFIG_DISABLE_SIGNALS
.signal_handler = signal_handler,
.signal_handler = up_signal_handler,
#endif
/* Memory manager entry points (declared in include/nuttx/mm.h) */

View File

@ -51,11 +51,15 @@
* requirement also increases.
*
* This alignment requirement means that the largest user space FLASH region
* you can have will be 2128KB at it would have to be positioned at
* 0x000a0000. If you change this address, don't forget to chagne the
* you can have will be 128KB at it would have to be positioned at
* 0x000a0000. If you change this address, don't forget to change the
* CONFIG_NUTTX_USERSPACE configuration setting to match and to modify
* the check in kernel/userspace.c.
*
* For the same reasons, the maximum size of the SRAM mapping is limited to
* 4KB. Both of these alignment limitations could be reduced by using
* multiple regions to map the FLASH/SDRAM range.
*
* A detailed memory map for the 16Kb SRAM region is as follows:
*
* 0x20000 0000: Kernel .data region. Typical size: 0.1KB
@ -77,12 +81,14 @@ MEMORY
/* 256Kb FLASH */
kflash (rx) : ORIGIN = 0x00080000, LENGTH = 64K
uflash (rx) : ORIGIN = 0x00090000, LENGTH = 192K
uflash (rx) : ORIGIN = 0x00090000, LENGTH = 64K
xflash (rx) : ORIGIN = 0x000a0000, LENGTH = 128K
/* 32Kb SRAM */
ksram1 (rwx) : ORIGIN = 0x20000000, LENGTH = 4K
usram1 (rwx) : ORIGIN = 0x20001000, LENGTH = 28K
usram1 (rwx) : ORIGIN = 0x20001000, LENGTH = 4K
xsram1 (rwx) : ORIGIN = 0x20001000, LENGTH = 24K
/* 16Kb SRAM */

View File

@ -111,7 +111,7 @@ const struct userspace_s userspace __attribute__ ((section (".userspace"))) =
/* Signal handler trampoline */
#ifndef CONFIG_DISABLE_SIGNALS
.signal_handler = signal_handler,
.signal_handler = up_signal_handler,
#endif
/* Memory manager entry points (declared in include/nuttx/mm.h) */

View File

@ -42,8 +42,7 @@
*
* When booting from FLASH, FLASH memory is aliased to address 0x0000:0000
* where the code expects to begin execution by jumping to the entry point in
* the 0x0800:0000 address
* range.
* the 0x0800:0000 address range.
*
* For MPU support, the kernel-mode NuttX section is assumed to be 128Kb of
* FLASH and 4Kb of SRAM. That is an excessive amount for the kernel which
@ -60,10 +59,14 @@
*
* This alignment requirement means that the largest user space FLASH region
* you can have will be 512KB at it would have to be positioned at
* 0x08800000. If you change this address, don't forget to chagne the
* 0x08800000. If you change this address, don't forget to change the
* CONFIG_NUTTX_USERSPACE configuration setting to match and to modify
* the check in kernel/userspace.c.
*
* For the same reasons, the maximum size of the SRAM mapping is limited to
* 4KB. Both of these alignment limitations could be reduced by using
* multiple regions to map the FLASH/SDRAM range.
*
* A detailed memory map for the 112KB SRAM region is as follows:
*
* 0x20000 0000: Kernel .data region. Typical size: 0.1KB
@ -74,7 +77,7 @@
* ------- ---- Padded to 4KB
* 0x20000 1000: User .data region. Size is variable.
* ------- ---- User .bss region Size is variable.
* ------- ---- Beginning of kernel heap. Size determined by
* 0x20000 2000: Beginning of kernel heap. Size determined by
* CONFIG_MM_KERNEL_HEAPSIZE.
* ------- ---- Beginning of user heap. Can vary with other settings.
* 0x20001 c000: End+1 of CPU RAM
@ -85,10 +88,12 @@ MEMORY
/* 1024Kb FLASH */
kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K
uflash (rx) : ORIGIN = 0x08020000, LENGTH = 896K
uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K
xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K
/* 112Kb of contiguous SRAM */
ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K
usram (rwx) : ORIGIN = 0x20001000, LENGTH = 108K
usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K
xsram (rwx) : ORIGIN = 0x20001000, LENGTH = 104K
}