From 4053bd6e143263f0f6e8c08153fb51ef1bd7ded2 Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Mon, 31 Aug 2015 22:35:23 +0000 Subject: [PATCH] stm32f1: add standard ldscripts for medium/high density We haven't yet moved everything over to any autogenerated linker scripts, so include more common templates instead of proliferating mountains of them in every example. --- lib/stm32/f1/stm32f103x8.ld | 31 +++++++++++++++++++++++++++++++ lib/stm32/f1/stm32f103xb.ld | 31 +++++++++++++++++++++++++++++++ lib/stm32/f1/stm32f103xc.ld | 31 +++++++++++++++++++++++++++++++ lib/stm32/f1/stm32f103xd.ld | 31 +++++++++++++++++++++++++++++++ lib/stm32/f1/stm32f103xe.ld | 31 +++++++++++++++++++++++++++++++ 5 files changed, 155 insertions(+) create mode 100644 lib/stm32/f1/stm32f103x8.ld create mode 100644 lib/stm32/f1/stm32f103xb.ld create mode 100644 lib/stm32/f1/stm32f103xc.ld create mode 100644 lib/stm32/f1/stm32f103xd.ld create mode 100644 lib/stm32/f1/stm32f103xe.ld diff --git a/lib/stm32/f1/stm32f103x8.ld b/lib/stm32/f1/stm32f103x8.ld new file mode 100644 index 00000000..c1700de4 --- /dev/null +++ b/lib/stm32/f1/stm32f103x8.ld @@ -0,0 +1,31 @@ +/* + * This file is part of the libopencm3 project. + * + * Copyright (C) 2015 Karl Palsson + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/* Linker script for STM32F103x8, 64k flash, 20k RAM. */ + +/* Define memory regions. */ +MEMORY +{ + rom (rx) : ORIGIN = 0x08000000, LENGTH = 64K + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K +} + +/* Include the common ld script. */ +INCLUDE libopencm3_stm32f1.ld + diff --git a/lib/stm32/f1/stm32f103xb.ld b/lib/stm32/f1/stm32f103xb.ld new file mode 100644 index 00000000..67384790 --- /dev/null +++ b/lib/stm32/f1/stm32f103xb.ld @@ -0,0 +1,31 @@ +/* + * This file is part of the libopencm3 project. + * + * Copyright (C) 2015 Karl Palsson + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/* Linker script for STM32F103xB, 128k flash, 20k RAM. */ + +/* Define memory regions. */ +MEMORY +{ + rom (rx) : ORIGIN = 0x08000000, LENGTH = 128K + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K +} + +/* Include the common ld script. */ +INCLUDE libopencm3_stm32f1.ld + diff --git a/lib/stm32/f1/stm32f103xc.ld b/lib/stm32/f1/stm32f103xc.ld new file mode 100644 index 00000000..01801a77 --- /dev/null +++ b/lib/stm32/f1/stm32f103xc.ld @@ -0,0 +1,31 @@ +/* + * This file is part of the libopencm3 project. + * + * Copyright (C) 2015 Karl Palsson + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/* Linker script for STM32F103xC, 256K flash, 48k RAM. */ + +/* Define memory regions. */ +MEMORY +{ + rom (rx) : ORIGIN = 0x08000000, LENGTH = 256K + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 48K +} + +/* Include the common ld script. */ +INCLUDE libopencm3_stm32f1.ld + diff --git a/lib/stm32/f1/stm32f103xd.ld b/lib/stm32/f1/stm32f103xd.ld new file mode 100644 index 00000000..6b38e3ab --- /dev/null +++ b/lib/stm32/f1/stm32f103xd.ld @@ -0,0 +1,31 @@ +/* + * This file is part of the libopencm3 project. + * + * Copyright (C) 2015 Karl Palsson + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/* Linker script for STM32F103xD, 384K flash, 64k RAM. */ + +/* Define memory regions. */ +MEMORY +{ + rom (rx) : ORIGIN = 0x08000000, LENGTH = 384K + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K +} + +/* Include the common ld script. */ +INCLUDE libopencm3_stm32f1.ld + diff --git a/lib/stm32/f1/stm32f103xe.ld b/lib/stm32/f1/stm32f103xe.ld new file mode 100644 index 00000000..13094006 --- /dev/null +++ b/lib/stm32/f1/stm32f103xe.ld @@ -0,0 +1,31 @@ +/* + * This file is part of the libopencm3 project. + * + * Copyright (C) 2015 Karl Palsson + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +/* Linker script for STM32F103xE, 512K flash, 64k RAM. */ + +/* Define memory regions. */ +MEMORY +{ + rom (rx) : ORIGIN = 0x08000000, LENGTH = 512K + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K +} + +/* Include the common ld script. */ +INCLUDE libopencm3_stm32f1.ld +