summaryrefslogtreecommitdiff
path: root/os/arch
diff options
context:
space:
mode:
authorKonstantin Kirik (snegovick) <snegovick@uprojects.org>2026-01-06 03:52:38 +0300
committerKonstantin Kirik (snegovick) <snegovick@uprojects.org>2026-01-06 03:52:38 +0300
commitaf1c76f9bb1f1d634a6d2bacdbfd1012d84ff42e (patch)
tree97cbf1d1edf5902972f73c2669386b7cd81c6b06 /os/arch
parent0689231065bde196d0c46a9b47f270e589d2c687 (diff)
Fixup all drivers to make code compilable
Diffstat (limited to 'os/arch')
-rw-r--r--os/arch/aarch32/armv7e_m/stm32f7/startup_stm32f769xx.s2
-rw-r--r--os/arch/aarch32/armv7e_m/stm32f7/stm32f769xx.h2
-rw-r--r--os/arch/aarch32/armv7e_m/stm32f7/stm32f7xx.h6
-rw-r--r--os/arch/aarch32/armv7e_m/stm32f7/system_stm32f7xx.c1
-rw-r--r--os/arch/aarch32/armv7e_m/stm32f769/init.c17
-rw-r--r--os/arch/aarch32/armv7e_m/stm32f769/sys_io.h9
-rw-r--r--os/arch/aarch32/armv7e_m/sys_io.h3
-rw-r--r--os/arch/aarch32/sys_io.h3
-rw-r--r--os/arch/sys_io.h11
9 files changed, 35 insertions, 19 deletions
diff --git a/os/arch/aarch32/armv7e_m/stm32f7/startup_stm32f769xx.s b/os/arch/aarch32/armv7e_m/stm32f7/startup_stm32f769xx.s
index f71b6695..593d6475 100644
--- a/os/arch/aarch32/armv7e_m/stm32f7/startup_stm32f769xx.s
+++ b/os/arch/aarch32/armv7e_m/stm32f7/startup_stm32f769xx.s
@@ -95,7 +95,7 @@ LoopFillZerobss:
bcc FillZerobss
/* Call static constructors */
- bl __libc_init_array
+/* bl __libc_init_array*/
/* Call the application's entry point.*/
bl main
bx lr
diff --git a/os/arch/aarch32/armv7e_m/stm32f7/stm32f769xx.h b/os/arch/aarch32/armv7e_m/stm32f7/stm32f769xx.h
index 56935feb..9f65e14d 100644
--- a/os/arch/aarch32/armv7e_m/stm32f7/stm32f769xx.h
+++ b/os/arch/aarch32/armv7e_m/stm32f7/stm32f769xx.h
@@ -182,7 +182,7 @@ typedef enum
#define __FPU_PRESENT 1U /*!< FPU present */
#define __ICACHE_PRESENT 1U /*!< CM7 instruction cache present */
#define __DCACHE_PRESENT 1U /*!< CM7 data cache present */
-#include "core_cm7.h" /*!< Cortex-M7 processor and core peripherals */
+#include <arch/aarch32/armv7e_m/cmsis/core_cm7.h> /*!< Cortex-M7 processor and core peripherals */
#include "system_stm32f7xx.h"
diff --git a/os/arch/aarch32/armv7e_m/stm32f7/stm32f7xx.h b/os/arch/aarch32/armv7e_m/stm32f7/stm32f7xx.h
index 15b8dde0..7d8f6924 100644
--- a/os/arch/aarch32/armv7e_m/stm32f7/stm32f7xx.h
+++ b/os/arch/aarch32/armv7e_m/stm32f7/stm32f7xx.h
@@ -56,7 +56,7 @@
application
*/
#if !defined (STM32F756xx) && !defined (STM32F746xx) && !defined (STM32F745xx) && !defined (STM32F765xx) && \
- !defined (STM32F767xx) && !defined (STM32F769xx) && !defined (STM32F777xx) && !defined (STM32F779xx) && \
+ !defined (STM32F767xx) && !defined (CONFIG_ARCH_CPU_STM32F769) && !defined (STM32F777xx) && !defined (STM32F779xx) && \
!defined (STM32F722xx) && !defined (STM32F723xx) && !defined (STM32F732xx) && !defined (STM32F733xx) && \
!defined (STM32F730xx) && !defined (STM32F750xx)
@@ -69,7 +69,7 @@
STM32F765ZI, STM32F765ZG, STM32F765VI, STM32F765VG Devices */
/* #define STM32F767xx */ /*!< STM32F767BG, STM32F767BI, STM32F767IG, STM32F767II, STM32F767NG, STM32F767NI,
STM32F767VG, STM32F767VI, STM32F767ZG, STM32F767ZI Devices */
- /* #define STM32F769xx */ /*!< STM32F769AG, STM32F769AI, STM32F769BG, STM32F769BI, STM32F769IG, STM32F769II,
+ /* #define CONFIG_ARCH_CPU_STM32F769 */ /*!< STM32F769AG, STM32F769AI, STM32F769BG, STM32F769BI, STM32F769IG, STM32F769II,
STM32F769NG, STM32F769NI, STM32F768AI Devices */
/* #define STM32F777xx */ /*!< STM32F777VI, STM32F777ZI, STM32F777II, STM32F777BI, STM32F777NI Devices */
/* #define STM32F779xx */ /*!< STM32F779II, STM32F779BI, STM32F779NI, STM32F779AI, STM32F778AI Devices */
@@ -131,7 +131,7 @@
#include "stm32f765xx.h"
#elif defined(STM32F767xx)
#include "stm32f767xx.h"
-#elif defined(STM32F769xx)
+#elif defined(CONFIG_ARCH_CPU_STM32F769)
#include "stm32f769xx.h"
#elif defined(STM32F777xx)
#include "stm32f777xx.h"
diff --git a/os/arch/aarch32/armv7e_m/stm32f7/system_stm32f7xx.c b/os/arch/aarch32/armv7e_m/stm32f7/system_stm32f7xx.c
index 1387051c..bf363777 100644
--- a/os/arch/aarch32/armv7e_m/stm32f7/system_stm32f7xx.c
+++ b/os/arch/aarch32/armv7e_m/stm32f7/system_stm32f7xx.c
@@ -44,6 +44,7 @@
* @{
*/
+#include <config.h>
#include "stm32f7xx.h"
#if !defined (HSE_VALUE)
diff --git a/os/arch/aarch32/armv7e_m/stm32f769/init.c b/os/arch/aarch32/armv7e_m/stm32f769/init.c
index e55267ec..571e36e4 100644
--- a/os/arch/aarch32/armv7e_m/stm32f769/init.c
+++ b/os/arch/aarch32/armv7e_m/stm32f769/init.c
@@ -1,10 +1,15 @@
-#include <arch/aarch32/cmsis/core_cm7.h>
+#include <arch/aarch32/armv7e_m/stm32f7/stm32f769xx.h>
+#include <arch/sys_io.h>
+#include <drivers/clock/stm32f769_rcc.h>
#include <drivers/include/device.h>
#include <drivers/memory/stm32f7_mpu.h>
#include <drivers/clock/stm32f769_clocks.h>
#include <drivers/clock/stm32f769_clock_control.h>
#include <drivers/uart/stm32f7_uart.h>
+#include <drivers/uart/uart.h>
+
+#include "cortex.h"
struct device mpu;
struct device clkctrl;
@@ -35,8 +40,8 @@ static void __cpu_cache_enable(void)
SCB_EnableDCache();
}
-#define __FLASH_ART_ENABLE() SET_BIT(FLASH->ACR, FLASH_ACR_ARTEN)
-#define __FLASH_PREFETCH_BUFFER_ENABLE() (FLASH->ACR |= FLASH_ACR_PRFTEN)
+#define __FLASH_ART_ENABLE() sys_set_bit(FLASH->ACR, FLASH_ACR_ARTEN)
+#define __FLASH_PREFETCH_BUFFER_ENABLE() sys_set_bit(FLASH->ACR, FLASH_ACR_PRFTEN)
#define TICK_INT_PRIORITY 0x0FU
static void __nvic_setpriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
@@ -71,8 +76,8 @@ static void __rcc_get_clock_config(struct rcc_clk_init *clkinit, uint32_t *flas
static int __init_tick (uint32_t TickPriority)
{
struct rcc_clk_init clkconfig;
- uint32_t uwTimclock, uwAPB1Prescaler = 0U;
- uint32_t pFLatency;
+ //uint32_t uwTimclock, uwAPB1Prescaler = 0U;
+ uint32_t flash_latency;
/*Configure the TIM6 IRQ priority */
__nvic_setpriority(SysTick_IRQn, TickPriority, 0U);
@@ -84,7 +89,7 @@ static int __init_tick (uint32_t TickPriority)
__rcc_get_clock_config(&clkconfig, &flash_latency);
uint32_t sys_rate = 0;
- stm32f7_clock_control_get_rate(STM32F769_RCC_SYS_SET_OFFSET, &sys_rate);
+ stm32f769_clock_control_get_rate(STM32F769_RCC_SYS_SET_OFFSET, &sys_rate);
sys_write32(((sys_rate / 1000) - 1) & SysTick_LOAD_RELOAD_Msk, SysTick->LOAD);
sys_clear_bits(SysTick->CTRL, SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk | SysTick_CTRL_TICKINT_Msk);
diff --git a/os/arch/aarch32/armv7e_m/stm32f769/sys_io.h b/os/arch/aarch32/armv7e_m/stm32f769/sys_io.h
index a8328272..9f70d641 100644
--- a/os/arch/aarch32/armv7e_m/stm32f769/sys_io.h
+++ b/os/arch/aarch32/armv7e_m/stm32f769/sys_io.h
@@ -1,6 +1,15 @@
#ifndef __SYS_IO_H__
#define __SYS_IO_H__
+#include <stdint.h>
+
+#define REG32(addr) (*(volatile uint32_t *)(uint32_t)(addr))
+#define REG16(addr) (*(volatile uint16_t *)(uint32_t)(addr))
+#define REG8(addr) (*(volatile uint8_t *)(uint32_t)(addr))
+#ifndef BIT
+#define BIT(x) ((uint32_t)((uint32_t)0x01U<<(x)))
+#endif
+
static inline uint8_t sys_read8(uint32_t addr)
{
return *(volatile uint8_t *)addr;
diff --git a/os/arch/aarch32/armv7e_m/sys_io.h b/os/arch/aarch32/armv7e_m/sys_io.h
deleted file mode 100644
index 75704dad..00000000
--- a/os/arch/aarch32/armv7e_m/sys_io.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#if defined(CONFIG_ARCH_CPU_STM32F769)
-#include <arch/aarch32/armv7e_m/stm32f769/sys_io.h>
-#endif
diff --git a/os/arch/aarch32/sys_io.h b/os/arch/aarch32/sys_io.h
deleted file mode 100644
index 58fbbe33..00000000
--- a/os/arch/aarch32/sys_io.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#if defined(CONFIG_ARCH_SUB_ARMV7E_M)
-#include <arch/aarch32/armv7e_m/sys_io.h>
-#endif
diff --git a/os/arch/sys_io.h b/os/arch/sys_io.h
index ba01326c..314960a2 100644
--- a/os/arch/sys_io.h
+++ b/os/arch/sys_io.h
@@ -1,3 +1,10 @@
-#if defined(CONFIG_ARCH_AARCH32)
-#include <arch/aarch32/sys_io.h>
+#ifndef __ROOT_SYS_IO_H__
+#define __ROOT_SYS_IO_H__
+
+#include <config.h>
+
+#if defined(CONFIG_ARCH_CPU_STM32F769)
+#include <arch/aarch32/armv7e_m/stm32f769/sys_io.h>
#endif
+
+#endif/*__ROOT_SYS_IO_H__*/