测试读写flash用时

This commit is contained in:
起床就犯困 2025-01-11 08:52:39 +08:00
parent 3ee2cccf2d
commit d0a9e1f573
10 changed files with 1501 additions and 1420 deletions

View File

@ -64,10 +64,10 @@ void start(void)
startInfo();
// HAL_Delay(5000);
// while (1) {
// cfgTest();
// HAL_Delay(1000);
// }
while (1) {
cfgTest();
HAL_Delay(1000);
}

View File

@ -55,29 +55,27 @@ void saveConfigInfo(config_info *configInfo)
void cfgTest(void)
{
// uint16_t tempTime = HAL_GetTick();
// config_info temp_configInfo;
// readFlashContent(&temp_configInfo);
// log_info("1 read time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// saveConfigInfo(&temp_configInfo);
// log_info("1 write time : %d \n", HAL_GetTick() - tempTime);
uint32_t tempTime = HAL_GetTick();
config_info temp_configInfo;
read_config_info(&temp_configInfo);
log_info("1 read time : %d \n", HAL_GetTick() - tempTime);
tempTime = HAL_GetTick();
saveConfigInfo(&temp_configInfo);
log_info("1 write time : %d \n", HAL_GetTick() - tempTime);
tempTime = HAL_GetTick();
for (int i = 0; i < 10; i++) {
read_config_info(&temp_configInfo);
saveConfigInfo(&temp_configInfo);
}
log_info("10 time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// for (int i = 0; i < 10; i++) {
// readFlashContent(&temp_configInfo);
// saveConfigInfo(&temp_configInfo);
// }
// log_info("10 time : %d \n", HAL_GetTick() - tempTime);
// uint16_t tempTime = HAL_GetTick();
// uint32_t tempTime = HAL_GetTick();
// float tempF;
// readtotalElectricityConsumption(&tempF);
// log_info("1 read time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// savetotalElectricityConsumption(&tempF);
// log_info("1 write time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// for (int i = 0; i < 10; i++) {
// readtotalElectricityConsumption(&tempF);
@ -85,21 +83,34 @@ void cfgTest(void)
// }
// log_info("10 time : %d \n", HAL_GetTick() - tempTime);
uint16_t tempTime = HAL_GetTick();
timeInfo tempT;
readTime(&tempT);
log_info("1 read time : %d \n", HAL_GetTick() - tempTime);
tempTime = HAL_GetTick();
saveTime(&tempT);
log_info("1 write time : %d \n", HAL_GetTick() - tempTime);
tempTime = HAL_GetTick();
for (int i = 0; i < 10; i++) {
readTime(&tempT);
saveTime(&tempT);
}
log_info("10 time : %d \n", HAL_GetTick() - tempTime);
// uint32_t tempTime = HAL_GetTick();
// timeInfo tempT;
// readTime(&tempT);
// log_info("1 read time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// saveTime(&tempT);
// log_info("1 write time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// for (int i = 0; i < 10; i++) {
// readTime(&tempT);
// saveTime(&tempT);
// }
// log_info("10 time : %d \n", HAL_GetTick() - tempTime);
// uint32_t tempTime = HAL_GetTick();
// uint8_t tempBuf[30];
// write_Flash((uint8_t *)"hello world\n", 2048, sizeof("hello world\n"));
// log_info("1 write time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// read_Flash(tempBuf, 2048, sizeof("hello world\n"));
// log_info("1 read time : %d \n", HAL_GetTick() - tempTime);
// log_info("%s\n", tempBuf);
// tempTime = HAL_GetTick();
// for (int i = 0; i < 10; i++) {
// read_Flash(tempBuf, 2048, sizeof("hello world\n"));
// write_Flash((uint8_t *)"hello world\n", 2048, sizeof("hello world\n"));
// }
// log_info("10 time : %d \n", HAL_GetTick() - tempTime);
}

View File

@ -161,17 +161,25 @@ void W25QXX_ReadUniqueID(uint8_t UID[8])
//NumByteToRead:要读取的字节数(最大65535)
void W25QXX_Read(uint8_t *pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead)
{
volatile static int timeReadTemp1, timeReadTemp2, timeReadTemp3, timeReadTemp4, timeReadTemp5;
timeReadTemp1 = HAL_GetTick();
uint16_t i;
W25QXX_CS_L(); //使能器件
W25QXX_SPI_ReadWriteByte(W25X_ReadData); //发送读取命令
W25QXX_SPI_ReadWriteByte((uint8_t)((ReadAddr) >> 16)); //发送24bit地址
W25QXX_SPI_ReadWriteByte((uint8_t)((ReadAddr) >> 8));
W25QXX_SPI_ReadWriteByte((uint8_t)ReadAddr);
timeReadTemp2 = HAL_GetTick();
for (i = 0; i < NumByteToRead; i++)
{
pBuffer[i] = W25QXX_SPI_ReadWriteByte(0XFF); //循环读数
}
W25QXX_CS_H();
timeReadTemp3 = HAL_GetTick();
timeReadTemp4 = NumByteToRead;
timeReadTemp5 = ReadAddr;
}
//SPI在一页(0~65535)内写入少于256个字节的数据
//在指定地址开始写入最大256字节的数据
@ -233,6 +241,8 @@ void W25QXX_Write_NoCheck(uint8_t *pBuffer, uint32_t WriteAddr, uint16_t NumByte
uint8_t W25QXX_BUFFER[4096];
void W25QXX_Write(uint8_t *pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite)
{
// volatile static int timeReadTemp1, timeReadTemp2, timeReadTemp3, timeReadTemp4, timeReadTemp5, timeReadTemp6;
uint32_t secpos;
uint16_t secoff;
uint16_t secremain;
@ -246,7 +256,10 @@ void W25QXX_Write(uint8_t *pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite)
secremain = NumByteToWrite; //不大于4096个字节
while (1)
{
// timeReadTemp1 = HAL_GetTick();
W25QXX_Read(W25QXX_BUF, secpos * 4096, 4096); //读出整个扇区的内容
// timeReadTemp2 = HAL_GetTick();
for (i = 0; i < secremain; i++) //校验数据
{
if (W25QXX_BUF[secoff + i] != 0XFF)
@ -255,12 +268,15 @@ void W25QXX_Write(uint8_t *pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite)
if (i < secremain) //需要擦除
{
W25QXX_Erase_Sector(secpos); //擦除这个扇区
// timeReadTemp3 = HAL_GetTick();
for (i = 0; i < secremain; i++) //复制
{
W25QXX_BUF[i + secoff] = pBuffer[i];
}
W25QXX_Write_NoCheck(W25QXX_BUF, secpos * 4096, 4096); //写入整个扇区
// timeReadTemp4 = HAL_GetTick();
// timeReadTemp5 = NumByteToWrite;
// timeReadTemp6 = WriteAddr;
}
else
W25QXX_Write_NoCheck(pBuffer, WriteAddr, secremain); //写已经擦除了的,直接写入扇区剩余区间.
@ -280,6 +296,42 @@ void W25QXX_Write(uint8_t *pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite)
secremain = NumByteToWrite; //下一个扇区可以写完了
}
};
// while (1) {
// W25QXX_Read(W25QXX_BUF, secpos * 4096, 4096); //读出整个扇区的内容
// // for (i = 0; i < secremain; i++) //校验数据
// // {
// // if (W25QXX_BUF[secoff + i] != 0XFF)
// // break; //需要擦除
// // }
// // if (i < secremain) //需要擦除
// // {
// W25QXX_Erase_Sector(secpos); //擦除这个扇区
// for (i = 0; i < secremain; i++) //复制
// {
// W25QXX_BUF[i + secoff] = pBuffer[i];
// }
// W25QXX_Write_NoCheck(W25QXX_BUF, secpos * 4096, 4096); //写入整个扇区
// // }
// // else
// // W25QXX_Write_NoCheck(pBuffer, WriteAddr, secremain); //写已经擦除了的,直接写入扇区剩余区间.
// if (NumByteToWrite == secremain)
// break; //写入结束了
// else //写入未结束
// {
// secpos++; //扇区地址增1
// secoff = 0; //偏移位置为0
// pBuffer += secremain; //指针偏移
// WriteAddr += secremain; //写地址偏移
// NumByteToWrite -= secremain; //字节数递减
// if (NumByteToWrite > 4096)
// secremain = 4096; //下一个扇区还是写不完
// else
// secremain = NumByteToWrite; //下一个扇区可以写完了
// }
// };
}
//擦除整个芯片

View File

@ -65,12 +65,12 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(DSG_PROT_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : FLASH_CS_Pin EN_PWMOUT_Pin FFMOS_CON_Pin */
GPIO_InitStruct.Pin = FLASH_CS_Pin|EN_PWMOUT_Pin|FFMOS_CON_Pin;
/*Configure GPIO pin : FLASH_CS_Pin */
GPIO_InitStruct.Pin = FLASH_CS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(FLASH_CS_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : WDI_INPUT_Pin RUN_LED_Pin POW_FF_CON_Pin POW_OUT_CON_Pin */
GPIO_InitStruct.Pin = WDI_INPUT_Pin|RUN_LED_Pin|POW_FF_CON_Pin|POW_OUT_CON_Pin;
@ -79,6 +79,13 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pins : EN_PWMOUT_Pin FFMOS_CON_Pin */
GPIO_InitStruct.Pin = EN_PWMOUT_Pin|FFMOS_CON_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pin : WORK_VOLT_INT_Pin */
GPIO_InitStruct.Pin = WORK_VOLT_INT_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;

View File

@ -142,13 +142,18 @@ void SystemClock_Config(void)
*/
HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1);
/** Configure LSE Drive Capability
*/
HAL_PWR_EnableBkUpAccess();
__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW);
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSE;
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV1;

View File

@ -101,7 +101,7 @@ void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle)
/** Initializes the peripherals clocks
*/
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_RTC;
PeriphClkInit.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
PeriphClkInit.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
{

View File

@ -44,7 +44,7 @@ void MX_SPI1_Init(void)
hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
hspi1.Init.NSS = SPI_NSS_SOFT;
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4;
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
@ -82,7 +82,7 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
GPIO_InitStruct.Pin = FLASH_CLK_Pin|FLASH_MISO_Pin|FLASH_MOSI_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

View File

@ -36,7 +36,7 @@
</option>
<option>
<name>MacFile</name>
<state></state>
<state />
</option>
<option>
<name>MemOverride</name>
@ -60,7 +60,7 @@
</option>
<option>
<name>CExtraOptions</name>
<state></state>
<state />
</option>
<option>
<name>CFpuProcessor</name>
@ -68,7 +68,7 @@
</option>
<option>
<name>OCDDFArgumentProducer</name>
<state></state>
<state />
</option>
<option>
<name>OCDownloadSuppressDownload</name>
@ -104,7 +104,7 @@
</option>
<option>
<name>MacFile2</name>
<state></state>
<state />
</option>
<option>
<name>CDevice</name>
@ -120,7 +120,7 @@
</option>
<option>
<name>OCImagesPath1</name>
<state></state>
<state />
</option>
<option>
<name>OCImagesSuppressCheck2</name>
@ -128,7 +128,7 @@
</option>
<option>
<name>OCImagesPath2</name>
<state></state>
<state />
</option>
<option>
<name>OCImagesSuppressCheck3</name>
@ -136,7 +136,7 @@
</option>
<option>
<name>OCImagesPath3</name>
<state></state>
<state />
</option>
<option>
<name>OverrideDefFlashBoard</name>
@ -148,11 +148,11 @@
</option>
<option>
<name>OCImagesOffset2</name>
<state></state>
<state />
</option>
<option>
<name>OCImagesOffset3</name>
<state></state>
<state />
</option>
<option>
<name>OCImagesUse1</name>
@ -184,15 +184,15 @@
</option>
<option>
<name>OCMulticoreWorkspace</name>
<state></state>
<state />
</option>
<option>
<name>OCMulticoreSlaveProject</name>
<state></state>
<state />
</option>
<option>
<name>OCMulticoreSlaveConfiguration</name>
<state></state>
<state />
</option>
<option>
<name>OCDownloadExtraImage</name>
@ -216,7 +216,7 @@
</option>
<option>
<name>OCMulticoreSessionFile</name>
<state></state>
<state />
</option>
<option>
<name>OCTpiuBaseOption</name>
@ -228,7 +228,7 @@
</option>
<option>
<name>OCOverrideSlavePath</name>
<state></state>
<state />
</option>
<option>
<name>C_32_64Device</name>
@ -244,11 +244,11 @@
</option>
<option>
<name>AuthSdmManifest</name>
<state></state>
<state />
</option>
<option>
<name>AuthSdmExplicitLib</name>
<state></state>
<state />
</option>
<option>
<name>AuthEnforce</name>
@ -277,7 +277,7 @@
</option>
<option>
<name>OCSimPspConfigFile</name>
<state></state>
<state />
</option>
</data>
</settings>
@ -294,7 +294,7 @@
</option>
<option>
<name>Fast Model</name>
<state></state>
<state />
</option>
<option>
<name>CCADILogFileCheck</name>
@ -461,7 +461,7 @@
</option>
<option>
<name>OCProbeConfig</name>
<state></state>
<state />
</option>
<option>
<name>CMSISDAPProbeConfigRadio</name>
@ -469,11 +469,11 @@
</option>
<option>
<name>CMSISDAPSelectedCPUBehaviour</name>
<state></state>
<state />
</option>
<option>
<name>ICpuName</name>
<state></state>
<state />
</option>
<option>
<name>OCJetEmuParams</name>
@ -481,7 +481,7 @@
</option>
<option>
<name>CCCMSISDAPUsbSerialNo</name>
<state></state>
<state />
</option>
<option>
<name>CCCMSISDAPUsbSerialNoSelect</name>
@ -502,7 +502,7 @@
</option>
<option>
<name>CE2UsbSerialNo</name>
<state></state>
<state />
</option>
<option>
<name>CE2IdCodeEditB</name>
@ -642,7 +642,7 @@
</option>
<option>
<name>IjetCpuClockEdit</name>
<state></state>
<state />
</option>
<option>
<name>IjetSwoPrescalerList</name>
@ -735,7 +735,7 @@
</option>
<option>
<name>OCProbeConfig</name>
<state></state>
<state />
</option>
<option>
<name>IjetProbeConfigRadio</name>
@ -755,7 +755,7 @@
</option>
<option>
<name>ICpuName</name>
<state></state>
<state />
</option>
<option>
<name>OCJetEmuParams</name>
@ -781,7 +781,7 @@
</option>
<option>
<name>CCIjetUsbSerialNo</name>
<state></state>
<state />
</option>
<option>
<name>CCIjetUsbSerialNoSelect</name>
@ -1004,7 +1004,7 @@
</option>
<option>
<name>CCJLinkUsbSerialNo</name>
<state></state>
<state />
</option>
<option>
<name>CCTcpIpAlt</name>
@ -1013,11 +1013,11 @@
</option>
<option>
<name>CCJLinkTcpIpSerialNo</name>
<state></state>
<state />
</option>
<option>
<name>CCCpuClockEdit</name>
<state></state>
<state />
</option>
<option>
<name>CCSwoClockAuto</name>
@ -1074,7 +1074,7 @@
</option>
<option>
<name>CCLmiftdiUsbSerialNo</name>
<state></state>
<state />
</option>
<option>
<name>CCLmiftdiUsbSerialNoSelect</name>
@ -1227,7 +1227,7 @@
</option>
<option>
<name>CCSTLinkUsbSerialNo</name>
<state></state>
<state />
</option>
<option>
<name>CCSTLinkUsbSerialNoSelect</name>
@ -1240,7 +1240,7 @@
</option>
<option>
<name>CCSTLinkDAPNumber</name>
<state></state>
<state />
</option>
<option>
<name>CCSTLinkDebugAccessPortRadio</name>
@ -1378,11 +1378,11 @@
</option>
<option>
<name>TIPackage</name>
<state></state>
<state />
</option>
<option>
<name>BoardFile</name>
<state></state>
<state />
</option>
<option>
<name>DoLogfile</name>
@ -1474,7 +1474,7 @@
</option>
<option>
<name>CCXds100CpuClockEdit</name>
<state></state>
<state />
</option>
<option>
<name>CCXds100SwoClockAuto</name>
@ -1495,7 +1495,7 @@
</option>
<option>
<name>CCXds100UsbSerialNo</name>
<state></state>
<state />
</option>
<option>
<name>CCXds100UsbSerialNoSelect</name>

View File

@ -1096,12 +1096,12 @@
<settings>
<name>BUILDACTION</name>
<archiveVersion>2</archiveVersion>
<data />
<data></data>
</settings>
<settings>
<name>Coder</name>
<archiveVersion>0</archiveVersion>
<data />
<data></data>
</settings>
</configuration>
<group>
@ -1207,16 +1207,16 @@
<group>
<name>Core</name>
<file>
<name>$PROJ_DIR$\..\Core\Src\adc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\dma.c</name>
<name>$PROJ_DIR$\..\Core\Src\main.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\gpio.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\main.c</name>
<name>$PROJ_DIR$\..\Core\Src\adc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\dma.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\rtc.c</name>
@ -1225,16 +1225,16 @@
<name>$PROJ_DIR$\..\Core\Src\spi.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\stm32g4xx_hal_msp.c</name>
<name>$PROJ_DIR$\..\Core\Src\tim.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\usart.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\stm32g4xx_it.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\tim.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Core\Src\usart.c</name>
<name>$PROJ_DIR$\..\Core\Src\stm32g4xx_hal_msp.c</name>
</file>
</group>
</group>
@ -1249,9 +1249,6 @@
</group>
<group>
<name>STM32G4xx_HAL_Driver</name>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc.c</name>
</file>
@ -1259,16 +1256,16 @@
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc_ex.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_cortex.c</name>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_adc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma.c</name>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma_ex.c</name>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_exti.c</name>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc_ex.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash.c</name>
@ -1282,6 +1279,15 @@
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_gpio.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_exti.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma_ex.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr.c</name>
</file>
@ -1289,10 +1295,7 @@
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr_ex.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc_ex.c</name>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_cortex.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc.c</name>
@ -1318,21 +1321,6 @@
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart_ex.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_adc.c</name>
</file>
</group>
</group>
<group>
<name>Middlewares</name>
<group>
<name>Library</name>
<group>
<name>DSP Library/DSP Library</name>
<file>
<name>$PROJ_DIR$\..\Middlewares\ST\ARM\DSP\Lib\iar_cortexM4lf_math.a</name>
</file>
</group>
</group>
</group>
<group>
@ -1344,4 +1332,17 @@
<name>$PROJ_DIR$\..\tools\TimeSliceOffset\timeSliceOffset.c</name>
</file>
</group>
<group>
<name>Middlewares</name>
<group>
<name>Library</name>
<group>
<name>DSP Library/DSP Library</name>
<file>
<name>$PROJ_DIR$/../Middlewares/ST/ARM/DSP/Lib/iar_cortexM4lf_math.a</name>
</file>
</group>
</group>
</group>
</project>

View File

@ -194,20 +194,24 @@ PA3.GPIO_PuPd=GPIO_PULLUP
PA3.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PA3.Mode=Asynchronous
PA3.Signal=USART2_RX
PA4.GPIOParameters=GPIO_Label
PA4.GPIOParameters=GPIO_Speed,GPIO_Label
PA4.GPIO_Label=FLASH_CS
PA4.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PA4.Locked=true
PA4.Signal=GPIO_Output
PA5.GPIOParameters=GPIO_Label
PA5.GPIOParameters=GPIO_Speed,GPIO_Label
PA5.GPIO_Label=FLASH_CLK
PA5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PA5.Mode=Full_Duplex_Master
PA5.Signal=SPI1_SCK
PA6.GPIOParameters=GPIO_Label
PA6.GPIOParameters=GPIO_Speed,GPIO_Label
PA6.GPIO_Label=FLASH_MISO
PA6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PA6.Mode=Full_Duplex_Master
PA6.Signal=SPI1_MISO
PA7.GPIOParameters=GPIO_Label
PA7.GPIOParameters=GPIO_Speed,GPIO_Label
PA7.GPIO_Label=FLASH_MOSI
PA7.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PA7.Mode=Full_Duplex_Master
PA7.Signal=SPI1_MOSI
PB0.GPIOParameters=GPIO_Label
@ -347,7 +351,7 @@ RCC.I2C1Freq_Value=72000000
RCC.I2C2Freq_Value=72000000
RCC.I2C3Freq_Value=72000000
RCC.I2SFreq_Value=72000000
RCC.IPParameters=ADC12Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
RCC.IPParameters=ADC12Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
RCC.LPTIM1Freq_Value=72000000
RCC.LPUART1Freq_Value=72000000
RCC.LSCOPinFreq_Value=32000
@ -359,7 +363,8 @@ RCC.PLLQoutputFreq_Value=72000000
RCC.PLLRCLKFreq_Value=72000000
RCC.PWRFreq_Value=72000000
RCC.RNGFreq_Value=72000000
RCC.RTCFreq_Value=32000
RCC.RTCClockSelection=RCC_RTCCLKSOURCE_LSE
RCC.RTCFreq_Value=32768
RCC.SAI1Freq_Value=72000000
RCC.SYSCLKFreq_VALUE=72000000
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
@ -379,10 +384,10 @@ SH.GPXTI13.0=GPIO_EXTI13
SH.GPXTI13.ConfNb=1
SH.S_TIM3_CH4.0=TIM3_CH4,PWM Generation4 CH4
SH.S_TIM3_CH4.ConfNb=1
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_4
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2
SPI1.CLKPhase=SPI_PHASE_2EDGE
SPI1.CLKPolarity=SPI_POLARITY_HIGH
SPI1.CalculateBaudRate=18.0 MBits/s
SPI1.CalculateBaudRate=36.0 MBits/s
SPI1.DataSize=SPI_DATASIZE_8BIT
SPI1.Direction=SPI_DIRECTION_2LINES
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize,BaudRatePrescaler,CLKPolarity,CLKPhase