# 拉取与推送: 【需要验证的方式】使用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,只是为了页对齐要求。