浏览代码

Тесты

zaytsev.mikhail.olegovich@gmail.com 1 年之前
父节点
当前提交
d7b56f89c2
共有 1 个文件被更改,包括 22 次插入5 次删除
  1. 22 5
      main.c

+ 22 - 5
main.c

@@ -25,10 +25,11 @@
 #include "command.h"
 
 
-#define REQUESTED_MEMORY_SIZE  0x1000
-#define BUFF_SIZE			   2048
-#define SERVER_PORT 5025
-#define BACKLOG 10
+#define REQUESTED_MEMORY_SIZE  		0x1000
+#define REQUESTED_MEMORY_SIZE_DMA	0x10000
+#define BUFF_SIZE			   		2048
+#define SERVER_PORT 				5025
+#define BACKLOG 					10
 
 volatile int conn_fd = 0;
 volatile int pci_fd = 0;
@@ -58,6 +59,7 @@ void error(const char *msg)
 	}
 
     munmap(bar1, REQUESTED_MEMORY_SIZE);
+	munmap(bar0,REQUESTED_MEMORY_SIZE_DMA);
 	exit(1);
 } 
 
@@ -84,6 +86,7 @@ void handle_close_signal(int signal)
 			close(dma_fd);
 		}
         munmap(bar1, REQUESTED_MEMORY_SIZE);
+		munmap(bar0,REQUESTED_MEMORY_SIZE_DMA);
 		exit(0);
 	}
 }
@@ -133,6 +136,13 @@ int main(int argc, char *argv[])
         return 1;
     }
 
+	bar0 = mmap(NULL, REQUESTED_MEMORY_SIZE_DMA, PROT_READ | PROT_WRITE, MAP_SHARED, dma_fd, 0);
+    if (bar0 == MAP_FAILED) {
+        perror("mmap dma");
+        close(dma_fd);
+        return 1;
+    }
+
 	pci_bar_1 = (reg_addr_pci*)bar1;
 
     lmk04821_a_init(pci_bar_1);
@@ -149,7 +159,6 @@ int main(int argc, char *argv[])
     lmx2594_init(pci_bar_1);
 
 	usleep(1000);
-	
 	char *user_buffer = (char *) malloc(BUFF_SIZE);
 	char *user_buffer_read = (char *) malloc(BUFF_SIZE);
 
@@ -179,7 +188,11 @@ int main(int argc, char *argv[])
 		fprintf(stderr, "Data match\n");
 	}
 
+	free(user_buffer);
+    free(user_buffer_read);
+
 
+	usleep(1000);
 	// Установка режима SPI
 	uint32_t cfg_reg = get_cfg_reg();
 	SET_REGISTER_PARAM(cfg_reg, CFG_REG_SPI_MODE_BITM, CFG_REG_SPI_MODE_BITP, CFG_REG_SPI_MODE_4MOSI);
@@ -187,6 +200,10 @@ int main(int argc, char *argv[])
 	pci_bar_1->cfg_reg_addr = cfg_reg;
 	set_cfg_reg(cfg_reg);
 
+
+
+
+
 	// Установка обработчика сигналов
 	signal(SIGINT, handle_close_signal);