format codes

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

@ -6,21 +6,21 @@
static void test_env(void);
int main(void){
BSP_Init();
if (easyflash_init() == EF_NO_ERR) {
/* test Env demo */
test_env();
}
}
while(1) {
LED_RUN_ON;
delay(6000000);
LED_RUN_OFF;
delay(6000000);
delay(6000000);
}
return 0;
}

@ -96,10 +96,10 @@ EfErrCode ef_port_erase(uint32_t addr, size_t size) {
EfErrCode result = EF_NO_ERR;
sfud_err sfud_result = SFUD_SUCCESS;
const sfud_flash *flash = sfud_get_device_table() + SFUD_SST25_DEVICE_INDEX;
/* make sure the start address is a multiple of FLASH_ERASE_MIN_SIZE */
EF_ASSERT(addr % EF_ERASE_MIN_SIZE == 0);
sfud_result = sfud_erase(flash, addr, size);
if(sfud_result != SFUD_SUCCESS) {

@ -32,20 +32,20 @@
*/
static void RCC_Configuration(void)
{
//下面是给各模块开启时钟
//启动GPIO
//下面是给各模块开启时钟
//启动GPIO
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | \
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | \
RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOG,
ENABLE);
//启动AFIO
//启动AFIO
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//启动USART1时钟
//启动USART1时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
//启动USART2时钟
//启动USART2时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
//启动DMA时钟
//启动DMA时钟
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
/* Enable ADC1 and GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
@ -95,13 +95,13 @@ static void GPIO_Configuration(void)
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
/* USART1_TX */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* USART1_RX */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
@ -118,7 +118,7 @@ static void GPIO_Configuration(void)
void USART1_Configuration(void)
{
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
@ -126,14 +126,14 @@ void USART1_Configuration(void)
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
USART_Init(USART1, &USART_InitStructure);
USART_Cmd(USART1, ENABLE);
}
/**
* IWDG_Configuration
*/
static void IWDG_Configuration(void)
static void IWDG_Configuration(void)
{
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(IWDG_Prescaler_64);
@ -161,12 +161,12 @@ int fputc(int ch, FILE *f)
int fgetc(FILE *f)
{
while(!(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == SET))
{
}
return (USART_ReceiveData(USART1));
}

@ -26,38 +26,38 @@
*/
/* board configuration */
// <o> SDCard Driver <1=>SDIO sdcard <0=>SPI MMC card
// <i>Default: 1
#define STM32_USE_SDIO 0
// <i>Default: 1
#define STM32_USE_SDIO 0
/* whether use board external SRAM memory */
// <e>Use external SRAM memory on the board
// <i>Enable External SRAM memory
// <i>Enable External SRAM memory
#define STM32_EXT_SRAM 0
// <o>Begin Address of External SRAM
// <i>Default: 0x68000000
// <o>Begin Address of External SRAM
// <i>Default: 0x68000000
#define STM32_EXT_SRAM_BEGIN 0x68000000 /* the begining address of external SRAM */
// <o>End Address of External SRAM
// <i>Default: 0x68080000
// <o>End Address of External SRAM
// <i>Default: 0x68080000
#define STM32_EXT_SRAM_END 0x68080000 /* the end address of external SRAM */
// </e>
// <o> Internal SRAM memory size[Kbytes] <8-64>
// <i>Default: 64
// <i>Default: 64
#define STM32_SRAM_SIZE 64
#define STM32_SRAM_END (SRAM_BASE + STM32_SRAM_SIZE * 1024)
#define VECT_TAB_FLASH /* use Flash to store vector table */
#define LED_RUN_ON GPIO_SetBits (GPIOB,GPIO_Pin_5) //RUN
#define LED_RUN_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_5) //RUN
#define LED_RUN_ON GPIO_SetBits (GPIOB,GPIO_Pin_5) //RUN
#define LED_RUN_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_5) //RUN
/*********************************************************************************************************/
/** MACRO'S */
/** MACRO'S */
/***********************************************************************************************************/
/***********************************************************************************************************/
/* DATA TYPES */
/* DATA TYPES */
/***********************************************************************************************************/

@ -7,15 +7,15 @@
typedef int bool_t; /**< boolean type */
#ifndef TRUE
#define TRUE 1
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#define FALSE 0
#endif
#ifndef NULL
#define NULL 0
#define NULL 0
#endif
#define success 0

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

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

@ -4,7 +4,7 @@
#ifndef APP_TASK_H
#define APP_TASK_H
#include <rthw.h>
#include <rthw.h>
#include <rtthread.h>
#include <stm32f10x_conf.h>

@ -4,29 +4,29 @@
#include"rtconfig.h"
#if RT_TICK_PER_SECOND == 1
#define DELAY_1S (RT_TICK_PER_SECOND)
#define DELAY_S(X) (X*DELAY_1S)
#define DELAY_1S (RT_TICK_PER_SECOND)
#define DELAY_S(X) (X*DELAY_1S)
#elif RT_TICK_PER_SECOND == 10
#define DELAY_100MS(X) (X)
#define DELAY_S(X) (X*10)
#elif RT_TICK_PER_SECOND == 10
#define DELAY_100MS(X) (X)
#define DELAY_S(X) (X*10)
#elif RT_TICK_PER_SECOND == 100
#define DELAY_10MS(X) (X)
#define DELAY_100MS(X) (X*10)
#define DELAY_S(X) (X*100)
#elif RT_TICK_PER_SECOND == 100
#define DELAY_10MS(X) (X)
#define DELAY_100MS(X) (X*10)
#define DELAY_S(X) (X*100)
#elif (RT_TICK_PER_SECOND == 1000)
#define DELAY_1MS (RT_TICK_PER_SECOND/1000)
#define DELAY_1MS (RT_TICK_PER_SECOND/1000)
#define DELAY_MS(X) (X*DELAY_1MS)
#define DELAY_S(X) (X*1000*DELAY_1MS)
#define DELAY_S(X) (X*1000*DELAY_1MS)
#elif (RT_TICK_PER_SECOND == 10000)
#define DELAY_100US(X) (X*RT_TICK_PER_SECOND/10000)
#define DELAY_1MS (RT_TICK_PER_SECOND/1000)
#define DELAY_1MS (RT_TICK_PER_SECOND/1000)
#define DELAY_MS(X) (X*DELAY_1MS)
#define DELAY_S(X) (X*1000*DELAY_1MS)
#define DELAY_S(X) (X*1000*DELAY_1MS)
#endif
@ -37,5 +37,5 @@
#define DELAY_SYS_FAULT_LED_ON DELAY_MS(50)
#define DELAY_SYS_FAULT_LED_OFF DELAY_MS(950)
#endif
#endif

@ -3,16 +3,16 @@
#define __RTTHREAD_CFG_H__
/* RT_NAME_MAX*/
#define RT_NAME_MAX 24
#define RT_NAME_MAX 24
/* RT_ALIGN_SIZE*/
#define RT_ALIGN_SIZE 8
#define RT_ALIGN_SIZE 8
/* PRIORITY_MAX */
#define RT_THREAD_PRIORITY_MAX 32
#define RT_THREAD_PRIORITY_MAX 32
/* Tick per Second */
#define RT_TICK_PER_SECOND 10000 //0.1ms
#define RT_TICK_PER_SECOND 10000 //0.1ms
/* SECTION: RT_DEBUG */
/* Thread Debug */
@ -26,9 +26,9 @@
/* Using Software Timer */
/* #define RT_USING_TIMER_SOFT */
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
#define RT_TIMER_TICK_PER_SECOND 1000
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
#define RT_TIMER_TICK_PER_SECOND 1000
/* SECTION: IPC */
/* Using Semaphore*/
@ -60,11 +60,11 @@
/* Using Device System */
#define RT_USING_CONSOLE
// <string name="RT_CONSOLE_DEVICE_NAME" description="The device name for console" default="uart1" />
#define RT_CONSOLE_DEVICE_NAME "uart1"
#define RT_CONSOLE_DEVICE_NAME "uart1"
/* SECTION: Console options */
/* the buffer size of console*/
#define RT_CONSOLEBUF_SIZE 512
#define RT_CONSOLEBUF_SIZE 512
/* SECTION: finsh, a C-Express shell */
#define RT_USING_FINSH

@ -1,13 +1,13 @@
#include "app_task.h"
int main(void){
/* disable interrupt first */
rt_hw_interrupt_disable();
/* disable interrupt first */
rt_hw_interrupt_disable();
/* startup RT-Thread RTOS */
rtthread_startup();
/* startup RT-Thread RTOS */
rtthread_startup();
return 0;
return 0;
}

@ -83,14 +83,14 @@ void test_env(void) {
* @param parameter parameter
*/
void sys_init_thread(void* parameter){
set_system_status(SYSTEM_STATUS_INIT);
set_system_status(SYSTEM_STATUS_INIT);
/* EasyFlash initialization */
if (easyflash_init() == EF_NO_ERR) {
/* initialize OK and switch to running status */
set_system_status(SYSTEM_STATUS_RUN);
/* test Env demo */
test_env();
/* test Env demo */
test_env();
} else {
/* initialize fail and switch to fault status */
set_system_status(SYSTEM_STATUS_FAULT);

@ -53,7 +53,7 @@ static struct rt_semaphore env_cache_lock;
*/
EfErrCode ef_port_init(ef_env const **default_env, size_t *default_env_size) {
EfErrCode result = EF_NO_ERR;
*default_env = default_env_set;
*default_env_size = sizeof(default_env_set) / sizeof(default_env_set[0]);
@ -99,10 +99,10 @@ EfErrCode ef_port_erase(uint32_t addr, size_t size) {
EfErrCode result = EF_NO_ERR;
FLASH_Status flash_status;
size_t erase_pages, i;
/* make sure the start address is a multiple of FLASH_ERASE_MIN_SIZE */
EF_ASSERT(addr % EF_ERASE_MIN_SIZE == 0);
/* calculate pages */
erase_pages = size / PAGE_SIZE;
if (size % PAGE_SIZE != 0) {

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

@ -29,23 +29,23 @@
*/
/* board configuration */
// <o> SDCard Driver <1=>SDIO sdcard <0=>SPI MMC card
// <i>Default: 1
#define STM32_USE_SDIO 0
// <i>Default: 1
#define STM32_USE_SDIO 0
/* whether use board external SRAM memory */
// <e>Use external SRAM memory on the board
// <i>Enable External SRAM memory
// <i>Enable External SRAM memory
#define STM32_EXT_SRAM 0
// <o>Begin Address of External SRAM
// <i>Default: 0x68000000
// <o>Begin Address of External SRAM
// <i>Default: 0x68000000
#define STM32_EXT_SRAM_BEGIN 0x68000000 /* the begining address of external SRAM */
// <o>End Address of External SRAM
// <i>Default: 0x68080000
// <o>End Address of External SRAM
// <i>Default: 0x68080000
#define STM32_EXT_SRAM_END 0x68080000 /* the end address of external SRAM */
// </e>
// <o> Internal SRAM memory size[Kbytes] <8-64>
// <i>Default: 64
// <i>Default: 64
#define STM32_SRAM_SIZE 64
#define STM32_SRAM_END (SRAM_BASE + STM32_SRAM_SIZE * 1024)
@ -53,18 +53,18 @@
/* RT_USING_UART */
#define RT_USING_UART1
#define RT_UART_RX_BUFFER_SIZE 64
#define RT_UART_RX_BUFFER_SIZE 64
#define LED_RUN_ON GPIO_SetBits (GPIOA,GPIO_Pin_10) //RUN
#define LED_RUN_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_10) //RUN
#define LED_RUN_ON GPIO_SetBits (GPIOA,GPIO_Pin_10) //RUN
#define LED_RUN_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_10) //RUN
/*********************************************************************************************************/
/** MACRO'S */
/** MACRO'S */
/***********************************************************************************************************/
/***********************************************************************************************************/
/* DATA TYPES */
/* DATA TYPES */
/***********************************************************************************************************/

@ -7,15 +7,15 @@
typedef int bool_t; /**< boolean type */
#ifndef TRUE
#define TRUE 1
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#define FALSE 0
#endif
#ifndef NULL
#define NULL 0
#define NULL 0
#endif
#define success 0

@ -1,7 +1,7 @@
/*
* File : usart.c
* 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
* found in the file LICENSE in this distribution or at
@ -155,18 +155,18 @@ static rt_err_t stm32_control(struct rt_serial_device *serial, int cmd, void *ar
if (irq_type == RT_DEVICE_FLAG_INT_RX)
{
/* return rx irq flag */
return USART_GetFlagStatus(uart->uart_device, USART_FLAG_RXNE);
return USART_GetFlagStatus(uart->uart_device, USART_FLAG_RXNE);
}
else if (irq_type == RT_DEVICE_FLAG_INT_TX)
{
/* return tx flag */
if (uart->tx_irq_type == USART_IT_TC)
{
return USART_GetFlagStatus(uart->uart_device, USART_FLAG_TC);
return USART_GetFlagStatus(uart->uart_device, USART_FLAG_TC);
}
else if (uart->tx_irq_type == USART_IT_TXE)
{
return USART_GetFlagStatus(uart->uart_device, USART_FLAG_TXE);
return USART_GetFlagStatus(uart->uart_device, USART_FLAG_TXE);
}
}
break;

@ -4,7 +4,7 @@
#ifndef APP_TASK_H
#define APP_TASK_H
#include <rthw.h>
#include <rthw.h>
#include <rtthread.h>
#include <stm32f4xx_conf.h>

@ -4,29 +4,29 @@
#include"rtconfig.h"
#if RT_TICK_PER_SECOND == 1
#define DELAY_1S (RT_TICK_PER_SECOND)
#define DELAY_S(X) (X*DELAY_1S)
#define DELAY_1S (RT_TICK_PER_SECOND)
#define DELAY_S(X) (X*DELAY_1S)
#elif RT_TICK_PER_SECOND == 10
#define DELAY_100MS(X) (X)
#define DELAY_S(X) (X*10)
#elif RT_TICK_PER_SECOND == 10
#define DELAY_100MS(X) (X)
#define DELAY_S(X) (X*10)
#elif RT_TICK_PER_SECOND == 100
#define DELAY_10MS(X) (X)
#define DELAY_100MS(X) (X*10)
#define DELAY_S(X) (X*100)
#elif RT_TICK_PER_SECOND == 100
#define DELAY_10MS(X) (X)
#define DELAY_100MS(X) (X*10)
#define DELAY_S(X) (X*100)
#elif (RT_TICK_PER_SECOND == 1000)
#define DELAY_1MS (RT_TICK_PER_SECOND/1000)
#define DELAY_1MS (RT_TICK_PER_SECOND/1000)
#define DELAY_MS(X) (X*DELAY_1MS)
#define DELAY_S(X) (X*1000*DELAY_1MS)
#define DELAY_S(X) (X*1000*DELAY_1MS)
#elif (RT_TICK_PER_SECOND == 10000)
#define DELAY_100US(X) (X*RT_TICK_PER_SECOND/10000)
#define DELAY_1MS (RT_TICK_PER_SECOND/1000)
#define DELAY_1MS (RT_TICK_PER_SECOND/1000)
#define DELAY_MS(X) (X*DELAY_1MS)
#define DELAY_S(X) (X*1000*DELAY_1MS)
#define DELAY_S(X) (X*1000*DELAY_1MS)
#endif
@ -37,5 +37,5 @@
#define DELAY_SYS_FAULT_LED_ON DELAY_MS(50)
#define DELAY_SYS_FAULT_LED_OFF DELAY_MS(950)
#endif
#endif

@ -3,16 +3,16 @@
#define __RTTHREAD_CFG_H__
/* RT_NAME_MAX*/
#define RT_NAME_MAX 24
#define RT_NAME_MAX 24
/* RT_ALIGN_SIZE*/
#define RT_ALIGN_SIZE 8
#define RT_ALIGN_SIZE 8
/* PRIORITY_MAX */
#define RT_THREAD_PRIORITY_MAX 32
#define RT_THREAD_PRIORITY_MAX 32
/* Tick per Second */
#define RT_TICK_PER_SECOND 10000 //0.1ms
#define RT_TICK_PER_SECOND 10000 //0.1ms
/* SECTION: RT_DEBUG */
/* Thread Debug */
@ -26,9 +26,9 @@
/* Using Software Timer */
/* #define RT_USING_TIMER_SOFT */
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
#define RT_TIMER_TICK_PER_SECOND 1000
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
#define RT_TIMER_TICK_PER_SECOND 1000
/* SECTION: IPC */
/* Using Semaphore*/
@ -60,11 +60,11 @@
/* Using Device System */
#define RT_USING_CONSOLE
// <string name="RT_CONSOLE_DEVICE_NAME" description="The device name for console" default="uart1" />
#define RT_CONSOLE_DEVICE_NAME "uart1"
#define RT_CONSOLE_DEVICE_NAME "uart1"
/* SECTION: Console options */
/* the buffer size of console*/
#define RT_CONSOLEBUF_SIZE 512
#define RT_CONSOLEBUF_SIZE 512
/* SECTION: finsh, a C-Express shell */
#define RT_USING_FINSH

@ -1,13 +1,13 @@
#include "app_task.h"
int main(void){
/* disable interrupt first */
rt_hw_interrupt_disable();
/* disable interrupt first */
rt_hw_interrupt_disable();
/* startup RT-Thread RTOS */
rtthread_startup();
/* startup RT-Thread RTOS */
rtthread_startup();
return 0;
return 0;
}

@ -75,7 +75,7 @@ void test_env(void) {
* @param parameter parameter
*/
void sys_init_thread(void* parameter){
set_system_status(SYSTEM_STATUS_INIT);
set_system_status(SYSTEM_STATUS_INIT);
/* EasyFlash initialization */
if (easyflash_init() == EF_NO_ERR) {
@ -134,8 +134,8 @@ void rtthread_startup(void)
rt_system_timer_init();
#ifdef RT_USING_HEAP
/* init memory system */
rt_system_heap_init((void*)STM32_SRAM_BEGIN, (void*)STM32_SRAM_END);
/* init memory system */
rt_system_heap_init((void*)STM32_SRAM_BEGIN, (void*)STM32_SRAM_END);
#endif
/* init scheduler system */

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

@ -39,23 +39,23 @@ void rt_hw_board_init()
*/
static void RCC_Configuration(void)
{
//下面是给各模块开启时钟
//启动GPIO
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | \
RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | \
RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOG,
ENABLE);
//启动USART1时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
//启动USART2时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
//启动DMA时钟
RCC_APB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE);
/* Enable ADC1 and GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
/* Enable WWDG clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);
//下面是给各模块开启时钟
//启动GPIO
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | \
RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | \
RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOG,
ENABLE);
//启动USART1时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
//启动USART2时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
//启动DMA时钟
RCC_APB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE);
/* Enable ADC1 and GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
/* Enable WWDG clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);
}
/**
@ -81,9 +81,9 @@ static void NVIC_Configuration(void)
*/
static void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
/* PA13:SWDIO PA14:SWCLK for debug, can't set to output mode */
/* PA13:SWDIO PA14:SWCLK for debug, can't set to output mode */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All & (~(GPIO_Pin_13 | GPIO_Pin_14));
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
@ -99,20 +99,20 @@ static void GPIO_Configuration(void)
GPIO_Init(GPIOF, &GPIO_InitStructure);
GPIO_Init(GPIOG, &GPIO_InitStructure);
/******************系统运行LED指示灯配置*******************/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
/******************系统运行LED指示灯配置*******************/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
/**
* IWDG_Configuration
*/
static void IWDG_Configuration(void)
static void IWDG_Configuration(void)
{
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(IWDG_Prescaler_64);

@ -29,24 +29,24 @@
*/
/* board configuration */
// <o> SDCard Driver <1=>SDIO sdcard <0=>SPI MMC card
// <i>Default: 1
#define STM32_USE_SDIO 0
// <i>Default: 1
#define STM32_USE_SDIO 0
/* whether use board external SRAM memory */
// <e>Use external SRAM memory on the board
// <i>Enable External SRAM memory
// <i>Enable External SRAM memory
#define STM32_EXT_SRAM 0
// <o>Begin Address of External SRAM
// <i>Default: 0x68000000
// <o>Begin Address of External SRAM
// <i>Default: 0x68000000
#define STM32_EXT_SRAM_BEGIN 0x68000000 /* the begining address of external SRAM */
// <o>End Address of External SRAM
// <i>Default: 0x68080000
// <o>End Address of External SRAM
// <i>Default: 0x68080000
#define STM32_EXT_SRAM_END 0x68080000 /* the end address of external SRAM */
// </e>
#define STM32_SRAM_BEGIN SRAM_BASE
// <o> Internal SRAM memory size[Kbytes]
// <i>Default: 128
// <i>Default: 128
#define STM32_SRAM_SIZE 128
#define STM32_SRAM_END (SRAM_BASE + STM32_SRAM_SIZE * 1024)
@ -54,18 +54,18 @@
/* RT_USING_UART */
#define RT_USING_UART1
#define RT_UART_RX_BUFFER_SIZE 64
#define RT_UART_RX_BUFFER_SIZE 64
#define LED_RUN_ON GPIO_SetBits (GPIOB,GPIO_Pin_12) //RUN
#define LED_RUN_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_12) //RUN
#define LED_RUN_ON GPIO_SetBits (GPIOB,GPIO_Pin_12) //RUN
#define LED_RUN_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_12) //RUN
/*********************************************************************************************************/
/** MACRO'S */
/** MACRO'S */
/***********************************************************************************************************/
/***********************************************************************************************************/
/* DATA TYPES */
/* DATA TYPES */
/***********************************************************************************************************/

@ -7,15 +7,15 @@
typedef int bool_t; /**< boolean type */
#ifndef TRUE
#define TRUE 1
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#define FALSE 0
#endif
#ifndef NULL
#define NULL 0
#define NULL 0
#endif
#define success 0

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

@ -40,9 +40,9 @@
* Please change it when your firmware add a new ENV to default_env_set.
*/
#define EF_ENV_VER_NUM /* @note you must define it for a value, such as 0 */
/* MCU Endian Configuration, default is Little Endian Order. */
/* #define EF_BIG_ENDIAN */
/* #define EF_BIG_ENDIAN */
#endif /* EF_USING_ENV */

@ -102,7 +102,7 @@ EfErrCode ef_port_erase(uint32_t addr, size_t size) {
*/
EfErrCode ef_port_write(uint32_t addr, const uint32_t *buf, size_t size) {
EfErrCode result = EF_NO_ERR;
/* You can add your code under here. */
return result;
@ -112,18 +112,18 @@ EfErrCode ef_port_write(uint32_t addr, const uint32_t *buf, size_t size) {
* lock the ENV ram cache
*/
void ef_port_env_lock(void) {
/* You can add your code under here. */
}
/**
* unlock the ENV ram cache
*/
void ef_port_env_unlock(void) {
/* You can add your code under here. */
}
@ -146,7 +146,7 @@ void ef_log_debug(const char *file, const long line, const char *format, ...) {
va_start(args, format);
/* You can add your code under here. */
va_end(args);
#endif
@ -166,7 +166,7 @@ void ef_log_info(const char *format, ...) {
va_start(args, format);
/* You can add your code under here. */
va_end(args);
}
/**
@ -182,6 +182,6 @@ void ef_print(const char *format, ...) {
va_start(args, format);
/* You can add your code under here. */
va_end(args);
}

@ -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);
if (addr > sector->addr + SECTOR_SIZE || pre_env->len == 0) {
//TODO 扇区连续模式
//TODO 扇区连续模式
return FAILED_ADDR;
}
} else {
@ -542,7 +542,7 @@ static EfErrCode read_env(env_node_obj_t env)
env->crc_is_ok = false;
return EF_READ_ERR;
} else if (env->len > SECTOR_SIZE - SECTOR_HDR_DATA_SIZE && env->len < ENV_AREA_SIZE) {
//TODO 扇区连续模式,或者写入长度没有写入完整
//TODO 扇区连续模式,或者写入长度没有写入完整
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) {
uint8_t status_table[ENV_STATUS_TABLE_SIZE];
/* 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);
return true;
}

Loading…
Cancel
Save