TT12-MCU/applications/w25q.c
murmur 8cb31be86b 配置文件初步建立
看门狗不工作
待更新cfg中ini_puts和ini_gets函数为ini_putl和ini_getl
2023-06-01 10:23:08 +08:00

69 lines
1.6 KiB
C

/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2023-04-14 murmur the first version
*/
#include <rtthread.h>
//#define LOG_TAG "flash"
//#define LOG_LVL LOG_LVL_DBG
//#include <ulog.h>
#define DBG_TAG "w25q"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#include "board.h"
#include <rtdevice.h>
#include "cfg.h"
int rt_hw_spi_flash_init(void)
{
__HAL_RCC_GPIOB_CLK_ENABLE();
// __HAL_RCC_GPIOD_CLK_ENABLE();
// rt_kprintf("sfud success.\n");
// rt_tick_t t= rt_tick_get_millisecond();
rt_hw_spi_device_attach("spi2", "spi10", GPIOB, GPIO_PIN_12);
// rt_kprintf("sfud success.\n");
if (RT_NULL == rt_sfud_flash_probe("W25Q128", "spi10"))
{
rt_kprintf("sfud error.\n");
return -RT_ERROR;
};
// rt_kprintf("--%d.\n",rt_tick_get_millisecond()-t);
// rt_device_register(&(rtt_dev->flash_device), "W25Q128", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_STANDALONE);
rt_kprintf("sfud success.\n");
return RT_EOK;
}
/* 导出到自动初始化 */
INIT_COMPONENT_EXPORT(rt_hw_spi_flash_init);
void w25q128_mount(void)
{
// dfs_mkfs("elm", "W25Q128");
rt_device_t dev;
dev = rt_device_find("W25Q128");
if(dev != RT_NULL) {
if(dfs_mount("W25Q128", "/", "elm", 0, 0) == 0){
rt_kprintf("spi_flash mount to spi!\n");
} else {
rt_kprintf("spi_flash mount to spi failed!\n");
}
}
rt_kprintf("%d ms since boot.\n",rt_tick_get_millisecond());
add_val("bootCnt");
}
/* 导出到自动初始化 */
INIT_COMPONENT_EXPORT(w25q128_mount);