From f8ee02421cbf48c026f202ef4252631e82718c3a Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 12 Mar 2024 18:44:25 +0800 Subject: [PATCH] V3 stable --- .settings/language.settings.xml | 4 ++-- usrc/base_service/fpga_if.c | 14 ++++++++++++-- usrc/main.cpp | 11 +++++++---- 3 files changed, 21 insertions(+), 8 deletions(-) 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) {