diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
index 9df3665..182b35e 100644
--- a/.settings/language.settings.xml
+++ b/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/usrc/base_service/fpga_if.c b/usrc/base_service/fpga_if.c
index 51573a5..854d82c 100644
--- a/usrc/base_service/fpga_if.c
+++ b/usrc/base_service/fpga_if.c
@@ -1,6 +1,5 @@
#include "fpga_if.h"
-
/**
* @brief fpga_if初始化
*/
@@ -69,9 +68,20 @@ void fpga_if_init() { //
#if 1
zaf_gpio_write(&fpga_if.fpga_reserve_iob0, false);
- zaf_delay_us(1);
+ osDelay(2); // 等待FPGA电源稳定
zaf_gpio_write(&fpga_if.fpga_reserve_iob0, true);
+ osDelay(2); // 等待FPGA内部时钟稳定
#endif
+
+ while (true) {
+ uint32_t rxbuf;
+ fpga_if_spi_read_data(0x1000, &rxbuf);
+ if (rxbuf == 0x1000) {
+ break;
+ }
+ ZLOGI(TAG, "waitting for fpga is ready %x",rxbuf);
+ osDelay(10);
+ }
}
/**
diff --git a/usrc/main.cpp b/usrc/main.cpp
index 52ebc18..98d3bd4 100644
--- a/usrc/main.cpp
+++ b/usrc/main.cpp
@@ -123,15 +123,18 @@ void umain() {
if (FACTORY_RESET_KEY != PinNull) {
zaf_gpio_init_as_input(&m_factory_reset_key, FACTORY_RESET_KEY, kxs_gpio_nopull, kxs_gpio_no_irq, true);
}
+
+ /**
+ * @brief fpga_interface init
+ */
+ fpga_if_init();
+
// m_power_led
/**
* @brief 配置初始化
*/
config_init();
- /**
- * @brief fpga_interface init
- */
- fpga_if_init();
+
config_t* config = config_get();
for (uint32_t i = 0; i < ZARRAY_SIZE(config->reg_config_storage); i++) {
if (config->reg_config_storage[i].add == 0) {