You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/10/05 12:24:54 UTC
[incubator-nuttx] branch master updated: boards: Change the linker generated symbols from uint32_t to uint8_t array
This is an automated email from the ASF dual-hosted git repository.
pkarashchenko 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 92f156c969 boards: Change the linker generated symbols from uint32_t to uint8_t array
92f156c969 is described below
commit 92f156c969f531f45feafb80468a5086facdb8fd
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Wed Oct 5 16:07:10 2022 +0800
boards: Change the linker generated symbols from uint32_t to uint8_t array
since the symbol generated by linker is always used as an address not a value.
Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
.../arm/gd32f4/gd32f450zk-eval/src/gd32f4xx_romfs.c | 14 +++++---------
.../arm/gd32f4/gd32f450zk-eval/src/gd32f4xx_romfs.h | 2 +-
.../arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.c | 18 +++++++-----------
.../arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.h | 2 +-
boards/arm/stm32/nucleo-f429zi/src/stm32_romfs.h | 2 +-
.../stm32/nucleo-f429zi/src/stm32_romfs_initialize.c | 16 ++++++----------
boards/arm/stm32/omnibusf4/src/stm32_romfs.h | 2 +-
.../arm/stm32/omnibusf4/src/stm32_romfs_initialize.c | 18 +++++++-----------
boards/arm/stm32/stm32f4discovery/src/stm32_romfs.h | 2 +-
.../stm32f4discovery/src/stm32_romfs_initialize.c | 19 +++++++------------
boards/arm/stm32f7/nucleo-144/src/stm32_romfs.h | 2 +-
.../stm32f7/nucleo-144/src/stm32_romfs_initialize.c | 18 +++++++-----------
boards/arm/stm32h7/nucleo-h743zi/src/stm32_romfs.h | 2 +-
.../nucleo-h743zi/src/stm32_romfs_initialize.c | 16 ++++++----------
14 files changed, 52 insertions(+), 81 deletions(-)
diff --git a/boards/arm/gd32f4/gd32f450zk-eval/src/gd32f4xx_romfs.c b/boards/arm/gd32f4/gd32f450zk-eval/src/gd32f4xx_romfs.c
index f035d3c7c5..53853018a9 100644
--- a/boards/arm/gd32f4/gd32f450zk-eval/src/gd32f4xx_romfs.c
+++ b/boards/arm/gd32f4/gd32f450zk-eval/src/gd32f4xx_romfs.c
@@ -75,14 +75,10 @@ __asm__ (
" .balign " STR(ROMFS_SECTOR_SIZE) "\n"
" .globl romfs_data_end \n"
"romfs_data_end: \n"
- " .globl romfs_data_size \n"
- "romfs_data_size: \n"
- " .word romfs_data_end - romfs_data_begin \n"
);
-extern const char romfs_data_begin;
-extern const char romfs_data_end;
-extern const int romfs_data_size;
+extern const uint8_t romfs_data_begin[];
+extern const uint8_t romfs_data_end[];
/****************************************************************************
* Public Functions
@@ -99,7 +95,7 @@ extern const int romfs_data_size;
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above.
*
****************************************************************************/
@@ -111,9 +107,9 @@ int gd32_romfs_initialize(void)
/* Create a ROM disk for the /etc filesystem */
- romfs_data_len = (uintptr_t)&romfs_data_end - (uintptr_t)&romfs_data_begin;
+ romfs_data_len = romfs_data_end - romfs_data_begin;
- ret = romdisk_register(CONFIG_GD32F4_ROMFS_DEV_MINOR, &romfs_data_begin,
+ ret = romdisk_register(CONFIG_GD32F4_ROMFS_DEV_MINOR, romfs_data_begin,
NSECTORS(romfs_data_len), ROMFS_SECTOR_SIZE);
if (ret < 0)
{
diff --git a/boards/arm/gd32f4/gd32f450zk-eval/src/gd32f4xx_romfs.h b/boards/arm/gd32f4/gd32f450zk-eval/src/gd32f4xx_romfs.h
index 93277325a1..2f722811c8 100644
--- a/boards/arm/gd32f4/gd32f450zk-eval/src/gd32f4xx_romfs.h
+++ b/boards/arm/gd32f4/gd32f450zk-eval/src/gd32f4xx_romfs.h
@@ -49,7 +49,7 @@
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet in
* gd32f4xx_romfs.c.
*
diff --git a/boards/arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.c b/boards/arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.c
index 65890ab6b1..c92f3afc00 100644
--- a/boards/arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.c
+++ b/boards/arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.c
@@ -75,14 +75,10 @@ __asm__ (
\
".balign " STR(ROMFS_SECTOR_SIZE) "\n"
".globl romfs_data_end\n"
-"romfs_data_end:\n"
- ".globl romfs_data_size\n"
-"romfs_data_size:\n"
- ".word romfs_data_end - romfs_data_begin\n");
+"romfs_data_end:\n");
-extern const uint8_t romfs_data_begin;
-extern const uint8_t romfs_data_end;
-extern const int romfs_data_size;
+extern const uint8_t romfs_data_begin[];
+extern const uint8_t romfs_data_end[];
/****************************************************************************
* Public Functions
@@ -99,21 +95,21 @@ extern const int romfs_data_size;
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_en) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_en) should contain
* ROMFS volume data, as included in the assembly snippet above.
*
****************************************************************************/
int lpc17_40_romfs_initialize(void)
{
- uintptr_t romfs_data_len;
+ size_t romfs_data_len;
int ret;
/* Create a ROM disk for the /etc filesystem */
- romfs_data_len = (uintptr_t)&romfs_data_end - (uintptr_t)&romfs_data_begin;
+ romfs_data_len = romfs_data_end - romfs_data_begin;
- ret = romdisk_register(CONFIG_LPC17_40_ROMFS_DEV_MINOR, &romfs_data_begin,
+ ret = romdisk_register(CONFIG_LPC17_40_ROMFS_DEV_MINOR, romfs_data_begin,
NSECTORS(romfs_data_len), ROMFS_SECTOR_SIZE);
if (ret < 0)
{
diff --git a/boards/arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.h b/boards/arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.h
index 900c43701f..fabd709313 100644
--- a/boards/arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.h
+++ b/boards/arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.h
@@ -49,7 +49,7 @@
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_end) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet in
* lpc17_40_romfs_initialize.c.
*
diff --git a/boards/arm/stm32/nucleo-f429zi/src/stm32_romfs.h b/boards/arm/stm32/nucleo-f429zi/src/stm32_romfs.h
index 8e743a171f..4f045630d7 100644
--- a/boards/arm/stm32/nucleo-f429zi/src/stm32_romfs.h
+++ b/boards/arm/stm32/nucleo-f429zi/src/stm32_romfs.h
@@ -49,7 +49,7 @@
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above (l. 84).
*
****************************************************************************/
diff --git a/boards/arm/stm32/nucleo-f429zi/src/stm32_romfs_initialize.c b/boards/arm/stm32/nucleo-f429zi/src/stm32_romfs_initialize.c
index c4e750c7db..d09dd34c47 100644
--- a/boards/arm/stm32/nucleo-f429zi/src/stm32_romfs_initialize.c
+++ b/boards/arm/stm32/nucleo-f429zi/src/stm32_romfs_initialize.c
@@ -77,14 +77,10 @@ __asm__ (
" .balign " STR(ROMFS_SECTOR_SIZE) "\n"
" .globl romfs_data_end \n"
"romfs_data_end: \n"
- " .globl romfs_data_size \n"
- "romfs_data_size: \n"
- " .word romfs_data_end - romfs_data_begin \n"
);
-extern const char romfs_data_begin;
-extern const char romfs_data_end;
-extern const int romfs_data_size;
+extern const uint8_t romfs_data_begin[];
+extern const uint8_t romfs_data_end[];
/****************************************************************************
* Public Functions
@@ -101,21 +97,21 @@ extern const int romfs_data_size;
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above (l. 84).
*
****************************************************************************/
int stm32_romfs_initialize(void)
{
- uintptr_t romfs_data_len;
+ size_t romfs_data_len;
int ret;
/* Create a ROM disk for the /etc filesystem */
- romfs_data_len = (uintptr_t)&romfs_data_end - (uintptr_t)&romfs_data_begin;
+ romfs_data_len = romfs_data_end - romfs_data_begin;
- ret = romdisk_register(CONFIG_STM32_ROMFS_DEV_MINOR, &romfs_data_begin,
+ ret = romdisk_register(CONFIG_STM32_ROMFS_DEV_MINOR, romfs_data_begin,
NSECTORS(romfs_data_len), ROMFS_SECTOR_SIZE);
if (ret < 0)
{
diff --git a/boards/arm/stm32/omnibusf4/src/stm32_romfs.h b/boards/arm/stm32/omnibusf4/src/stm32_romfs.h
index e0a97ff976..7f8f8861bc 100644
--- a/boards/arm/stm32/omnibusf4/src/stm32_romfs.h
+++ b/boards/arm/stm32/omnibusf4/src/stm32_romfs.h
@@ -64,7 +64,7 @@
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above (l. 84).
*
****************************************************************************/
diff --git a/boards/arm/stm32/omnibusf4/src/stm32_romfs_initialize.c b/boards/arm/stm32/omnibusf4/src/stm32_romfs_initialize.c
index 768702ba92..62f8c5c2cf 100644
--- a/boards/arm/stm32/omnibusf4/src/stm32_romfs_initialize.c
+++ b/boards/arm/stm32/omnibusf4/src/stm32_romfs_initialize.c
@@ -91,14 +91,10 @@ __asm__ (
\
".balign " STR(ROMFS_SECTOR_SIZE) "\n"
".globl romfs_data_end\n"
-"romfs_data_end:\n"
- ".globl romfs_data_size\n"
-"romfs_data_size:\n"
- ".word romfs_data_end - romfs_data_begin\n");
+"romfs_data_end:\n");
-extern const char romfs_data_begin;
-extern const char romfs_data_end;
-extern const int romfs_data_size;
+extern const uint8_t romfs_data_begin[];
+extern const uint8_t romfs_data_end[];
/****************************************************************************
* Public Functions
@@ -115,21 +111,21 @@ extern const int romfs_data_size;
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above (l. 84).
*
****************************************************************************/
int stm32_romfs_initialize(void)
{
- uintptr_t romfs_data_len
+ size_t romfs_data_len
int ret;
/* Create a ROM disk for the /etc filesystem */
- romfs_data_len = (uintptr_t)&romfs_data_end - (uintptr_t)&romfs_data_begin;
+ romfs_data_len = romfs_data_end - romfs_data_begin;
- ret = romdisk_register(CONFIG_STM32_ROMFS_DEV_MINOR, &romfs_data_begin,
+ ret = romdisk_register(CONFIG_STM32_ROMFS_DEV_MINOR, romfs_data_begin,
NSECTORS(romfs_data_len), ROMFS_SECTOR_SIZE);
if (ret < 0)
{
diff --git a/boards/arm/stm32/stm32f4discovery/src/stm32_romfs.h b/boards/arm/stm32/stm32f4discovery/src/stm32_romfs.h
index 97e041e7dc..7ceb7b8938 100644
--- a/boards/arm/stm32/stm32f4discovery/src/stm32_romfs.h
+++ b/boards/arm/stm32/stm32f4discovery/src/stm32_romfs.h
@@ -64,7 +64,7 @@
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above (l. 84).
*
****************************************************************************/
diff --git a/boards/arm/stm32/stm32f4discovery/src/stm32_romfs_initialize.c b/boards/arm/stm32/stm32f4discovery/src/stm32_romfs_initialize.c
index 0e2c5e46da..67c84c1f1a 100644
--- a/boards/arm/stm32/stm32f4discovery/src/stm32_romfs_initialize.c
+++ b/boards/arm/stm32/stm32f4discovery/src/stm32_romfs_initialize.c
@@ -91,15 +91,10 @@ __asm__ (
\
".balign " STR(ROMFS_SECTOR_SIZE) "\n"
".globl romfs_data_end\n"
-"romfs_data_end:\n"
- ".globl romfs_data_size\n"
-"romfs_data_size:\n"
- ".word romfs_data_end - romfs_data_begin\n"
- ".previous\n");
+"romfs_data_end:\n");
-extern const char romfs_data_begin;
-extern const char romfs_data_end;
-extern const int romfs_data_size;
+extern const uint8_t romfs_data_begin[];
+extern const uint8_t romfs_data_end[];
/****************************************************************************
* Public Functions
@@ -116,21 +111,21 @@ extern const int romfs_data_size;
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above (l. 84).
*
****************************************************************************/
int stm32_romfs_initialize(void)
{
- uintptr_t romfs_data_len;
+ size_t romfs_data_len;
int ret;
/* Create a ROM disk for the /etc filesystem */
- romfs_data_len = (uintptr_t)&romfs_data_end - (uintptr_t)&romfs_data_begin;
+ romfs_data_len = romfs_data_end - romfs_data_begin;
- ret = romdisk_register(CONFIG_STM32_ROMFS_DEV_MINOR, &romfs_data_begin,
+ ret = romdisk_register(CONFIG_STM32_ROMFS_DEV_MINOR, romfs_data_begin,
NSECTORS(romfs_data_len), ROMFS_SECTOR_SIZE);
if (ret < 0)
{
diff --git a/boards/arm/stm32f7/nucleo-144/src/stm32_romfs.h b/boards/arm/stm32f7/nucleo-144/src/stm32_romfs.h
index 6b46a66d3d..9ee2bbedb8 100644
--- a/boards/arm/stm32f7/nucleo-144/src/stm32_romfs.h
+++ b/boards/arm/stm32f7/nucleo-144/src/stm32_romfs.h
@@ -64,7 +64,7 @@
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above (l. 84).
*
****************************************************************************/
diff --git a/boards/arm/stm32f7/nucleo-144/src/stm32_romfs_initialize.c b/boards/arm/stm32f7/nucleo-144/src/stm32_romfs_initialize.c
index 9a8302c56a..fb56827400 100644
--- a/boards/arm/stm32f7/nucleo-144/src/stm32_romfs_initialize.c
+++ b/boards/arm/stm32f7/nucleo-144/src/stm32_romfs_initialize.c
@@ -91,14 +91,10 @@ __asm__ (
\
".balign " STR(ROMFS_SECTOR_SIZE) "\n"
".globl romfs_data_end\n"
-"romfs_data_end:\n"
- ".globl romfs_data_size\n"
-"romfs_data_size:\n"
- ".word romfs_data_end - romfs_data_begin\n");
+"romfs_data_end:\n");
-extern const char romfs_data_begin;
-extern const char romfs_data_end;
-extern const int romfs_data_size;
+extern const uint8_t romfs_data_begin[];
+extern const uint8_t romfs_data_end[];
/****************************************************************************
* Public Functions
@@ -115,21 +111,21 @@ extern const int romfs_data_size;
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above (l. 84).
*
****************************************************************************/
int stm32_romfs_initialize(void)
{
- uintptr_t romfs_data_len;
+ size_t romfs_data_len;
int ret;
/* Create a ROM disk for the /etc filesystem */
- romfs_data_len = (uintptr_t)&romfs_data_end - (uintptr_t)&romfs_data_begin;
+ romfs_data_len = romfs_data_end - romfs_data_begin;
- ret = romdisk_register(CONFIG_STM32_ROMFS_DEV_MINOR, &romfs_data_begin,
+ ret = romdisk_register(CONFIG_STM32_ROMFS_DEV_MINOR, romfs_data_begin,
NSECTORS(romfs_data_len), ROMFS_SECTOR_SIZE);
if (ret < 0)
{
diff --git a/boards/arm/stm32h7/nucleo-h743zi/src/stm32_romfs.h b/boards/arm/stm32h7/nucleo-h743zi/src/stm32_romfs.h
index 7251fa0d5b..a1c9a023aa 100644
--- a/boards/arm/stm32h7/nucleo-h743zi/src/stm32_romfs.h
+++ b/boards/arm/stm32h7/nucleo-h743zi/src/stm32_romfs.h
@@ -49,7 +49,7 @@
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above (l. 84).
*
****************************************************************************/
diff --git a/boards/arm/stm32h7/nucleo-h743zi/src/stm32_romfs_initialize.c b/boards/arm/stm32h7/nucleo-h743zi/src/stm32_romfs_initialize.c
index 5f5135385f..7852697934 100644
--- a/boards/arm/stm32h7/nucleo-h743zi/src/stm32_romfs_initialize.c
+++ b/boards/arm/stm32h7/nucleo-h743zi/src/stm32_romfs_initialize.c
@@ -75,14 +75,10 @@ __asm__ (
" .balign " STR(ROMFS_SECTOR_SIZE) "\n"
" .globl romfs_data_end \n"
"romfs_data_end: \n"
- " .globl romfs_data_size \n"
- "romfs_data_size: \n"
- " .word romfs_data_end - romfs_data_begin \n"
);
-extern const char romfs_data_begin;
-extern const char romfs_data_end;
-extern const int romfs_data_size;
+extern const uint8_t romfs_data_begin[];
+extern const uint8_t romfs_data_end[];
/****************************************************************************
* Public Functions
@@ -99,21 +95,21 @@ extern const int romfs_data_size;
* Zero (OK) on success, a negated errno value on error.
*
* Assumptions/Limitations:
- * Memory addresses [&romfs_data_begin .. &romfs_data_begin) should contain
+ * Memory addresses [romfs_data_begin .. romfs_data_end) should contain
* ROMFS volume data, as included in the assembly snippet above (l. 84).
*
****************************************************************************/
int stm32_romfs_initialize(void)
{
- uintptr_t romfs_data_len;
+ size_t romfs_data_len;
int ret;
/* Create a ROM disk for the /etc filesystem */
- romfs_data_len = (uintptr_t)&romfs_data_end - (uintptr_t)&romfs_data_begin;
+ romfs_data_len = romfs_data_end - romfs_data_begin;
- ret = romdisk_register(CONFIG_STM32_ROMFS_DEV_MINOR, &romfs_data_begin,
+ ret = romdisk_register(CONFIG_STM32_ROMFS_DEV_MINOR, romfs_data_begin,
NSECTORS(romfs_data_len), ROMFS_SECTOR_SIZE);
if (ret < 0)
{