#ifndef _SYS_H #define _SYS_H #include "stm32f7xx.h" #include "core_cm7.h" #include "stm32f7xx_hal.h" ////////////////////////////////////////////////////////////////////////////////// //本程序只供学习使用,未经作者许可,不得用于其它任何用途 //ALIENTEK STM32F7开发板 //系统时钟初始化 //正点原子@ALIENTEK //技术论坛:www.openedv.com //创建日期:2015/6/10 //版本:V1.0 //版权所有,盗版必究。 //Copyright(C) 广州市星翼电子科技有限公司 2014-2024 //All rights reserved //******************************************************************************** //修改说明 //无 ////////////////////////////////////////////////////////////////////////////////// //0,不支持os //1,支持os #define SYSTEM_SUPPORT_OS 1 //定义系统文件夹是否支持OS /////////////////////////////////////////////////////////////////////////////////// //定义一些常用的数据类型短关键字 typedef int32_t s32; typedef int16_t s16; typedef int8_t s8; typedef const int32_t sc32; typedef const int16_t sc16; typedef const int8_t sc8; typedef __IO int32_t vs32; typedef __IO int16_t vs16; typedef __IO int8_t vs8; typedef __I int32_t vsc32; typedef __I int16_t vsc16; typedef __I int8_t vsc8; typedef uint32_t u32; typedef uint16_t u16; typedef uint8_t u8; typedef const uint32_t uc32; typedef const uint16_t uc16; typedef const uint8_t uc8; typedef __IO uint32_t vu32; typedef __IO uint16_t vu16; typedef __IO uint8_t vu8; typedef __I uint32_t vuc32; typedef __I uint16_t vuc16; typedef __I uint8_t vuc8; #define ON 1 #define OFF 0 #define Write_Through() (*(__IO uint32_t*)0XE000EF9C=1UL<<2) //Cache透写模式 void Cache_Enable(void); //使能STM32F7的L1-Cahce void Stm32_Clock_Init(u32 plln,u32 pllm,u32 pllp,u32 pllq); //配置系统时钟 u8 Get_ICahceSta(void);//判断I_Cache是否打开 u8 Get_DCahceSta(void);//判断I_Dache是否打开 //以下为汇编函数 void WFI_SET(void); //执行WFI指令 void INTX_DISABLE(void);//关闭所有中断 void INTX_ENABLE(void); //开启所有中断 void MSR_MSP(u32 addr); //设置堆栈地址 #endif