From 8445c54f01777513912d4c6d36c28e92a0ff33a0 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期四, 18 九月 2025 14:40:53 +0800
Subject: [PATCH] 首轮测试代码提交
---
src/main.cpp | 48 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/src/main.cpp b/src/main.cpp
index f4a6f5c..88a9a8e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -76,9 +76,15 @@
tob->toProc();
UpdateOutput(iid, DMACount[iid]&0x1);
+<<<<<<< HEAD
+// LP_transmit();
+ ModulesAsynSetInterval(proc_secs);
+ fir_acc_startup();
+=======
//LP_transmit();
// ModulesAsynSetInterval(proc_secs);
// fir_acc_startup();
+>>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
clock_stop = clock();
proc_secs = ((ufloat) (clock_stop - clock_start))/ CLOCKS_PER_SEC;
}
@@ -87,7 +93,11 @@
UpdateOutput(iid, DMACount[iid]&0x1);
}
+<<<<<<< HEAD
+ ++DMACount[iid];
+=======
DMACount[iid]++;
+>>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
}
int main(int argc, char *argv[])
@@ -119,22 +129,27 @@
memset(DMACount, 0, sizeof(DMACount));
Message* spiMsg = new Message(8);
- //第一次启动上报特别是仿真的时候需要arm'重新发送消息.
- spiMsg->DspStatusPush(DSP_EMULATE_DEBUG, 0, 0);
- spiMsg->ReportDspStatus(&msg);
SPI2_Init();
fir_acc_init();
//通知arm启动完成.
- //dir: pin12, High level DSP can receive data, low level DSP has data to send .
+ //dir: pin12, High level DSP can receive data, low level DSP has data toz send .
//busy: pin13/PB5, low level DSP is in busy state and cannot receive and send data, high level is free.
GPIO_SetOutPut(GPIOA, GPIO_Pin12, GPIO_HIGH);
GPIO_SetOutPut(GPIOB, GPIO_Pin5, GPIO_HIGH);
- u32 ddrspace = sram_free_space(SRAM_DDR, mem_any);
- printf("ddrspace:%d\n", ddrspace);
+<<<<<<< HEAD
+ //第一次启动上报特别是仿真的时候需要arm'重新发握手.
+ spiMsg->DspStatusPush(DSP_EMULATE_DEBUG, 0, 0);
+ spiMsg->ReportDspStatus(&msg);
+
+ printf("free sram %d, L2 %d\n", sram_free_space(SRAM_DDR, mem_any), sram_free_space(SRAM_L2, mem_any));
+=======
+// u32 ddrspace = sram_free_space(SRAM_DDR, mem_any);
+// printf("ddrspace:%d\n", ddrspace);
+>>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
while(1) {
asyn_proc_secs = ModulesAsynProcess();
@@ -170,25 +185,36 @@
//clock state will change after running,it need check always.
//about 1s
- if(++loop_cnt > 100000000){
- if(clock_check_count == DMACount[var.master_intr]) {
+ if(++loop_cnt > 5e+6){
+ if (var.clock_ok && clock_check_count == DMACount[var.master_intr]) {
var.dsp_status = dsp_no_clock;
+<<<<<<< HEAD
+ spiMsg->DspStatusPush(DSP_RUNNING_STATUS, &var.dsp_status ,1);
+=======
spiMsg->DspStatusPush(DSP_CLOCK_STATUS, &var.dsp_status ,1);
+>>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
spiMsg->ReportDspStatus(&msg);
+ printf("clk0 ok\n");
}
loop_cnt =0;
clock_check_count = DMACount[var.master_intr];
- printf("clk1 ok\n");
+// printf("clk1 ok\n");
}
-
if(!var.clock_ok && var.dsp_status == DSPStatus::dsp_running_ok && var.HandShakeSuccesful) {
//notify arm to work normaly.
- spiMsg->DspStatusPush(DSP_CLOCK_STATUS, 0, 0);
+ spiMsg->DspStatusPush(DSP_CLOCK_STATUS, &var.dsp_status, 1);
request_topo_count = DMACount[var.master_intr] ;
var.clock_ok = utrue;
+<<<<<<< HEAD
+ spiMsg->ReportDspStatus(&msg);
printf("clk2 ok\n");
+=======
+// printf("clk2 ok\n");
+>>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
}
+
+
}
}
--
Gitblit v1.9.3