mirror of
https://github.com/apache/nuttx.git
synced 2026-06-04 14:53:47 +08:00
configs/ea3131/pgnsh: Configuration converted to use the kconfig-frontends tools
This commit is contained in:
@@ -6880,3 +6880,10 @@
|
|||||||
kconfig-frontends tools (2014-3-5)
|
kconfig-frontends tools (2014-3-5)
|
||||||
* configs/ntosd-dm320/uip: Configuration converted to use the
|
* configs/ntosd-dm320/uip: Configuration converted to use the
|
||||||
kconfig-frontends tools (2014-3-5)
|
kconfig-frontends tools (2014-3-5)
|
||||||
|
* configs/ea3131/pgnsh: Configuration converted to use the
|
||||||
|
kconfig-frontends tools (2014-3-5)
|
||||||
|
* arch/Kconfig, arch/arm/Kconfig, configs/ea3131/Kconfig,
|
||||||
|
configs/ea3131/pgnsh/defconfig, configs/ea3131/src/up_fillpage.c,
|
||||||
|
configs/ea3152/Kconfig, nuttx/configs/ea3152/src/up_fillpage.c,
|
||||||
|
include/nuttx/page.h, and tools/cfgdefine.c: Add configuration
|
||||||
|
settings for the on-demand paging option (2014-3-5).
|
||||||
|
|||||||
+55
-28
@@ -221,7 +221,7 @@ Image Format
|
|||||||
- mklpc.sh # Make the bootloader binary (nuttx.lpc)
|
- mklpc.sh # Make the bootloader binary (nuttx.lpc)
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
|
|
||||||
1. setenv.sh just sets up pathes to the toolchain and also to
|
1. setenv.sh just sets up pathes to the toolchain and also to
|
||||||
configs/ea3131/tools where mklpc.sh resides. Use of setenv.sh is optional.
|
configs/ea3131/tools where mklpc.sh resides. Use of setenv.sh is optional.
|
||||||
If you don't use setenv.sh, then just set your PATH variable appropriately or
|
If you don't use setenv.sh, then just set your PATH variable appropriately or
|
||||||
@@ -267,7 +267,7 @@ Using OpenOCD and GDB
|
|||||||
I used to start the OpenOCD daemon on my system called oocd.sh. That
|
I used to start the OpenOCD daemon on my system called oocd.sh. That
|
||||||
script would probably require some modifications to work in another
|
script would probably require some modifications to work in another
|
||||||
environment:
|
environment:
|
||||||
|
|
||||||
- possibly the value of OPENOCD_PATH
|
- possibly the value of OPENOCD_PATH
|
||||||
- If you are working under Linux you will need to change any
|
- If you are working under Linux you will need to change any
|
||||||
occurances of `cygpath -w blablabla` to just blablabla
|
occurances of `cygpath -w blablabla` to just blablabla
|
||||||
@@ -312,7 +312,7 @@ On-Demand Paging
|
|||||||
L1 page table. That leaves 96x1Kb virtual pages in the middle of SRAM for
|
L1 page table. That leaves 96x1Kb virtual pages in the middle of SRAM for
|
||||||
the paged memory region; up to 384x1kb of physical pages may be paged into
|
the paged memory region; up to 384x1kb of physical pages may be paged into
|
||||||
this region. Physical memory map:
|
this region. Physical memory map:
|
||||||
|
|
||||||
11028000 "locked" text region 48x1Kb
|
11028000 "locked" text region 48x1Kb
|
||||||
11034000 "paged" text region 96x1Kb
|
11034000 "paged" text region 96x1Kb
|
||||||
1104c000 "data" region 32x1Kb
|
1104c000 "data" region 32x1Kb
|
||||||
@@ -332,13 +332,13 @@ On-Demand Paging
|
|||||||
The L1 contains a single 1Mb entry to span the entire LPC3131 SRAM memory
|
The L1 contains a single 1Mb entry to span the entire LPC3131 SRAM memory
|
||||||
region. The virtual address for this region is 0x11028000. The offset into
|
region. The virtual address for this region is 0x11028000. The offset into
|
||||||
the L1 page table is given by:
|
the L1 page table is given by:
|
||||||
|
|
||||||
offset = ((0x11028000 >> 20) << 2) = 0x00000440
|
offset = ((0x11028000 >> 20) << 2) = 0x00000440
|
||||||
|
|
||||||
The value at that offset into the L1 page table contains the address of the
|
The value at that offset into the L1 page table contains the address of the
|
||||||
L2 page table (0x11056000) plus some extra bits to specify that that entry
|
L2 page table (0x11056000) plus some extra bits to specify that that entry
|
||||||
is valid and and points to a 1Kb L1 page table:
|
is valid and and points to a 1Kb L1 page table:
|
||||||
|
|
||||||
11054440 11056013
|
11054440 11056013
|
||||||
|
|
||||||
Why is the address 11056000 used for the address of the L2 page table? Isn't
|
Why is the address 11056000 used for the address of the L2 page table? Isn't
|
||||||
@@ -355,7 +355,7 @@ On-Demand Paging
|
|||||||
Only only L2 page table will be used to span the LPC3131 SRAM virtual text
|
Only only L2 page table will be used to span the LPC3131 SRAM virtual text
|
||||||
address region (480x1Kb). That one entry maps the virtual address range of
|
address region (480x1Kb). That one entry maps the virtual address range of
|
||||||
0x11000000 through 0x110ffc00. Each entry maps a 1Kb page of physical memory:
|
0x11000000 through 0x110ffc00. Each entry maps a 1Kb page of physical memory:
|
||||||
|
|
||||||
PAGE VIRTUAL ADDR L2 OFFSET
|
PAGE VIRTUAL ADDR L2 OFFSET
|
||||||
--------- ------------ ---------
|
--------- ------------ ---------
|
||||||
Page 0 0x11000000 0x00000000
|
Page 0 0x11000000 0x00000000
|
||||||
@@ -363,10 +363,10 @@ On-Demand Paging
|
|||||||
Page 2 0x11000800 0x00000008
|
Page 2 0x11000800 0x00000008
|
||||||
...
|
...
|
||||||
Page 1023 0x110ffc00 0x00000ffc
|
Page 1023 0x110ffc00 0x00000ffc
|
||||||
|
|
||||||
The "locked" text region begins at an offset of 0x00028000 into that region.
|
The "locked" text region begins at an offset of 0x00028000 into that region.
|
||||||
The 48 page table entries needed to make this region begin at:
|
The 48 page table entries needed to make this region begin at:
|
||||||
|
|
||||||
offset = ((0x00028000 >> 10) << 2) = 0x00000280
|
offset = ((0x00028000 >> 10) << 2) = 0x00000280
|
||||||
|
|
||||||
Each entry contains the address of a physical page in the "locked" text region
|
Each entry contains the address of a physical page in the "locked" text region
|
||||||
@@ -378,8 +378,8 @@ On-Demand Paging
|
|||||||
...
|
...
|
||||||
|
|
||||||
The locked region is initially unmapped. But the data region and page table
|
The locked region is initially unmapped. But the data region and page table
|
||||||
regions must be mapped in a similar manner. Those
|
regions must be mapped in a similar manner. Those
|
||||||
|
|
||||||
Data:
|
Data:
|
||||||
Virtual address = 0x11094000 Offset = 0x00064000
|
Virtual address = 0x11094000 Offset = 0x00064000
|
||||||
Physical address = 0x1104c000
|
Physical address = 0x1104c000
|
||||||
@@ -428,7 +428,7 @@ On-Demand Paging
|
|||||||
basic procedure is already documented in NXP publications: "LPC313x
|
basic procedure is already documented in NXP publications: "LPC313x
|
||||||
Linux Quick Start Guide, Version 2.0" and "AN10811 Programming SPI
|
Linux Quick Start Guide, Version 2.0" and "AN10811 Programming SPI
|
||||||
flash on EA3131 boards, V1 (May 1, 2009)." That procedure may be
|
flash on EA3131 boards, V1 (May 1, 2009)." That procedure may be
|
||||||
sufficient, depending on the decisions made in (1) and (2):
|
sufficient, depending on the decisions made in (1) and (2):
|
||||||
4. Develop a procedure to boot the locked text image from SPI NOR.
|
4. Develop a procedure to boot the locked text image from SPI NOR.
|
||||||
The references and issues related to this are discussed in (2)
|
The references and issues related to this are discussed in (2)
|
||||||
and (3) above.
|
and (3) above.
|
||||||
@@ -442,7 +442,7 @@ On-Demand Paging
|
|||||||
CONFIG_PAGING_M25PX=y
|
CONFIG_PAGING_M25PX=y
|
||||||
|
|
||||||
NOTE: See the TODO list in the top-level directory:
|
NOTE: See the TODO list in the top-level directory:
|
||||||
|
|
||||||
"arch/arm/src/lpc31xx/lpc31_spi.c may or may not be functional. It was
|
"arch/arm/src/lpc31xx/lpc31_spi.c may or may not be functional. It was
|
||||||
reported to be working, but I was unable to get it working with the
|
reported to be working, but I was unable to get it working with the
|
||||||
Atmel at45dbxx serial FLASH driver."
|
Atmel at45dbxx serial FLASH driver."
|
||||||
@@ -474,7 +474,7 @@ On-Demand Paging
|
|||||||
1. You would still have to boot the locked section over serial or
|
1. You would still have to boot the locked section over serial or
|
||||||
using a bootloader -- it is not clear how the power up boot
|
using a bootloader -- it is not clear how the power up boot
|
||||||
would occur. For testing, the nuttx.bin file could be both
|
would occur. For testing, the nuttx.bin file could be both
|
||||||
provided on the SD card and loaded over serial.
|
provided on the SD card and loaded over serial.
|
||||||
2. If the SD card is not in place, the system will crash.
|
2. If the SD card is not in place, the system will crash.
|
||||||
3. This means that all of the file system logic and FAT file
|
3. This means that all of the file system logic and FAT file
|
||||||
system would have to reside in the locked text region.
|
system would have to reside in the locked text region.
|
||||||
@@ -603,17 +603,41 @@ ARM/EA3131-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each EA3131 configuration is maintained in a sub-directory and can be
|
Common Configuration Notes
|
||||||
selected as follow:
|
--------------------------
|
||||||
|
|
||||||
cd tools
|
1. Each EA3131 configuration is maintained in a sub-directory and
|
||||||
./configure.sh ea3131/<subdir>
|
can be selected as follow:
|
||||||
cd -
|
|
||||||
. ./setenv.sh
|
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
cd tools
|
||||||
|
./configure.sh ea3131/<subdir>
|
||||||
|
cd -
|
||||||
|
. ./setenv.sh
|
||||||
|
|
||||||
|
Where <subdir> is one of the configuration sub-directories described in
|
||||||
|
the following paragraph.
|
||||||
|
|
||||||
|
2. These configurations use the mconf-based configuration tool. To
|
||||||
|
change a configurations using that tool, you should:
|
||||||
|
|
||||||
|
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
|
||||||
|
and misc/tools/
|
||||||
|
|
||||||
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
|
reconfiguration process.
|
||||||
|
|
||||||
|
3. By default, all configurations assume the CodeSourcery toolchain
|
||||||
|
under Cygwin with Windows. This is easily reconfigured, however:
|
||||||
|
|
||||||
|
CONFIG_HOST_WINDOWS=y
|
||||||
|
CONFIG_WINDOWS_CYGWIN=y
|
||||||
|
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
|
||||||
|
|
||||||
|
Configuration Sub-Directories
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
locked:
|
||||||
|
|
||||||
locked
|
|
||||||
This is not a configuration. When on-demand page is enabled
|
This is not a configuration. When on-demand page is enabled
|
||||||
then we must do a two pass link: The first pass creates an
|
then we must do a two pass link: The first pass creates an
|
||||||
intermediate object that has all of the code that must be
|
intermediate object that has all of the code that must be
|
||||||
@@ -622,19 +646,22 @@ Where <subdir> is one of the following:
|
|||||||
|
|
||||||
The directory contains the logic necessary to do the platform
|
The directory contains the logic necessary to do the platform
|
||||||
specific first pass link for the EA313x.
|
specific first pass link for the EA313x.
|
||||||
|
|
||||||
nsh:
|
nsh
|
||||||
|
|
||||||
Configures the NuttShell (nsh) located at examples/nsh. The
|
Configures the NuttShell (nsh) located at examples/nsh. The
|
||||||
Configuration enables only the serial NSH interface.
|
Configuration enables only the serial NSH interface.
|
||||||
|
|
||||||
pgnsh:
|
pgnsh
|
||||||
|
|
||||||
This is the same configuration as nsh, but with On-Demand
|
This is the same configuration as nsh, but with On-Demand
|
||||||
paging enabled. See http://www.nuttx.org/NuttXDemandPaging.html.
|
paging enabled. See http://www.nuttx.org/Documentation/NuttXDemandPaging.html.
|
||||||
This configuration is an experiment for the purposes of test
|
This configuration is an experiment for the purposes of test
|
||||||
and debug. At present, this does not produce functioning,
|
and debug. At present, this does not produce functioning,
|
||||||
usable system
|
usable system
|
||||||
|
|
||||||
usbserial:
|
usbserial
|
||||||
|
|
||||||
This configuration directory exercises the USB serial class
|
This configuration directory exercises the USB serial class
|
||||||
driver at examples/usbserial. See examples/README.txt for
|
driver at examples/usbserial. See examples/README.txt for
|
||||||
more information.
|
more information.
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
############################################################################
|
|
||||||
# configs/ea3131/pgnsh/appconfig
|
|
||||||
#
|
|
||||||
# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
|
|
||||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without
|
|
||||||
# modification, are permitted provided that the following conditions
|
|
||||||
# are met:
|
|
||||||
#
|
|
||||||
# 1. Redistributions of source code must retain the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer.
|
|
||||||
# 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer in
|
|
||||||
# the documentation and/or other materials provided with the
|
|
||||||
# distribution.
|
|
||||||
# 3. Neither the name NuttX nor the names of its contributors may be
|
|
||||||
# used to endorse or promote products derived from this software
|
|
||||||
# without specific prior written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
||||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
||||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
||||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
||||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
||||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
||||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
||||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
#
|
|
||||||
############################################################################
|
|
||||||
|
|
||||||
# Path to example in apps/examples containing the user_start entry point
|
|
||||||
|
|
||||||
CONFIGURED_APPS += examples/nsh
|
|
||||||
|
|
||||||
# The NSH library
|
|
||||||
|
|
||||||
CONFIGURED_APPS += system/readline
|
|
||||||
CONFIGURED_APPS += nshlib
|
|
||||||
|
|
||||||
|
|
||||||
+747
-378
File diff suppressed because it is too large
Load Diff
@@ -8,11 +8,14 @@ CONFIG_NUTTX_NEWCONFIG=y
|
|||||||
# Build Setup
|
# Build Setup
|
||||||
#
|
#
|
||||||
# CONFIG_EXPERIMENTAL is not set
|
# CONFIG_EXPERIMENTAL is not set
|
||||||
# CONFIG_DEFAULT_SMALL is not set
|
# CONFIG_HOST_LINUX is not set
|
||||||
CONFIG_HOST_LINUX=y
|
|
||||||
# CONFIG_HOST_OSX is not set
|
# CONFIG_HOST_OSX is not set
|
||||||
# CONFIG_HOST_WINDOWS is not set
|
CONFIG_HOST_WINDOWS=y
|
||||||
# CONFIG_HOST_OTHER is not set
|
# CONFIG_HOST_OTHER is not set
|
||||||
|
# CONFIG_WINDOWS_NATIVE is not set
|
||||||
|
CONFIG_WINDOWS_CYGWIN=y
|
||||||
|
# CONFIG_WINDOWS_MSYS is not set
|
||||||
|
# CONFIG_WINDOWS_OTHER is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Build Configuration
|
# Build Configuration
|
||||||
@@ -106,8 +109,10 @@ CONFIG_ARCH_ROMPGTABLE=y
|
|||||||
# ARM Configuration Options
|
# ARM Configuration Options
|
||||||
#
|
#
|
||||||
# CONFIG_ARM_TOOLCHAIN_BUILDROOT is not set
|
# CONFIG_ARM_TOOLCHAIN_BUILDROOT is not set
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
|
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
|
||||||
|
# CONFIG_ARM_TOOLCHAIN_DEVKITARM is not set
|
||||||
# CONFIG_ARM_TOOLCHAIN_GNU_EABIL is not set
|
# CONFIG_ARM_TOOLCHAIN_GNU_EABIL is not set
|
||||||
|
# CONFIG_ARM_TOOLCHAIN_GNU_EABIW is not set
|
||||||
# CONFIG_ARM_TOOLCHAIN_GNU_OABI is not set
|
# CONFIG_ARM_TOOLCHAIN_GNU_OABI is not set
|
||||||
CONFIG_ARCH_HAVE_EXTNAND=y
|
CONFIG_ARCH_HAVE_EXTNAND=y
|
||||||
CONFIG_ARCH_HAVE_EXTDRAM=y
|
CONFIG_ARCH_HAVE_EXTDRAM=y
|
||||||
|
|||||||
Reference in New Issue
Block a user