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:
parent
569bd582f6
commit
983a9dca49
@ -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) */
|
||||
|
@ -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) */
|
||||
|
||||
|
@ -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) */
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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) */
|
||||
|
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user