在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3999|回复: 0

[原创] 安路RISC-V软核使用笔记(4)

[复制链接]
发表于 2020-4-22 15:06:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 xqandwn 于 2020-4-22 15:21 编辑

Agile开发环境       
       因为agile软核使用risc-v指令集,因此可以使用risc-v社区提供的开源工具链进行编译。
       通过访问risc-v的社区:https://riscv.org/software-status/#ides,社区提供了几款IDE开发环境,

图1.png

       本次采用Embedded Studio开发工具,对于个人用户的非商业使用不需要license授权。通过Embedded Studio编译c语言代码后会生成一个.bin文件,而FPGA使用.mif文件作为agile的初始化文件,我编写了一个python脚本工具,完成.bin格式到.mif格式的转换

Embedded Studio下载地址

图2.png

图3.png



Embedded Studio安装教程

       按照提示默认安装,不需要特殊配置


Embedded Studio使用教程

       这里只是演示简单的Embedded Studio使用,详细的使用教程可以参考Embedded Studio官方文档。



(1) 打开软件

若没有购买商用license,则提示如下界面。商业用户需要加载购买的license,普通个人非商业用途可以点击Continue试用。

图4.png


(2) 新建工程

       点击File - New Project

图5.png


(3) 选择工程类型

       选择工程类型,填写工程名,选择工程路径。如下图所示:


图6.png


(4) 选择目标器件

选择目标器件,一直next直到结束。

图7.png


(5) 导入agile配套的bsp包

       右键点击Source,选择Add Exiting File,加入agile配套的BSP文件。

图8.png


(6) 工程设置

本次编译测试使用Debug模式

图9.png


鼠标单击工程名(不选中工程名,不能进行下一步):

图10.png


设置内存信息

图11.png


       下图地址0x0000018C是agile中断结束地址,为固定常数。地址0x00003E74为agile程序结束地址,具体数值和agile的配置参数相关。

       例如:用户在FPGA内设定的cpu存储空间为:4096*32bit = 4096*4byte = 16384byte = 0x00004000byte,那么:0x00004000 - 0x0000018C = 0x00003E74。



图12.png


设置cpu的指令集为rv32i

图13.png



设置输出bin格式

图14.png



       至此为止,整个agile的编译环境就搭建好了,可以在Embedded Studio中编写c语言代码了。如果使用其它的IDE开发环境,配置方式有所不同。

(7) bin格式转mif文件

       电脑安装python3.0以上版本,打开附件提供的python脚本(bin2mif.py),设置ram大小(Embedded Studio设置、TD软件设置、python脚本设置,三者要保持一致),设置相关文件路径:
图15.png

       在Embedded Studio中编译完软件工程后,双击bin2mif.py生成mif文件,把mif文件添加到FPGA工程,编译FPGA工程。

共享文件链接:https://pan.baidu.com/s/1CpcVKMVdtP05Sqosz23TsA 提取码:jz8q

....未完待续....


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 14:49 , Processed in 0.017869 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表