【中科蓝讯AB32VG1 RISC-V开发板】评测之环境搭建
<p>工作学习中一直接触的是arm芯片,这几年risc-v热度不减,一直也都比较感兴趣。趁着论坛活动申请了一块中科蓝讯AB32VG1 RISC-V开发板,实践出真知,看看和arm芯片区别在哪里。</p><p>开发环境:ubuntu18桌面环境 + vscode + riscv64 gcc编译器。</p>
<p>先认识一下开发板,官方文档里贴了这样一张图:</p>
<p></p>
<p>麻雀虽小,五脏俱全。常用的外设接口都已经包含。本次评测也是基于以上引出的接口进行。</p>
<p>但是图片结合文档内的资源描述 ,让我产生了疑问,文档介绍的搭载的FM模块,图中并未标出,不知道是集成在哪里?</p>
<p>下面介绍开发环境搭建:</p>
<p>一:安装交叉编译器</p>
<p>获取源码</p>
<pre>
<code>git clone https://gitee.com/mirrors/riscv-gnu-toolchain.git
cd riscv-gnu-toolchain
git submodule update --init --recursive</code></pre>
<p>二:安装依赖</p>
<pre>
<code>sudo apt-get install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev</code></pre>
<p>三:编译riscv64-unknown-elf-gcc</p>
<pre>
<code>./configure --prefix=/opt/riscv
sudo make</code></pre>
<p>编译64bits riscv64-unknown-elf-gcc</p>
<pre>
<code>./configure --prefix=/opt/riscv
sudo make linux</code></pre>
<p>编译32bits和64bits</p>
<pre>
<code>./configure --prefix=/opt/riscv --with-arch=rv32gc --with-abi=ilp32d
sudo make linux
./configure --prefix=/opt/riscv --enable-multilib
sudo make linux</code></pre>
<p>在即将编译结束时我在github上找到了现成的工具<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan34.gif" width="48" />,所以推荐直接下载下来用,免除自己编译。</p>
<p>四:下载rtthread源码</p>
<pre>
<code>git clone https://github.com/RT-Thread/rt-thread.git</code></pre>
<p>使用vscode打开rtthread源码,AB32VG1路径如下rt-thread/bsp/bluetrum/ab32vg1-ab-prougen。</p>
<p>更改此路径下的rtconfig.py文件内的交叉编译器路径即可,如图</p>
<p> 在命令行输入</p>
<pre>
<code>scons</code></pre>
<p>即可实现编译。</p>
<p>编译信息如下:</p>
<p> 可以看到已经生成elf和bin文件,但是最后一步elf转换为bin时产生错误,命令如下:</p>
<pre>
<code>./riscv32-elf-xmaker -b rtthread.xm</code></pre>
<p>查看了rtthread.xm文件,内容如下:</p>
<pre>
<code>make(dcf_buf, header.bin, rtthread.bin);
save(dcf_buf, rtthread.dcf);</code></pre>
<p>看脚本内容猜测是bin文件转为下载时使用的dcf文件,在此过程中需要使用的riscv32-elf-xmaker工具,但是这不是一个标准工具,不知道是rtthread提供的还是中科蓝讯提供的。暂时无解。</p>
<p> </p>
<p>仿真好用吗?arm我觉得很大程度上归功于一个好的仿真环境。</p>
<p>最后一步elf转换为bin时产生错误,这个是为什么</p>
<p>elf转换为bin试试其它工具</p> freebsder 发表于 2021-8-18 18:31
仿真好用吗?arm我觉得很大程度上归功于一个好的仿真环境。
<p>目前在linux平台下没看到合适的仿真工具</p>
littleshrimp 发表于 2021-8-19 07:15
elf转换为bin试试其它工具
<p>多谢提醒,但是最后一步转换好象是带加密的</p>
Jacktang 发表于 2021-8-18 22:33
最后一步elf转换为bin时产生错误,这个是为什么
<p>使用的是私有工具转换的,不兼容linux平台</p>
页:
[1]