代码拉取完成,页面将自动刷新
stm32H7 bootloader,支持U盘更新,支持SD卡更新,支持启动到QSPI, 点击查看H7PI的硬件设计参考
{
"path":"1:/update/app_test.bin",
"version":"0.1",
"crc32":"653E571F"
}
u8 QSPI_Init(void)
{
u32 tempreg=0;
RCC->AHB4ENR|=1<<0; //??GPIOA??
RCC->AHB4ENR|=1<<1; //??GPIOB??
RCC->AHB4ENR|=1<<2; //??GPIOC??
RCC->AHB4ENR|=1<<4; //??GPIOE??
RCC->AHB3ENR|=1<<14; //QSPI????
//PB2 QUADSPI1_CLK
GPIO_Set(GPIOB,1<<2,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_HIGH,GPIO_PUPD_PU);
//PB6 QUADSPI1_BK1_NCS
GPIO_Set(GPIOB,1<<6,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_HIGH,GPIO_PUPD_PU);
//PC9,PC10 QUADSPI1_BK1_IO0, IO1,
GPIO_Set(GPIOC,1<<9,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_HIGH,GPIO_PUPD_PU);
GPIO_Set(GPIOC,1<<10,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_HIGH,GPIO_PUPD_PU);
//IO3
GPIO_Set(GPIOA,1<<1,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_HIGH,GPIO_PUPD_PU);
//PE2 QUADSPI1_BK1_IO2
GPIO_Set(GPIOE, 1<<2,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_HIGH,GPIO_PUPD_PU);
GPIO_AF_Set(GPIOB,2,9); //PB2,AF9
GPIO_AF_Set(GPIOB,6,10); //PB6,AF10
GPIO_AF_Set(GPIOC,9,9); //PC9,AF9
GPIO_AF_Set(GPIOC,10,9); //PC10,AF9
GPIO_AF_Set(GPIOA,1,9); //Pa1,AF9
GPIO_AF_Set(GPIOE,2,9); //PE2,AF9
tempreg|=0<<7; //选择FLASH1,flash1将0改为1
tempreg|=0<<6; //禁止双闪存模式,开启双闪存的话将0改为1
#ifdef W25Q64JV
struct FlashDevice const FlashDevice = {
FLASH_DRV_VERS, // Driver Version, do not modify!
"H7PI_W25Q64", // Device Name
EXTSPI, // Device Type
0x90000000, // Device Start Address
0x00800000, // Device Size (8MB)
4096, // Programming Page Size
0, // Reserved, must be 0
0xFF, // Initial Content of Erased Memory
1000, // Program Page Timeout 300 mSec
3000, // Erase Sector Timeout 3000 mSec
// Specify Size and Address of Sectors
0x001000, 0x000000, // Sector Size 4kB (2048 Sectors)
SECTOR_END
};
#endif
\Keil_v5\ARM\Flash
(这个根据自己keil的安装目录定位)struct FlashDevice const FlashDevice = {
FLASH_DRV_VERS, // Driver Version, do not modify!
"H7PI_W25Q64", // Device Name
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。