You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gn...@apache.org on 2020/02/19 14:01:55 UTC

[incubator-nuttx] branch master updated: boards/arm/samv7: Fix undefined reference to _ramfuncs

This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 7507f78  boards/arm/samv7:  Fix undefined reference to _ramfuncs
7507f78 is described below

commit 7507f78a2f216f56d643acfd4e4e2845f00a7cd0
Author: Kevin Liu <ke...@gmail.com>
AuthorDate: Wed Feb 19 07:59:28 2020 -0600

    boards/arm/samv7:  Fix undefined reference to _ramfuncs
    
    Update linker scripts to provide _ramfuncs sections for SAMv7 based boards.  This corrects undefined reference to _ramfuncs when CONFIG_ARCH_RAMFUNCS is enabled (Issue #304)
---
 boards/arm/samv7/same70-xplained/scripts/flash-dtcm.ld   | 8 ++++++++
 boards/arm/samv7/same70-xplained/scripts/flash-sram.ld   | 8 ++++++++
 boards/arm/samv7/same70-xplained/scripts/kernel-space.ld | 8 ++++++++
 boards/arm/samv7/samv71-xult/scripts/flash-dtcm.ld       | 8 ++++++++
 boards/arm/samv7/samv71-xult/scripts/flash-sram.ld       | 8 ++++++++
 boards/arm/samv7/samv71-xult/scripts/kernel-space.ld     | 8 ++++++++
 6 files changed, 48 insertions(+)

diff --git a/boards/arm/samv7/same70-xplained/scripts/flash-dtcm.ld b/boards/arm/samv7/same70-xplained/scripts/flash-dtcm.ld
index 088583c..5aef541 100644
--- a/boards/arm/samv7/same70-xplained/scripts/flash-dtcm.ld
+++ b/boards/arm/samv7/same70-xplained/scripts/flash-dtcm.ld
@@ -99,6 +99,14 @@ SECTIONS
         _edata = ABSOLUTE(.);
     } > sram AT > flash
 
+    .ramfunc ALIGN(4): {
+        _sramfuncs = ABSOLUTE(.);
+        *(.ramfunc  .ramfunc.*)
+        _eramfuncs = ABSOLUTE(.);
+    } > sram AT > flash
+
+    _framfuncs = LOADADDR(.ramfunc);
+
     .bss : {
         _sbss = ABSOLUTE(.);
         *(.bss .bss.*)
diff --git a/boards/arm/samv7/same70-xplained/scripts/flash-sram.ld b/boards/arm/samv7/same70-xplained/scripts/flash-sram.ld
index 22b1251..b2e51bf 100644
--- a/boards/arm/samv7/same70-xplained/scripts/flash-sram.ld
+++ b/boards/arm/samv7/same70-xplained/scripts/flash-sram.ld
@@ -96,6 +96,14 @@ SECTIONS
         _edata = ABSOLUTE(.);
     } > sram AT > flash
 
+    .ramfunc ALIGN(4): {
+        _sramfuncs = ABSOLUTE(.);
+        *(.ramfunc  .ramfunc.*)
+        _eramfuncs = ABSOLUTE(.);
+    } > sram AT > flash
+
+    _framfuncs = LOADADDR(.ramfunc);
+
     .bss : {
         _sbss = ABSOLUTE(.);
         *(.bss .bss.*)
diff --git a/boards/arm/samv7/same70-xplained/scripts/kernel-space.ld b/boards/arm/samv7/same70-xplained/scripts/kernel-space.ld
index 4295b7a..8fab81a 100644
--- a/boards/arm/samv7/same70-xplained/scripts/kernel-space.ld
+++ b/boards/arm/samv7/same70-xplained/scripts/kernel-space.ld
@@ -87,6 +87,14 @@ SECTIONS
         _edata = ABSOLUTE(.);
     } > ksram AT > kflash
 
+    .ramfunc ALIGN(4): {
+        _sramfuncs = ABSOLUTE(.);
+        *(.ramfunc  .ramfunc.*)
+        _eramfuncs = ABSOLUTE(.);
+    } > ksram AT > kflash
+
+    _framfuncs = LOADADDR(.ramfunc);
+
     .bss : {
         _sbss = ABSOLUTE(.);
         *(.bss .bss.*)
diff --git a/boards/arm/samv7/samv71-xult/scripts/flash-dtcm.ld b/boards/arm/samv7/samv71-xult/scripts/flash-dtcm.ld
index b319354..d9d19ed 100644
--- a/boards/arm/samv7/samv71-xult/scripts/flash-dtcm.ld
+++ b/boards/arm/samv7/samv71-xult/scripts/flash-dtcm.ld
@@ -99,6 +99,14 @@ SECTIONS
         _edata = ABSOLUTE(.);
     } > sram AT > flash
 
+    .ramfunc ALIGN(4): {
+        _sramfuncs = ABSOLUTE(.);
+        *(.ramfunc  .ramfunc.*)
+        _eramfuncs = ABSOLUTE(.);
+    } > sram AT > flash
+
+    _framfuncs = LOADADDR(.ramfunc);
+
     .bss : {
         _sbss = ABSOLUTE(.);
         *(.bss .bss.*)
diff --git a/boards/arm/samv7/samv71-xult/scripts/flash-sram.ld b/boards/arm/samv7/samv71-xult/scripts/flash-sram.ld
index a6eb1b6..a620b47 100644
--- a/boards/arm/samv7/samv71-xult/scripts/flash-sram.ld
+++ b/boards/arm/samv7/samv71-xult/scripts/flash-sram.ld
@@ -96,6 +96,14 @@ SECTIONS
         _edata = ABSOLUTE(.);
     } > sram AT > flash
 
+    .ramfunc ALIGN(4): {
+        _sramfuncs = ABSOLUTE(.);
+        *(.ramfunc  .ramfunc.*)
+        _eramfuncs = ABSOLUTE(.);
+    } > sram AT > flash
+
+    _framfuncs = LOADADDR(.ramfunc);
+
     .bss : {
         _sbss = ABSOLUTE(.);
         *(.bss .bss.*)
diff --git a/boards/arm/samv7/samv71-xult/scripts/kernel-space.ld b/boards/arm/samv7/samv71-xult/scripts/kernel-space.ld
index 332b4d2..41f3e54 100644
--- a/boards/arm/samv7/samv71-xult/scripts/kernel-space.ld
+++ b/boards/arm/samv7/samv71-xult/scripts/kernel-space.ld
@@ -87,6 +87,14 @@ SECTIONS
         _edata = ABSOLUTE(.);
     } > ksram AT > kflash
 
+    .ramfunc ALIGN(4): {
+        _sramfuncs = ABSOLUTE(.);
+        *(.ramfunc  .ramfunc.*)
+        _eramfuncs = ABSOLUTE(.);
+    } > ksram AT > kflash
+
+    _framfuncs = LOADADDR(.ramfunc);
+
     .bss : {
         _sbss = ABSOLUTE(.);
         *(.bss .bss.*)