From 4fc398e038647ce49d865afff40597cc8a2cd6ac Mon Sep 17 00:00:00 2001 From: yuanQie Date: Mon, 26 May 2025 16:34:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=93=9D=20=E6=96=B0=E5=A2=9Earm?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=9C=B0=E5=9D=80=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 78 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 70 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 98c629a..07eabac 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,4 @@ -# yb_arm - - - -### 拉取与推送: +# 拉取与推送: 【需要验证的方式】使用HTTP拉取项目: ``` @@ -25,7 +21,7 @@ Username for 'http://47.100.68.68:3000': <输入你的gitea账户名> Password for 'http://qieyuan@47.100.68.68:3000': <输入你的gitea密码> ``` -### 使用SSH拉取与推送(可选): +# 使用SSH拉取与推送(可选): 【不需验证的方式】如果不想总是输入密码,可以使用SSH方式拉取和推送项目: @@ -55,7 +51,7 @@ Host gitea git clone git@gitea:BUPT/yb_arm.git ``` -### 编译: +# 编译: 在自己的linux用户配置下添加环境变量: @@ -89,7 +85,7 @@ bash build.sh --jesd --pcie --test 52 ./build/msgtransfer.out ``` -### 备注: +# 文件备注: udp程序在板子上运行的时候,需要放进去一个本地文件 `data.txt` @@ -112,4 +108,70 @@ data_txt_fd = fopen("/opt/data.txt","r"); // 此处建议修改为绝对路径 ``` +# 地址说明: +## 0x84C00000 + +``` +#define MAP_ADDR_TX_BASE_CASE52 0x84C00000 // TX 数据位起始 +#define MAP_SIZE_CASE52 1028096 // 映射大小 +``` + +##### 作用: + +在读完txt文件后,会首先将数据存放到这个地址上 。 + +##### 解释: + +虚拟内存映射空间的起始位置是`0x84C00000` ,大小为 `1028096` ,这个大小其实就是映射16016字节*64块,往上4096页大小的整数倍。 + +##### 实际范围: + +虽然映射的地址范围是 **`0x84C00000` 到 `0x84CFAFFF`**,但实际上并没有使用这么多(目前只使用了16016字节*20块) + + + +## 0x85001000 + +``` +#define MAP_ADDR_RX_BASE_CASE52 0x85001000 // RX 数据位起始 +#define MAP_SIZE_ST_CASE52 1028096 +``` + +##### 作用: + +程序从此地址读数据,然后发送数据到上位机。 + +##### 解释: + +虚拟内存映射空间的起始位置是`0x85001000` ,大小也是 `1028096` + +##### 实际范围: + +映射的地址范围为 **`0x85001000` 到 `0x850FBFFF`**,但实际上并没有使用这么多(目前只使用了16016字节*8块) + + + +## 0x85000000 + +``` +#define MAP_ADDR_RXFLAG_DATA_CASE52 0x85000000 // wr 计数起始位 +#define MAP_SIZE_ST_CASE52 4096 // 4096 +``` + +##### 作用: + +程序从此地址读一个计数,然后根据这个计数的值,决定要不要去0x85001000位置取数据。 + +该地址实际上充当了一个信号量交互的作用,arm端只读,ape端只负责更新。 + +##### 解释: + +虚拟内存映射空间的起始位置是`0x85000000` ,大小是 `4096` + +##### 实际范围: + +映射的地址范围为 **`0x85000000` 到 `0x85000FFF`**,但实际上只用到了一个字节,之所以映射大小4096,只是为了页对齐要求。 + + +