4.5 KiB
拉取与推送:
【需要验证的方式】使用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页大小的整数倍。
实际范围:
虽然映射的地址范围是 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,只是为了页对齐要求。