diff --git a/firmware/common/LPC4330_M4.ld b/firmware/common/LPC4330_M4.ld index 5edc3428..694fd265 100644 --- a/firmware/common/LPC4330_M4.ld +++ b/firmware/common/LPC4330_M4.ld @@ -26,12 +26,16 @@ MEMORY { /* rom is really the shadow region that points to SPI flash or elsewhere */ rom (rx) : ORIGIN = 0x00000000, LENGTH = 1M - ram (rwx) : ORIGIN = 0x10000000, LENGTH = 128K + ram_local1 (rwx) : ORIGIN = 0x10000000, LENGTH = 128K + ram_local2 (rwx) : ORIGIN = 0x10080000, LENGTH = 72K /* there are some additional RAM regions */ - ram_ahb (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + ram_ahb1 (rwx) : ORIGIN = 0x20000000, LENGTH = 16K + /* Removed 32K of AHB SRAM for USB buffer. Straddles two blocks of RAM + * to get performance benefit of having two USB buffers addressable + * simultaneously (on two different buses of the AHB multilayer matrix) + */ + ram_ahb2 (rwx) : ORIGIN = 0x2000C000, LENGTH = 16K } /* Include the common ld script. */ INCLUDE libopencm3_lpc43xx.ld - -INCLUDE usbram.ld diff --git a/firmware/common/LPC4330_M4_ROM_to_RAM.ld b/firmware/common/LPC4330_M4_ROM_to_RAM.ld index f7e5886d..f6b1d008 100644 --- a/firmware/common/LPC4330_M4_ROM_to_RAM.ld +++ b/firmware/common/LPC4330_M4_ROM_to_RAM.ld @@ -29,13 +29,15 @@ MEMORY rom_flash (rx) : ORIGIN = 0x80000000, LENGTH = 1M /* rom is really the shadow region that points to SPI flash or elsewhere */ rom (rx) : ORIGIN = 0x00000000, LENGTH = 1M - ram (rwx) : ORIGIN = 0x10000000, LENGTH = 128K - /* there are some additional RAM regions for data */ - ram_data (rw) : ORIGIN = 0x10080000, LENGTH = 72K - ram_ahb (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + ram_local1 (rwx) : ORIGIN = 0x10000000, LENGTH = 128K + ram_local2 (rwx) : ORIGIN = 0x10080000, LENGTH = 72K + ram_ahb1 (rwx) : ORIGIN = 0x20000000, LENGTH = 16K + /* Removed 32K of AHB SRAM for USB buffer. Straddles two blocks of RAM + * to get performance benefit of having two USB buffers addressable + * simultaneously (on two different buses of the AHB multilayer matrix) + */ + ram_ahb2 (rwx) : ORIGIN = 0x2000C000, LENGTH = 16K } /* Include the common ld script. */ INCLUDE libopencm3_lpc43xx_rom_to_ram.ld - -INCLUDE usbram.ld diff --git a/firmware/common/LPC4330_M4_ram_only.ld b/firmware/common/LPC4330_M4_ram_only.ld index 11bb1d88..4149fbd7 100644 --- a/firmware/common/LPC4330_M4_ram_only.ld +++ b/firmware/common/LPC4330_M4_ram_only.ld @@ -26,10 +26,13 @@ MEMORY { ram_local1 (rwx) : ORIGIN = 0x10000000, LENGTH = 128K ram_local2 (rwx) : ORIGIN = 0x10080000, LENGTH = 72K - ram_ahb (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + ram_ahb1 (rwx) : ORIGIN = 0x20000000, LENGTH = 16K + /* Removed 32K of AHB SRAM for USB buffer. Straddles two blocks of RAM + * to get performance benefit of having two USB buffers addressable + * simultaneously (on two different buses of the AHB multilayer matrix) + */ + ram_ahb2 (rwx) : ORIGIN = 0x2000C000, LENGTH = 16K } /* Include the common ld script. */ INCLUDE libopencm3_lpc43xx_ram_only.ld - -INCLUDE usbram.ld diff --git a/firmware/common/usbram.ld b/firmware/common/usbram.ld deleted file mode 100644 index 279aaad3..00000000 --- a/firmware/common/usbram.ld +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2012 Jared Boone - * - * This file is part of HackRF - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -SECTIONS -{ - . = ORIGIN(ram_ahb); - - .usbram : { - . = ALIGN(4096); - *(.usb_data) - . = ALIGN(2048); - *(.usb_qh) - . = ALIGN(64); - *(.usb_td) - } >ram_ahb - -}