format codes

pull/117/head
Meco Man 5 years ago
parent ef3556f202
commit 97ef8c16a6

@ -32,20 +32,20 @@
*/ */
static void RCC_Configuration(void) static void RCC_Configuration(void)
{ {
//下面是给各模块开启时钟 //下面是给各模块开启时钟
//启动GPIO //启动GPIO
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | \ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | \
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | \ RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | \
RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOG, RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOG,
ENABLE); ENABLE);
//启动AFIO //启动AFIO
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//启动USART1时钟 //启动USART1时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
//启动USART2时钟 //启动USART2时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
//启动DMA时钟 //启动DMA时钟
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
/* Enable ADC1 and GPIOC clock */ /* Enable ADC1 and GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);

@ -74,16 +74,16 @@ static void gpio_configuration(spi_user_data_t spi) {
static void spi_configuration(spi_user_data_t spi) { static void spi_configuration(spi_user_data_t spi) {
SPI_InitTypeDef SPI_InitStructure; SPI_InitTypeDef SPI_InitStructure;
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //SPI 设置为双线双向全双工 SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //SPI 设置为双线双向全双工
SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //设置为主 SPI SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //设置为主 SPI
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //SPI 发送接收 8 位帧结构 SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //SPI 发送接收 8 位帧结构
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; //时钟悬空低 SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; //时钟悬空低
SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; //数据捕获于第一个时钟沿 SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; //数据捕获于第一个时钟沿
//TODO 以后可以尝试硬件 CS //TODO 以后可以尝试硬件 CS
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //内部 NSS 信号由 SSI 位控制 SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //内部 NSS 信号由 SSI 位控制
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; //波特率预分频值为 2 SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; //波特率预分频值为 2
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; //数据传输从 MSB 位开始 SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; //数据传输从 MSB 位开始
SPI_InitStructure.SPI_CRCPolynomial = 7; // CRC 值计算的多项式 SPI_InitStructure.SPI_CRCPolynomial = 7; // CRC 值计算的多项式
SPI_I2S_DeInit(spi->spix); SPI_I2S_DeInit(spi->spix);
SPI_Init(spi->spix, &SPI_InitStructure); SPI_Init(spi->spix, &SPI_InitStructure);
@ -117,15 +117,15 @@ static sfud_err spi_write_read(const sfud_spi *spi, const uint8_t *write_buf, si
} }
GPIO_ResetBits(spi_dev->cs_gpiox, spi_dev->cs_gpio_pin); GPIO_ResetBits(spi_dev->cs_gpiox, spi_dev->cs_gpio_pin);
/* 开始读写数据 */ /* 开始读写数据 */
for (size_t i = 0, retry_times; i < write_size + read_size; i++) { for (size_t i = 0, retry_times; i < write_size + read_size; i++) {
/* 先写缓冲区中的数据到 SPI 总线,数据写完后,再写 dummy(0xFF) 到 SPI 总线 */ /* 先写缓冲区中的数据到 SPI 总线,数据写完后,再写 dummy(0xFF) 到 SPI 总线 */
if (i < write_size) { if (i < write_size) {
send_data = *write_buf++; send_data = *write_buf++;
} else { } else {
send_data = SFUD_DUMMY_DATA; send_data = SFUD_DUMMY_DATA;
} }
/* 发送数据 */ /* 发送数据 */
retry_times = 1000; retry_times = 1000;
while (SPI_I2S_GetFlagStatus(spi_dev->spix, SPI_I2S_FLAG_TXE) == RESET) { while (SPI_I2S_GetFlagStatus(spi_dev->spix, SPI_I2S_FLAG_TXE) == RESET) {
SFUD_RETRY_PROCESS(NULL, retry_times, result); SFUD_RETRY_PROCESS(NULL, retry_times, result);
@ -134,7 +134,7 @@ static sfud_err spi_write_read(const sfud_spi *spi, const uint8_t *write_buf, si
goto exit; goto exit;
} }
SPI_I2S_SendData(spi_dev->spix, send_data); SPI_I2S_SendData(spi_dev->spix, send_data);
/* 接收数据 */ /* 接收数据 */
retry_times = 1000; retry_times = 1000;
while (SPI_I2S_GetFlagStatus(spi_dev->spix, SPI_I2S_FLAG_RXNE) == RESET) { while (SPI_I2S_GetFlagStatus(spi_dev->spix, SPI_I2S_FLAG_RXNE) == RESET) {
SFUD_RETRY_PROCESS(NULL, retry_times, result); SFUD_RETRY_PROCESS(NULL, retry_times, result);
@ -143,7 +143,7 @@ static sfud_err spi_write_read(const sfud_spi *spi, const uint8_t *write_buf, si
goto exit; goto exit;
} }
read_data = SPI_I2S_ReceiveData(spi_dev->spix); read_data = SPI_I2S_ReceiveData(spi_dev->spix);
/* 写缓冲区中的数据发完后,再读取 SPI 总线中的数据到读缓冲区 */ /* 写缓冲区中的数据发完后,再读取 SPI 总线中的数据到读缓冲区 */
if (i >= write_size) { if (i >= write_size) {
*read_buf++ = read_data; *read_buf++ = read_data;
} }
@ -167,13 +167,13 @@ sfud_err sfud_spi_port_init(sfud_flash *flash) {
switch (flash->index) { switch (flash->index) {
case SFUD_SST25_DEVICE_INDEX: { case SFUD_SST25_DEVICE_INDEX: {
/* RCC 初始化 */ /* RCC 初始化 */
rcc_configuration(&spi1); rcc_configuration(&spi1);
/* GPIO 初始化 */ /* GPIO 初始化 */
gpio_configuration(&spi1); gpio_configuration(&spi1);
/* SPI 外设初始化 */ /* SPI 外设初始化 */
spi_configuration(&spi1); spi_configuration(&spi1);
/* 同步 Flash 移植所需的接口及数据 */ /* 同步 Flash 移植所需的接口及数据 */
flash->spi.wr = spi_write_read; flash->spi.wr = spi_write_read;
flash->spi.lock = spi_lock; flash->spi.lock = spi_lock;
flash->spi.unlock = spi_unlock; flash->spi.unlock = spi_unlock;

@ -223,7 +223,7 @@ static bool read_basic_table(sfud_flash *flash, sfdp_para_header *basic_header)
return false; return false;
} }
/* get write granularity */ /* get write granularity */
//TODO 目前为 1.0 所提供的方式,后期支持 V1.5 及以上的方式读取 page size //TODO 目前为 1.0 所提供的方式,后期支持 V1.5 及以上的方式读取 page size
switch ((table[0] & (0x01 << 2)) >> 2) { switch ((table[0] & (0x01 << 2)) >> 2) {
case 0: case 0:
sfdp->write_gran = 1; sfdp->write_gran = 1;

@ -39,20 +39,20 @@ void rt_hw_board_init()
*/ */
static void RCC_Configuration(void) static void RCC_Configuration(void)
{ {
//下面是给各模块开启时钟 //下面是给各模块开启时钟
//启动GPIO //启动GPIO
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | \ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | \
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | \ RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | \
RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOG, RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOG,
ENABLE); ENABLE);
//启动AFIO //启动AFIO
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//启动USART1时钟 //启动USART1时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
//启动USART2时钟 //启动USART2时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
//启动DMA时钟 //启动DMA时钟
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
/* Enable ADC1 and GPIOC clock */ /* Enable ADC1 and GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);

@ -1,7 +1,7 @@
/* /*
* File : usart.c * File : usart.c
* This file is part of RT-Thread RTOS * This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006-2013, RT-Thread Development Team * COPYRIGHT (C) 2006-2021, RT-Thread Development Team
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at * found in the file LICENSE in this distribution or at

@ -1,7 +1,7 @@
/* /*
* user_finsh_cmd.c * user_finsh_cmd.c
* *
* Created on: 2013127 * Created on: 2013127
* Author: Armink * Author: Armink
*/ */
#include <rthw.h> #include <rthw.h>

@ -39,18 +39,18 @@ void rt_hw_board_init()
*/ */
static void RCC_Configuration(void) static void RCC_Configuration(void)
{ {
//下面是给各模块开启时钟 //下面是给各模块开启时钟
//启动GPIO //启动GPIO
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | \ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | \
RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | \ RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | \
RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOG, RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOG,
ENABLE); ENABLE);
//启动USART1时钟 //启动USART1时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
//启动USART2时钟 //启动USART2时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
//启动DMA时钟 //启动DMA时钟
RCC_APB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE); RCC_APB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE);
/* Enable ADC1 and GPIOC clock */ /* Enable ADC1 and GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
@ -99,7 +99,7 @@ static void GPIO_Configuration(void)
GPIO_Init(GPIOF, &GPIO_InitStructure); GPIO_Init(GPIOF, &GPIO_InitStructure);
GPIO_Init(GPIOG, &GPIO_InitStructure); GPIO_Init(GPIOG, &GPIO_InitStructure);
/******************系统运行LED指示灯配置*******************/ /******************系统运行LED指示灯配置*******************/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

@ -28,14 +28,14 @@
/** /**
* IAP * IAP
* 1RT-ThreadFinsh"update" * 1RT-ThreadFinsh"update"
* 2Ymodemymodem_on_begin使ef_erase_bak_app * 2Ymodemymodem_on_begin使ef_erase_bak_app
* 3使ef_write_data_to_bakFlashYmodemymodem_on_data * 3使ef_write_data_to_bakFlashYmodemymodem_on_data
* 4"iap_need_copy_app"1"change iap_copy_app_size"APP * 4"iap_need_copy_app"1"change iap_copy_app_size"APP
* *
* 5 * 5
* 6"iap_need_copy_app""iap_copy_app_size"0 * 6"iap_need_copy_app""iap_copy_app_size"0
* *
* IAP update step: * IAP update step:
* 1. Input "update" command in RT-Thread finsh terminal. * 1. Input "update" command in RT-Thread finsh terminal.

@ -507,7 +507,7 @@ static uint32_t get_next_env_addr(sector_meta_data_t sector, env_node_obj_t pre_
addr = find_next_env_addr(addr, sector->addr + SECTOR_SIZE - SECTOR_HDR_DATA_SIZE); addr = find_next_env_addr(addr, sector->addr + SECTOR_SIZE - SECTOR_HDR_DATA_SIZE);
if (addr > sector->addr + SECTOR_SIZE || pre_env->len == 0) { if (addr > sector->addr + SECTOR_SIZE || pre_env->len == 0) {
//TODO 扇区连续模式 //TODO 扇区连续模式
return FAILED_ADDR; return FAILED_ADDR;
} }
} else { } else {
@ -542,7 +542,7 @@ static EfErrCode read_env(env_node_obj_t env)
env->crc_is_ok = false; env->crc_is_ok = false;
return EF_READ_ERR; return EF_READ_ERR;
} else if (env->len > SECTOR_SIZE - SECTOR_HDR_DATA_SIZE && env->len < ENV_AREA_SIZE) { } else if (env->len > SECTOR_SIZE - SECTOR_HDR_DATA_SIZE && env->len < ENV_AREA_SIZE) {
//TODO 扇区连续模式,或者写入长度没有写入完整 //TODO 扇区连续模式,或者写入长度没有写入完整
EF_ASSERT(0); EF_ASSERT(0);
} }
@ -1726,7 +1726,7 @@ static bool check_and_recovery_env_cb(env_node_obj_t env, void *arg1, void *arg2
} else if (env->status == ENV_PRE_WRITE) { } else if (env->status == ENV_PRE_WRITE) {
uint8_t status_table[ENV_STATUS_TABLE_SIZE]; uint8_t status_table[ENV_STATUS_TABLE_SIZE];
/* the ENV has not write finish, change the status to error */ /* the ENV has not write finish, change the status to error */
//TODO 绘制异常处理的状态装换图 //TODO 绘制异常处理的状态装换图
write_status(env->addr.start, status_table, ENV_STATUS_NUM, ENV_ERR_HDR); write_status(env->addr.start, status_table, ENV_STATUS_NUM, ENV_ERR_HDR);
return true; return true;
} }

Loading…
Cancel
Save