diff options
| author | Konstantin Kirik (snegovick) <snegovick@uprojects.org> | 2026-01-06 03:52:38 +0300 |
|---|---|---|
| committer | Konstantin Kirik (snegovick) <snegovick@uprojects.org> | 2026-01-06 03:52:38 +0300 |
| commit | af1c76f9bb1f1d634a6d2bacdbfd1012d84ff42e (patch) | |
| tree | 97cbf1d1edf5902972f73c2669386b7cd81c6b06 /os/arch/aarch32 | |
| parent | 0689231065bde196d0c46a9b47f270e589d2c687 (diff) | |
Fixup all drivers to make code compilable
Diffstat (limited to 'os/arch/aarch32')
| -rw-r--r-- | os/arch/aarch32/armv7e_m/stm32f7/startup_stm32f769xx.s | 2 | ||||
| -rw-r--r-- | os/arch/aarch32/armv7e_m/stm32f7/stm32f769xx.h | 2 | ||||
| -rw-r--r-- | os/arch/aarch32/armv7e_m/stm32f7/stm32f7xx.h | 6 | ||||
| -rw-r--r-- | os/arch/aarch32/armv7e_m/stm32f7/system_stm32f7xx.c | 1 | ||||
| -rw-r--r-- | os/arch/aarch32/armv7e_m/stm32f769/init.c | 17 | ||||
| -rw-r--r-- | os/arch/aarch32/armv7e_m/stm32f769/sys_io.h | 9 | ||||
| -rw-r--r-- | os/arch/aarch32/armv7e_m/sys_io.h | 3 | ||||
| -rw-r--r-- | os/arch/aarch32/sys_io.h | 3 |
8 files changed, 26 insertions, 17 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 |
