yb_arm/README.md

4.5 KiB
Raw Permalink Blame History

拉取与推送:

【需要验证的方式】使用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用户配置下添加环境变量

vim ~/.bashrc
# 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

加载:

source ~/.bashrc

编译 test.52

bash build.sh --jesd --pcie --test 52

‍可执行文件的输出路径:

./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页大小的整数倍。

实际范围:

虽然映射的地址范围是 0x84C000000x84CFAFFF但实际上并没有使用这么多目前只使用了16016字节*20块

0x85001000

#define MAP_ADDR_RX_BASE_CASE52         0x85001000                          // RX 数据位起始
#define MAP_SIZE_ST_CASE52              1028096
作用:

程序从此地址读数据,然后发送数据到上位机。

解释:

虚拟内存映射空间的起始位置是0x85001000 ,大小也是 1028096

实际范围:

映射的地址范围为 0x850010000x850FBFFF但实际上并没有使用这么多目前只使用了16016字节*8块

0x85000000

#define MAP_ADDR_RXFLAG_DATA_CASE52     0x85000000                          // wr 计数起始位
#define MAP_SIZE_ST_CASE52              4096  					            // 4096
作用:

程序从此地址读一个计数然后根据这个计数的值决定要不要去0x85001000位置取数据。

该地址实际上充当了一个信号量交互的作用arm端只读ape端只负责更新。

解释:

虚拟内存映射空间的起始位置是0x85000000 ,大小是 4096

实际范围:

映射的地址范围为 0x850000000x85000FFF但实际上只用到了一个字节之所以映射大小4096只是为了页对齐要求。