Clean up of pirelli-dpl10/nsh_highram configuration
This commit is contained in:
parent
f4414470d2
commit
8447e76779
@ -17,6 +17,10 @@ config ARM_TOOLCHAIN_BUILDROOT
|
|||||||
config ARM_TOOLCHAIN_CODESOURCERYL
|
config ARM_TOOLCHAIN_CODESOURCERYL
|
||||||
bool "CodeSourcery GNU toolchain under Linux"
|
bool "CodeSourcery GNU toolchain under Linux"
|
||||||
depends on HOST_LINUX
|
depends on HOST_LINUX
|
||||||
|
---help---
|
||||||
|
For use with the GNU toolchain built with the NuttX buildroot package.
|
||||||
|
This tools may be arm-nuttx-eabi- or, if ARM_OABI_TOOLCHAIN is set,
|
||||||
|
arm-nuttx-elf-.
|
||||||
|
|
||||||
config ARM_TOOLCHAIN_CODESOURCERYW
|
config ARM_TOOLCHAIN_CODESOURCERYW
|
||||||
bool "CodeSourcery GNU toolchain under Windows"
|
bool "CodeSourcery GNU toolchain under Windows"
|
||||||
@ -30,7 +34,12 @@ config ARM_TOOLCHAIN_GNU_EABI
|
|||||||
bool "Generic GNU EABI toolchain"
|
bool "Generic GNU EABI toolchain"
|
||||||
---help---
|
---help---
|
||||||
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
|
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
|
||||||
configured for arm-none-eabi.
|
configured for arm-none-eabi-.
|
||||||
|
|
||||||
|
config ARM_TOOLCHAIN_GNU_OABI
|
||||||
|
bool "Generic GNU OABI toolchain"
|
||||||
|
---help---
|
||||||
|
This option should work for any GNU toolchain configured for arm-elf-.
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
@ -54,6 +54,21 @@ o highram is for phones having the romloader(if the phone has a bootrom)
|
|||||||
by talking to the ramloader) when having a ramloader(which can only
|
by talking to the ramloader) when having a ramloader(which can only
|
||||||
load 64k).
|
load 64k).
|
||||||
|
|
||||||
|
Memory Map
|
||||||
|
=========
|
||||||
|
|
||||||
|
Calypso has 256KB of internal SRAM (0x800000-0x83ffff). Only this internal SRAM
|
||||||
|
is used by these configurations. The internal SRAM is broken up into three
|
||||||
|
logic banks.
|
||||||
|
|
||||||
|
LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00020000
|
||||||
|
TRAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00010000
|
||||||
|
IRAM (rw) : ORIGIN = 0x00830000, LENGTH = 0x00010000
|
||||||
|
|
||||||
|
Code can be loaded by the bootloader only into TRAM and, hence, is restricted
|
||||||
|
to 64KB. The additional 64KB if IRAM may be used for uninitialized data and
|
||||||
|
for the NuttX heap only.
|
||||||
|
|
||||||
JTAG and Alternative Serial Console
|
JTAG and Alternative Serial Console
|
||||||
===================================
|
===================================
|
||||||
|
|
||||||
@ -116,3 +131,54 @@ JTAG Apapter:
|
|||||||
the MCU to enter a bootloader on reset.
|
the MCU to enter a bootloader on reset.
|
||||||
Use 10K-100K Ohm pull up resistor.
|
Use 10K-100K Ohm pull up resistor.
|
||||||
------- ----------- --------------- --------------------------------------
|
------- ----------- --------------- --------------------------------------
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
================================
|
||||||
|
|
||||||
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
|
be modified to point to the correct path to the ARM GCC toolchain (if
|
||||||
|
different from the default in your PATH variable).
|
||||||
|
|
||||||
|
If you have no ARMtoolchain, one can be downloaded from the NuttX
|
||||||
|
SourceForge download site (https://sourceforge.net/projects/nuttx/files/buildroot/).
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh pirelli_dpl10/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/arm7tdmi-defconfig-4.3.3 .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly built binaries.
|
||||||
|
|
||||||
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
|
building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
Generic OABI Toolchain
|
||||||
|
======================
|
||||||
|
|
||||||
|
The NuttX OABI toolchain is selected with:
|
||||||
|
|
||||||
|
CONFIG_ARM_TOOLCHAIN_BUILDROOT=y
|
||||||
|
CONFIG_ARM_OABI_TOOLCHAIN=y
|
||||||
|
|
||||||
|
In most cases, OsmocomBB is built with a different OABI toolchain with a
|
||||||
|
prefix of arm-elf-. To use that toolchain, change the configuration as
|
||||||
|
follows:
|
||||||
|
|
||||||
|
CONFIG_ARM_TOOLCHAIN_GNU_OABI=y
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
|
|
||||||
ifeq ("${CONFIG_SERCOMM_CONSOLE}","y")
|
ifeq ("${CONFIG_SERCOMM_CONSOLE}","y")
|
||||||
OSMODIR = $(TOPDIR)/../../osmocom-bb
|
OSMODIR = $(TOPDIR)/../../osmocom-bb
|
||||||
@ -45,7 +46,6 @@ EXTRA_LIBS = $(OSMODIR)/src/target/firmware/comm/libcomm.a \
|
|||||||
# ^^^ Stupid hack! Why do I have to put it twice???
|
# ^^^ Stupid hack! Why do I have to put it twice???
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CROSSDEV = arm-elf-
|
|
||||||
CC = $(CROSSDEV)gcc
|
CC = $(CROSSDEV)gcc
|
||||||
CPP = $(CROSSDEV)gcc -E
|
CPP = $(CROSSDEV)gcc -E
|
||||||
LD = $(CROSSDEV)ld
|
LD = $(CROSSDEV)ld
|
||||||
@ -73,7 +73,7 @@ ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
|
|||||||
ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow
|
ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow
|
||||||
ARCHDEFINES =
|
ARCHDEFINES =
|
||||||
ARCHINCLUDES = -I. -I$(OSMODIR)/src/shared/libosmocore/include -isystem $(TOPDIR)/include
|
ARCHINCLUDES = -I. -I$(OSMODIR)/src/shared/libosmocore/include -isystem $(TOPDIR)/include
|
||||||
ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh_highram/ld.script
|
ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/highram.ld
|
||||||
|
|
||||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
|
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
|
||||||
$(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
$(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||||
|
@ -145,8 +145,8 @@ CONFIG_ARCH_STACKDUMP=y
|
|||||||
#
|
#
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=1250
|
CONFIG_BOARD_LOOPSPERMSEC=1250
|
||||||
# CONFIG_ARCH_CALIBRATION is not set
|
# CONFIG_ARCH_CALIBRATION is not set
|
||||||
CONFIG_DRAM_START=0
|
CONFIG_DRAM_START=0x00800000
|
||||||
CONFIG_DRAM_SIZE=8650752
|
CONFIG_DRAM_SIZE=262144
|
||||||
CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
|
CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
|
||||||
CONFIG_ARCH_INTERRUPTSTACK=1024
|
CONFIG_ARCH_INTERRUPTSTACK=1024
|
||||||
|
|
||||||
@ -235,10 +235,10 @@ CONFIG_PREALLOC_TIMERS=8
|
|||||||
#
|
#
|
||||||
# Stack and heap information
|
# Stack and heap information
|
||||||
#
|
#
|
||||||
CONFIG_IDLETHREAD_STACKSIZE=4096
|
CONFIG_IDLETHREAD_STACKSIZE=2048
|
||||||
CONFIG_USERMAIN_STACKSIZE=4096
|
CONFIG_USERMAIN_STACKSIZE=2048
|
||||||
CONFIG_PTHREAD_STACK_MIN=256
|
CONFIG_PTHREAD_STACK_MIN=256
|
||||||
CONFIG_PTHREAD_STACK_DEFAULT=4096
|
CONFIG_PTHREAD_STACK_DEFAULT=2048
|
||||||
|
|
||||||
#
|
#
|
||||||
# Device Drivers
|
# Device Drivers
|
||||||
|
Loading…
Reference in New Issue
Block a user