summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-10-07 01:58:16 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-10-07 01:58:16 +0000
commit038e709618a3dd2f94a89e70e012faf95635632b (patch)
tree56268f96db7076c37189e3f2a196a78e154690fc /nuttx
parente00c9747eec3d32371de1c980ba6c9ac6f942a62 (diff)
downloadpx4-nuttx-038e709618a3dd2f94a89e70e012faf95635632b.tar.gz
px4-nuttx-038e709618a3dd2f94a89e70e012faf95635632b.tar.bz2
px4-nuttx-038e709618a3dd2f94a89e70e012faf95635632b.zip
Add memorymap
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2972 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx')
-rwxr-xr-xnuttx/arch/avr/src/at91uc3/at91uc3_memorymap.h16
-rw-r--r--nuttx/arch/avr/src/avr32/up_nommuhead.S4
-rwxr-xr-xnuttx/configs/avr32dev1/README.txt40
-rwxr-xr-xnuttx/configs/avr32dev1/ostest/defconfig91
-rwxr-xr-xnuttx/configs/avr32dev1/ostest/ld.script16
5 files changed, 105 insertions, 62 deletions
diff --git a/nuttx/arch/avr/src/at91uc3/at91uc3_memorymap.h b/nuttx/arch/avr/src/at91uc3/at91uc3_memorymap.h
index 71a48de8b..dc5997231 100755
--- a/nuttx/arch/avr/src/at91uc3/at91uc3_memorymap.h
+++ b/nuttx/arch/avr/src/at91uc3/at91uc3_memorymap.h
@@ -46,6 +46,22 @@
* Pre-processor Definitions
************************************************************************************/
+/* Physical memory map */
+
+#define AVR32_ONCHIP_FLASH_BASE 0x80000000 /* 512Kb Flash Array */
+# define AVR32_APPL_BASE 0x80002000 /* 8Kb offset to application w/bootloader */
+#define AVR32_USER_FLASH_BASE 0x80800000 /* Flash User Page */
+# define AVR32_BTLDR_CONFIG 0x808001fc /* Bootloader configuration word */
+
+/* Memory map for systems without an MMU */
+
+#define AVR32_P1_BASE 0x80000000 /* 512MB non-translated space, cacheable */
+#define AVR32_P2_BASE 0xa0000000 /* 512MB non-translated space, non-cacheable */
+#define AVR32_P3_BASE 0xc0000000 /* 512MB translated space, cacheable */
+#define AVR32_P4_BASE 0xe0000000 /* 512MB system space, non-cacheable */
+
+
+
/************************************************************************************
* Public Types
************************************************************************************/
diff --git a/nuttx/arch/avr/src/avr32/up_nommuhead.S b/nuttx/arch/avr/src/avr32/up_nommuhead.S
index 7e2888456..6e0edb220 100644
--- a/nuttx/arch/avr/src/avr32/up_nommuhead.S
+++ b/nuttx/arch/avr/src/avr32/up_nommuhead.S
@@ -52,7 +52,7 @@
#ifdef CONFIG_BOOT_RUNFROMFLASH
.global _sdata /* Start of .data section in RAM */
.global _edata /* End of .data section in RAM */
- .global _erdonly /* Start of .data section in FLASH */
+ .global _eronly /* Start of .data section in FLASH */
#endif
.global up_lowinit /* Perform low level initialization */
.global up_boardinit /* Low-level board initialization */
@@ -127,7 +127,7 @@ __start:
lda.w r0, _sdata /* r0=Start of .data section in RAM */
lda.w r1, _edata /* r1=End of .data section in RAM */
- lda.w r2, _erdonly /* r2=Start of .data in FLASH */
+ lda.w r2, _eronly /* r2=Start of .data in FLASH */
rjmp 4f /* Start at the bottom of the loop */
3:
ld.d r4, r2++ /* Fetch the next data value */
diff --git a/nuttx/configs/avr32dev1/README.txt b/nuttx/configs/avr32dev1/README.txt
index fa10f90aa..3ad48e87d 100755
--- a/nuttx/configs/avr32dev1/README.txt
+++ b/nuttx/configs/avr32dev1/README.txt
@@ -9,6 +9,10 @@ Contents
* Toolchains
* Development Environment
* GNU Toolchains
+ * IDEs
+ * AVR32 Bootloader
+ * AVR32DEV1 Configuration Options
+ * Configurations
Development Environment
^^^^^^^^^^^^^^^^^^^^^^^
@@ -54,13 +58,27 @@ IDEs
2) Start the NuttX build at least one time from the Cygwin command line
before trying to create your project. This is necessary to create
certain auto-generated files and directories that will be needed.
- 3) Set up include pathes: You will need include/, arch/arm/src/lm3s,
- arch/arm/src/common, arch/arm/src/cortexm3, and sched/.
+ 3) Set up include pathes: You will need include/, arch/avr/src/at91uc3,
+ arch/avr/src/common, arch/arm/src/avr, and sched/.
4) All assembly files need to have the definition option -D __ASSEMBLY__
on the command line.
Startup files will probably cause you some headaches. The NuttX startup file
- is arch/arm/src/lm3s/lm3s_vectors.S.
+ is arch/avr/src/avr3/up_nommuhead.S.
+
+AVR32 Bootloader
+^^^^^^^^^^^^^^^^
+
+ The linker scripts (ld.script) assume that you are using the bootloader.
+ The bootloader resides at 0x8000:0000 and so the ld.script files link
+ the application to execute after the bootloader at 0x8000:2000. To link
+ so that NuttX boots directly without using the bootloader, change the
+ flash definition from:
+
+ flash (rxai!w) : ORIGIN = 0x80002000, LENGTH = 256K - 8K
+
+ to:
+ flash (rxai!w) : ORIGIN = 0x80000000, LENGTH = 256K
AVR32DEV1 Configuration Options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -139,16 +157,16 @@ AVR32DEV1 Configuration Options
AT91UC3B0256 specific device driver settings
- CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
- console and ttys0 (default is the UART0).
- CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
+ CONFIG_USARTn_SERIAL_CONSOLE - selects the USARTn for the
+ console and ttys0 (default is the USART0).
+ CONFIG_USARTn_RXBUFSIZE - Characters are buffered as received.
This specific the size of the receive buffer
- CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
+ CONFIG_USARTn_TXBUFSIZE - Characters are buffered before
being sent. This specific the size of the transmit buffer
- CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
- CONFIG_UARTn_BITS - The number of bits. Must be either 7 or 8.
- CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
- CONFIG_UARTn_2STOP - Two stop bits
+ CONFIG_USARTn_BAUD - The configure BAUD of the USART. Must be
+ CONFIG_USARTn_BITS - The number of bits. Must be either 7 or 8.
+ CONFIG_USARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
+ CONFIG_USARTn_2STOP - Two stop bits
Configurations
^^^^^^^^^^^^^^
diff --git a/nuttx/configs/avr32dev1/ostest/defconfig b/nuttx/configs/avr32dev1/ostest/defconfig
index 5a951c5c0..79637bfaa 100755
--- a/nuttx/configs/avr32dev1/ostest/defconfig
+++ b/nuttx/configs/avr32dev1/ostest/defconfig
@@ -97,59 +97,60 @@ CONFIG_AVR32_AVRTOOLSW=y
CONFIG_AVR32_AVRTOOLSL=n
#
-# Individual subsystems can be enabled:
-#
# Individual subsystems can be enabled:
#
+# CONFIG_AVR32_USARTn - Enable support for USARTn
+# CONFIG_AVR32_USARTn_RS232 - Configure USARTn as an RS232 interface.
+#
+
+CONFIG_AVR32_USART0=y
+CONFIG_AVR32_USART1=n
+CONFIG_AVR32_USART2=n
+CONFIG_AVR32_USART0_RS232=y
+CONFIG_AVR32_USART1_RS232=y
+CONFIG_AVR32_USART2_RS232=y
#
# AVR32 specific serial device driver settings
#
-# CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
-# console and ttys0 (default is the UART1).
-# CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
+# CONFIG_USARTn_SERIAL_CONSOLE - selects the USARTn for the
+# console and ttys0 (default is the USART0).
+# CONFIG_USARTn_RXBUFSIZE - Characters are buffered as received.
# This specific the size of the receive buffer
-# CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
+# CONFIG_USARTn_TXBUFSIZE - Characters are buffered before
# being sent. This specific the size of the transmit buffer
-# CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
-# CONFIG_UARTn_BITS - The number of bits. Must be either 7 or 8.
-# CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
-# CONFIG_UARTn_2STOP - Two stop bits
-#
-CONFIG_UART0_SERIAL_CONSOLE=y
-CONFIG_UART1_SERIAL_CONSOLE=n
-CONFIG_UART2_SERIAL_CONSOLE=n
-CONFIG_UART3_SERIAL_CONSOLE=n
-
-CONFIG_UART0_TXBUFSIZE=256
-CONFIG_UART1_TXBUFSIZE=256
-CONFIG_UART2_TXBUFSIZE=256
-CONFIG_UART3_TXBUFSIZE=256
-
-CONFIG_UART0_RXBUFSIZE=256
-CONFIG_UART1_RXBUFSIZE=256
-CONFIG_UART2_RXBUFSIZE=256
-CONFIG_UART3_RXBUFSIZE=256
-
-CONFIG_UART0_BAUD=115200
-CONFIG_UART2_BAUD=115200
-CONFIG_UART3_BAUD=115200
-CONFIG_UART1_BAUD=115200
-
-CONFIG_UART0_BITS=8
-CONFIG_UART1_BITS=8
-CONFIG_UART2_BITS=8
-CONFIG_UART3_BITS=8
-
-CONFIG_UART0_PARITY=0
-CONFIG_UART1_PARITY=0
-CONFIG_UART2_PARITY=0
-CONFIG_UART3_PARITY=0
-
-CONFIG_UART0_2STOP=0
-CONFIG_UART1_2STOP=0
-CONFIG_UART2_2STOP=0
-CONFIG_UART3_2STOP=0
+# CONFIG_USARTn_BAUD - The configure BAUD of the USART. Must be
+# CONFIG_USARTn_BITS - The number of bits. Must be either 7 or 8.
+# CONFIG_USARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
+# CONFIG_USARTn_2STOP - Two stop bits
+#
+CONFIG_USART0_SERIAL_CONSOLE=y
+CONFIG_USART1_SERIAL_CONSOLE=n
+CONFIG_USART2_SERIAL_CONSOLE=n
+
+CONFIG_USART0_TXBUFSIZE=256
+CONFIG_USART1_TXBUFSIZE=256
+CONFIG_USART2_TXBUFSIZE=256
+
+CONFIG_USART0_RXBUFSIZE=256
+CONFIG_USART1_RXBUFSIZE=256
+CONFIG_USART2_RXBUFSIZE=256
+
+CONFIG_USART0_BAUD=115200
+CONFIG_USART1_BAUD=115200
+CONFIG_USART2_BAUD=115200
+
+CONFIG_USART0_BITS=8
+CONFIG_USART1_BITS=8
+CONFIG_USART2_BITS=8
+
+CONFIG_USART0_PARITY=0
+CONFIG_USART1_PARITY=0
+CONFIG_USART2_PARITY=0
+
+CONFIG_USART0_2STOP=0
+CONFIG_USART1_2STOP=0
+CONFIG_USART2_2STOP=0
#
# General build options
diff --git a/nuttx/configs/avr32dev1/ostest/ld.script b/nuttx/configs/avr32dev1/ostest/ld.script
index f2dcccb6b..d4d89881c 100755
--- a/nuttx/configs/avr32dev1/ostest/ld.script
+++ b/nuttx/configs/avr32dev1/ostest/ld.script
@@ -37,12 +37,20 @@ OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32")
OUTPUT_ARCH(avr32:uc)
ENTRY(_stext)
+/* The following assumes that the bootloader resides at 0x8000:0000 and so
+ * links the application to execute after the bootloader at 0x8000:2000.
+ * To link so that NuttX boots directly without using the bootloader,
+ * change the flash definition to:
+ *
+ * flash (rxai!w) : ORIGIN = 0x80000000, LENGTH = 256K
+ */
+
MEMORY
{
- flash (rxai!w) : ORIGIN = 0x80000000, LENGTH = 0x00020000
- intram (wxa!ri) : ORIGIN = 0x00000004, LENGTH = 0x00007FFC
- userpage : ORIGIN = 0x80800000, LENGTH = 0x00000200
- factorypage : ORIGIN = 0x80800200, LENGTH = 0x00000200
+ flash (rxai!w) : ORIGIN = 0x80002000, LENGTH = 256K - 8K
+ intram (wxa!ri) : ORIGIN = 0x00000004, LENGTH = 32K
+ userpage : ORIGIN = 0x80800000, LENGTH = 512
+ factorypage : ORIGIN = 0x80800200, LENGTH = 512
}
SECTIONS