yb_arm/README.md

178 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 拉取与推送:
【需要验证的方式】使用HTTP拉取项目
```
git clone http://47.100.68.68:3000/BUPT/yb_arm.git
```
命令行中会让你输入自己的账号和密码。
```
> git clone http://47.100.68.68:3000/BUPT/yb_arm.git
Username for 'http://47.100.68.68:3000': <输入你的gitea账户名>
Password for 'http://qieyuan@47.100.68.68:3000': <输入你的gitea密码>
```
修改完代码后,推送也是一样:
```
> git push origin dev_ck_v2.1
Username for 'http://47.100.68.68:3000': <输入你的gitea账户名>
Password for 'http://qieyuan@47.100.68.68:3000': <输入你的gitea密码>
```
# 使用SSH拉取与推送可选
【不需验证的方式】如果不想总是输入密码可以使用SSH方式拉取和推送项目
浏览器登录gitea仓库网站右上角 `点击头像-个人设置-安全` 中上传自己的公钥即可。
如果本地已经指定了默认的git服务器网上的教程一般会让github设为自己的默认服务器
这种情况下需要重新生成一个公钥上传到gitea后需要在本地通常是C盘用户目录下的.ssh文件`ssh config` 配置文件中,新添加一个`Host gitea` 设置:
```
# 本地默认服务器
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github
# 新添加一个gitea服务器起个别名比如gitea
Host gitea
HostName 47.100.68.68
Port 222
User git
# 这里填写自己的秘钥路径。
IdentityFile ~/.ssh/id_rsa_gitea
```
然后正常拉取或者提交项目,注意要使用自己别名 `gitea`
```
git clone git@gitea:BUPT/yb_arm.git
```
# 编译:
在自己的linux用户配置下添加环境变量
```bash
vim ~/.bashrc
```
```bash
# TODO YB通信相关环境
CROSS_CC_HOME=/home/qieyuan/bupt_project/yb/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin
export CROSS_CC=$CROSS_CC_HOME/aarch64-linux-gnu-
export PATH=$PATH:$CROSS_CC_HOME
```
加载:
```bash
source ~/.bashrc
```
编译 test.52
```bash
bash build.sh --jesd --pcie --test 52
```
‍可执行文件的输出路径:
```bash
./build/rfic.out
./build/msgtransfer.out
```
# 文件备注:
udp程序在板子上运行的时候需要放进去一个本地文件 `data.txt`
程序默认读取文件路径是绝对路径在板子上可以放到opt路径下
```
/opt/data.txt
```
如果想改动这个路径:
```
vim ./ucp4008_platform_arm/test/case52/src/testcase52.c
```
```
// 第143行
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只是为了页对齐要求。