configs/ea3131/pgnsh: Configuration converted to use the kconfig-frontends tools

This commit is contained in:
Gregory Nutt 2014-03-05 14:26:30 -06:00
parent 04270b5fc9
commit 3d9f8660a7
4 changed files with 811 additions and 455 deletions

View File

@ -221,7 +221,7 @@ Image Format
- mklpc.sh # Make the bootloader binary (nuttx.lpc)
NOTES:
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.
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
script would probably require some modifications to work in another
environment:
- possibly the value of OPENOCD_PATH
- If you are working under Linux you will need to change any
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
the paged memory region; up to 384x1kb of physical pages may be paged into
this region. Physical memory map:
11028000 "locked" text region 48x1Kb
11034000 "paged" text region 96x1Kb
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
region. The virtual address for this region is 0x11028000. The offset into
the L1 page table is given by:
offset = ((0x11028000 >> 20) << 2) = 0x00000440
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
is valid and and points to a 1Kb L1 page table:
11054440 11056013
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
address region (480x1Kb). That one entry maps the virtual address range of
0x11000000 through 0x110ffc00. Each entry maps a 1Kb page of physical memory:
PAGE VIRTUAL ADDR L2 OFFSET
--------- ------------ ---------
Page 0 0x11000000 0x00000000
@ -363,10 +363,10 @@ On-Demand Paging
Page 2 0x11000800 0x00000008
...
Page 1023 0x110ffc00 0x00000ffc
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:
offset = ((0x00028000 >> 10) << 2) = 0x00000280
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
regions must be mapped in a similar manner. Those
regions must be mapped in a similar manner. Those
Data:
Virtual address = 0x11094000 Offset = 0x00064000
Physical address = 0x1104c000
@ -428,7 +428,7 @@ On-Demand Paging
basic procedure is already documented in NXP publications: "LPC313x
Linux Quick Start Guide, Version 2.0" and "AN10811 Programming SPI
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.
The references and issues related to this are discussed in (2)
and (3) above.
@ -442,7 +442,7 @@ On-Demand Paging
CONFIG_PAGING_M25PX=y
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
reported to be working, but I was unable to get it working with the
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
using a bootloader -- it is not clear how the power up boot
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.
3. This means that all of the file system logic and FAT file
system would have to reside in the locked text region.
@ -603,17 +603,41 @@ ARM/EA3131-specific Configuration Options
Configurations
^^^^^^^^^^^^^^
Each EA3131 configuration is maintained in a sub-directory and can be
selected as follow:
Common Configuration Notes
--------------------------
cd tools
./configure.sh ea3131/<subdir>
cd -
. ./setenv.sh
1. Each EA3131 configuration is maintained in a sub-directory and
can be selected as follow:
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
then we must do a two pass link: The first pass creates an
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
specific first pass link for the EA313x.
nsh:
nsh
Configures the NuttShell (nsh) located at examples/nsh. The
Configuration enables only the serial NSH interface.
pgnsh:
pgnsh
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
and debug. At present, this does not produce functioning,
and debug. At present, this does not produce functioning,
usable system
usbserial:
usbserial
This configuration directory exercises the USB serial class
driver at examples/usbserial. See examples/README.txt for
more information.

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -8,11 +8,14 @@ CONFIG_NUTTX_NEWCONFIG=y
# Build Setup
#
# CONFIG_EXPERIMENTAL is not set
# CONFIG_DEFAULT_SMALL is not set
CONFIG_HOST_LINUX=y
# CONFIG_HOST_LINUX 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_WINDOWS_NATIVE is not set
CONFIG_WINDOWS_CYGWIN=y
# CONFIG_WINDOWS_MSYS is not set
# CONFIG_WINDOWS_OTHER is not set
#
# Build Configuration
@ -106,8 +109,10 @@ CONFIG_ARCH_ROMPGTABLE=y
# ARM Configuration Options
#
# 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_EABIW is not set
# CONFIG_ARM_TOOLCHAIN_GNU_OABI is not set
CONFIG_ARCH_HAVE_EXTNAND=y
CONFIG_ARCH_HAVE_EXTDRAM=y