You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2026/05/02 10:37:01 UTC
(nuttx) 08/18: boards/avr: Replace board_app_initialize
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit f077c0321de7a8e7dd00a532c4499215648338c4
Author: Matteo Golin <ma...@gmail.com>
AuthorDate: Wed Feb 18 22:30:50 2026 -0500
boards/avr: Replace board_app_initialize
Replaced board_app_initialize logic with board_late_initialize.
Signed-off-by: Matteo Golin <ma...@gmail.com>
---
boards/avr/at32uc3/avr32dev1/src/Makefile | 4 +-
boards/avr/at32uc3/avr32dev1/src/avr32_appinit.c | 73 ----------------------
boards/avr/at32uc3/avr32dev1/src/avr32_boot.c | 20 ++++++
boards/avr/at32uc3/mizar32a/src/Makefile | 4 +-
boards/avr/at32uc3/mizar32a/src/avr32_appinit.c | 73 ----------------------
boards/avr/at32uc3/mizar32a/src/avr32_boot.c | 20 ++++++
.../avr/at90usb/micropendous3/src/at90usb_boot.c | 19 ++++++
boards/avr/at90usb/teensy-2.0/src/Makefile | 4 --
.../avr/at90usb/teensy-2.0/src/at90usb_appinit.c | 68 --------------------
boards/avr/at90usb/teensy-2.0/src/at90usb_boot.c | 19 ++++++
boards/avr/atmega/amber/src/atmega_boot.c | 19 ++++++
boards/avr/atmega/arduino-mega2560/src/avr_boot.c | 19 ++++++
boards/avr/atmega/elegoo-mega2560r3/src/avr_boot.c | 19 ++++++
.../avr/atmega/mega1284p-xplained/src/avr_boot.c | 19 ++++++
boards/avr/atmega/moteino-mega/src/avr_boot.c | 19 ++++++
15 files changed, 179 insertions(+), 220 deletions(-)
diff --git a/boards/avr/at32uc3/avr32dev1/src/Makefile b/boards/avr/at32uc3/avr32dev1/src/Makefile
index d37964d7697..2b8350fdfd6 100644
--- a/boards/avr/at32uc3/avr32dev1/src/Makefile
+++ b/boards/avr/at32uc3/avr32dev1/src/Makefile
@@ -23,13 +23,15 @@
include $(TOPDIR)/Make.defs
CSRCS = avr32_boot.c
+
ifeq ($(CONFIG_ARCH_LEDS),y)
CSRCS += avr32_leds.c
endif
+
ifeq ($(CONFIG_ARCH_BUTTONS),y)
CSRCS += avr32_buttons.c
endif
-CSRCS += avr32_appinit.c
+
CSRCS += avr32_bringup.c
include $(TOPDIR)/boards/Board.mk
diff --git a/boards/avr/at32uc3/avr32dev1/src/avr32_appinit.c b/boards/avr/at32uc3/avr32dev1/src/avr32_appinit.c
deleted file mode 100644
index 8c8592fd0e7..00000000000
--- a/boards/avr/at32uc3/avr32dev1/src/avr32_appinit.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
- * boards/avr/at32uc3/avr32dev1/src/avr32_appinit.c
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership. The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-
-#include <arch/board/board.h>
-
-#include "avr32dev1.h"
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: board_app_initialize
- *
- * Description:
- * Perform application specific initialization. This function is never
- * called directly from application code, but only indirectly via the
- * (non-standard) boardctl() interface using the command BOARDIOC_INIT.
- *
- * Input Parameters:
- * arg - The boardctl() argument is passed to the board_app_initialize()
- * implementation without modification. The argument has no
- * meaning to NuttX; the meaning of the argument is a contract
- * between the board-specific initialization logic and the
- * matching application logic. The value could be such things as a
- * mode enumeration value, a set of DIP switch switch settings, a
- * pointer to configuration data read from a file or serial FLASH,
- * or whatever you would like to do with it. Every implementation
- * should accept zero/NULL as a default configuration.
- *
- * Returned Value:
- * Zero (OK) is returned on success; a negated errno value is returned on
- * any failure to indicate the nature of the failure.
- *
- ****************************************************************************/
-
-int board_app_initialize(uintptr_t arg)
-{
-#ifndef CONFIG_BOARD_LATE_INITIALIZE
- /* Perform board initialization */
-
- return avr32_bringup();
-#else
- return OK;
-#endif /* CONFIG_BOARD_LATE_INITIALIZE */
-}
diff --git a/boards/avr/at32uc3/avr32dev1/src/avr32_boot.c b/boards/avr/at32uc3/avr32dev1/src/avr32_boot.c
index 4c6c761f647..8fcf82c82ac 100644
--- a/boards/avr/at32uc3/avr32dev1/src/avr32_boot.c
+++ b/boards/avr/at32uc3/avr32dev1/src/avr32_boot.c
@@ -68,3 +68,23 @@ void at32uc3_boardinitialize(void)
board_autoled_initializeialize();
#endif
}
+
+/****************************************************************************
+ * Name: board_late_initialize
+ *
+ * Description:
+ * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
+ * initialization call will be performed in the boot-up sequence to a
+ * function called board_late_initialize(). board_late_initialize() will be
+ * called immediately after up_initialize() is called and just before the
+ * initial application is started. This additional initialization phase
+ * may be used, for example, to initialize board-specific device drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+void board_late_initialize(void)
+{
+ avr32_bringup();
+}
+#endif
diff --git a/boards/avr/at32uc3/mizar32a/src/Makefile b/boards/avr/at32uc3/mizar32a/src/Makefile
index f714dd728cd..0a66e41f701 100644
--- a/boards/avr/at32uc3/mizar32a/src/Makefile
+++ b/boards/avr/at32uc3/mizar32a/src/Makefile
@@ -23,13 +23,15 @@
include $(TOPDIR)/Make.defs
CSRCS = avr32_boot.c
+
ifeq ($(CONFIG_ARCH_LEDS),y)
CSRCS += avr32_leds.c
endif
+
ifeq ($(CONFIG_ARCH_BUTTONS),y)
CSRCS += avr32_buttons.c
endif
-CSRCS += avr32_appinit.c
+
CSRCS += avr32_bringup.c
include $(TOPDIR)/boards/Board.mk
diff --git a/boards/avr/at32uc3/mizar32a/src/avr32_appinit.c b/boards/avr/at32uc3/mizar32a/src/avr32_appinit.c
deleted file mode 100644
index e2d62ffbc47..00000000000
--- a/boards/avr/at32uc3/mizar32a/src/avr32_appinit.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
- * boards/avr/at32uc3/mizar32a/src/avr32_appinit.c
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership. The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-
-#include <arch/board/board.h>
-
-#include "mizar32a.h"
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: board_app_initialize
- *
- * Description:
- * Perform application specific initialization. This function is never
- * called directly from application code, but only indirectly via the
- * (non-standard) boardctl() interface using the command BOARDIOC_INIT.
- *
- * Input Parameters:
- * arg - The boardctl() argument is passed to the board_app_initialize()
- * implementation without modification. The argument has no
- * meaning to NuttX; the meaning of the argument is a contract
- * between the board-specific initialization logic and the
- * matching application logic. The value could be such things as a
- * mode enumeration value, a set of DIP switch switch settings, a
- * pointer to configuration data read from a file or serial FLASH,
- * or whatever you would like to do with it. Every implementation
- * should accept zero/NULL as a default configuration.
- *
- * Returned Value:
- * Zero (OK) is returned on success; a negated errno value is returned on
- * any failure to indicate the nature of the failure.
- *
- ****************************************************************************/
-
-int board_app_initialize(uintptr_t arg)
-{
-#ifndef CONFIG_BOARD_LATE_INITIALIZE
- /* Perform board initialization */
-
- return avr32_bringup();
-#else
- return OK;
-#endif /* CONFIG_BOARD_LATE_INITIALIZE */
-}
diff --git a/boards/avr/at32uc3/mizar32a/src/avr32_boot.c b/boards/avr/at32uc3/mizar32a/src/avr32_boot.c
index a745997cc56..d4be3e96976 100644
--- a/boards/avr/at32uc3/mizar32a/src/avr32_boot.c
+++ b/boards/avr/at32uc3/mizar32a/src/avr32_boot.c
@@ -68,3 +68,23 @@ void at32uc3_boardinitialize(void)
board_autoled_initializeialize();
#endif
}
+
+/****************************************************************************
+ * Name: board_late_initialize
+ *
+ * Description:
+ * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
+ * initialization call will be performed in the boot-up sequence to a
+ * function called board_late_initialize(). board_late_initialize() will be
+ * called immediately after up_initialize() is called and just before the
+ * initial application is started. This additional initialization phase
+ * may be used, for example, to initialize board-specific device drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+void board_late_initialize(void)
+{
+ avr32_bringup();
+}
+#endif
diff --git a/boards/avr/at90usb/micropendous3/src/at90usb_boot.c b/boards/avr/at90usb/micropendous3/src/at90usb_boot.c
index d06888129bf..b09d700f570 100644
--- a/boards/avr/at90usb/micropendous3/src/at90usb_boot.c
+++ b/boards/avr/at90usb/micropendous3/src/at90usb_boot.c
@@ -77,3 +77,22 @@ void at90usb_boardinitialize(void)
at90usb_led_initialize();
#endif
}
+
+/****************************************************************************
+ * Name: board_late_initialize
+ *
+ * Description:
+ * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
+ * initialization call will be performed in the boot-up sequence to a
+ * function called board_late_initialize(). board_late_initialize() will be
+ * called immediately after up_initialize() is called and just before the
+ * initial application is started. This additional initialization phase
+ * may be used, for example, to initialize board-specific device drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+void board_late_initialize(void)
+{
+}
+#endif /* CONFIG_BOARD_LATE_INITIALIZE */
diff --git a/boards/avr/at90usb/teensy-2.0/src/Makefile b/boards/avr/at90usb/teensy-2.0/src/Makefile
index 4955e097ac3..3d0fce3153f 100644
--- a/boards/avr/at90usb/teensy-2.0/src/Makefile
+++ b/boards/avr/at90usb/teensy-2.0/src/Makefile
@@ -28,10 +28,6 @@ ifeq ($(CONFIG_ARCH_LEDS),y)
CSRCS += at90usb_leds.c
endif
-ifeq ($(CONFIG_BOARDCTL),y)
-CSRCS += at90usb_appinit.c
-endif
-
ifeq ($(CONFIG_USBMSC),y)
CSRCS += at90usb_usbmsc.c
endif
diff --git a/boards/avr/at90usb/teensy-2.0/src/at90usb_appinit.c b/boards/avr/at90usb/teensy-2.0/src/at90usb_appinit.c
deleted file mode 100644
index 5f9705159cd..00000000000
--- a/boards/avr/at90usb/teensy-2.0/src/at90usb_appinit.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
- * boards/avr/at90usb/teensy-2.0/src/at90usb_appinit.c
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership. The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <nuttx/board.h>
-
-#ifdef CONFIG_BOARDCTL
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: board_app_initialize
- *
- * Description:
- * Perform application specific initialization. This function is never
- * called directly from application code, but only indirectly via the
- * (non-standard) boardctl() interface using the command BOARDIOC_INIT.
- *
- * Input Parameters:
- * arg - The boardctl() argument is passed to the board_app_initialize()
- * implementation without modification. The argument has no
- * meaning to NuttX; the meaning of the argument is a contract
- * between the board-specific initialization logic and the
- * matching application logic. The value could be such things as a
- * mode enumeration value, a set of DIP switch switch settings, a
- * pointer to configuration data read from a file or serial FLASH,
- * or whatever you would like to do with it. Every implementation
- * should accept zero/NULL as a default configuration.
- *
- * Returned Value:
- * Zero (OK) is returned on success; a negated errno value is returned on
- * any failure to indicate the nature of the failure.
- *
- ****************************************************************************/
-
-int board_app_initialize(uintptr_t arg)
-{
- return OK;
-}
-
-#endif /* CONFIG_BOARDCTL */
diff --git a/boards/avr/at90usb/teensy-2.0/src/at90usb_boot.c b/boards/avr/at90usb/teensy-2.0/src/at90usb_boot.c
index 4e74f9f99e5..810424c81ce 100644
--- a/boards/avr/at90usb/teensy-2.0/src/at90usb_boot.c
+++ b/boards/avr/at90usb/teensy-2.0/src/at90usb_boot.c
@@ -69,3 +69,22 @@ void at90usb_boardinitialize(void)
at90usb_led_initialize();
#endif
}
+
+/****************************************************************************
+ * Name: board_late_initialize
+ *
+ * Description:
+ * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
+ * initialization call will be performed in the boot-up sequence to a
+ * function called board_late_initialize(). board_late_initialize() will be
+ * called immediately after up_initialize() is called and just before the
+ * initial application is started. This additional initialization phase
+ * may be used, for example, to initialize board-specific device drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+void board_late_initialize(void)
+{
+}
+#endif /* CONFIG_BOARD_LATE_INITIALIZE */
diff --git a/boards/avr/atmega/amber/src/atmega_boot.c b/boards/avr/atmega/amber/src/atmega_boot.c
index 7ade76f741c..3dc0455b128 100644
--- a/boards/avr/atmega/amber/src/atmega_boot.c
+++ b/boards/avr/atmega/amber/src/atmega_boot.c
@@ -77,3 +77,22 @@ void atmega_boardinitialize(void)
atmega_led_initialize();
#endif
}
+
+/****************************************************************************
+ * Name: board_late_initialize
+ *
+ * Description:
+ * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
+ * initialization call will be performed in the boot-up sequence to a
+ * function called board_late_initialize(). board_late_initialize() will be
+ * called immediately after up_initialize() is called and just before the
+ * initial application is started. This additional initialization phase
+ * may be used, for example, to initialize board-specific device drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+void board_late_initialize(void)
+{
+}
+#endif /* CONFIG_BOARD_LATE_INITIALIZE */
diff --git a/boards/avr/atmega/arduino-mega2560/src/avr_boot.c b/boards/avr/atmega/arduino-mega2560/src/avr_boot.c
index 77563d96eda..537aff676d4 100644
--- a/boards/avr/atmega/arduino-mega2560/src/avr_boot.c
+++ b/boards/avr/atmega/arduino-mega2560/src/avr_boot.c
@@ -65,3 +65,22 @@ void atmega_boardinitialize(void)
atmega_led_initialize();
#endif
}
+
+/****************************************************************************
+ * Name: board_late_initialize
+ *
+ * Description:
+ * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
+ * initialization call will be performed in the boot-up sequence to a
+ * function called board_late_initialize(). board_late_initialize() will be
+ * called immediately after up_initialize() is called and just before the
+ * initial application is started. This additional initialization phase
+ * may be used, for example, to initialize board-specific device drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+void board_late_initialize(void)
+{
+}
+#endif /* CONFIG_BOARD_LATE_INITIALIZE */
diff --git a/boards/avr/atmega/elegoo-mega2560r3/src/avr_boot.c b/boards/avr/atmega/elegoo-mega2560r3/src/avr_boot.c
index bc4aaf7fd7f..da65e66436c 100644
--- a/boards/avr/atmega/elegoo-mega2560r3/src/avr_boot.c
+++ b/boards/avr/atmega/elegoo-mega2560r3/src/avr_boot.c
@@ -66,3 +66,22 @@ void atmega_boardinitialize(void)
board_autoled_initialize();
#endif
}
+
+/****************************************************************************
+ * Name: board_late_initialize
+ *
+ * Description:
+ * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
+ * initialization call will be performed in the boot-up sequence to a
+ * function called board_late_initialize(). board_late_initialize() will be
+ * called immediately after up_initialize() is called and just before the
+ * initial application is started. This additional initialization phase
+ * may be used, for example, to initialize board-specific device drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+void board_late_initialize(void)
+{
+}
+#endif /* CONFIG_BOARD_LATE_INITIALIZE */
diff --git a/boards/avr/atmega/mega1284p-xplained/src/avr_boot.c b/boards/avr/atmega/mega1284p-xplained/src/avr_boot.c
index 1736e2d1eb0..6ed87f8f7ef 100644
--- a/boards/avr/atmega/mega1284p-xplained/src/avr_boot.c
+++ b/boards/avr/atmega/mega1284p-xplained/src/avr_boot.c
@@ -77,3 +77,22 @@ void atmega_boardinitialize(void)
atmega_led_initialize();
#endif
}
+
+/****************************************************************************
+ * Name: board_late_initialize
+ *
+ * Description:
+ * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
+ * initialization call will be performed in the boot-up sequence to a
+ * function called board_late_initialize(). board_late_initialize() will be
+ * called immediately after up_initialize() is called and just before the
+ * initial application is started. This additional initialization phase
+ * may be used, for example, to initialize board-specific device drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+void board_late_initialize(void)
+{
+}
+#endif
diff --git a/boards/avr/atmega/moteino-mega/src/avr_boot.c b/boards/avr/atmega/moteino-mega/src/avr_boot.c
index 094085dffe6..ded95a3e956 100644
--- a/boards/avr/atmega/moteino-mega/src/avr_boot.c
+++ b/boards/avr/atmega/moteino-mega/src/avr_boot.c
@@ -77,3 +77,22 @@ void atmega_boardinitialize(void)
atmega_led_initialize();
#endif
}
+
+/****************************************************************************
+ * Name: board_late_initialize
+ *
+ * Description:
+ * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
+ * initialization call will be performed in the boot-up sequence to a
+ * function called board_late_initialize(). board_late_initialize() will be
+ * called immediately after up_initialize() is called and just before the
+ * initial application is started. This additional initialization phase
+ * may be used, for example, to initialize board-specific device drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+void board_late_initialize(void)
+{
+}
+#endif /* CONFIG_BOARD_LATE_INITIALIZE */