本帖最后由 wdzfd-25908 于 2018-12-27 23:05 编辑
Perf-V开发板试用评测4:蜂鸟软核程序开发流程
前面我们已经准备好了蜂鸟软核的软件开发环境并把软核固化到了Perf-V开发板,并对蜂鸟工程进行了初步的分析,下面以澎湃科技给出的三色led闪烁的蜂鸟DEMO为例了解下具体的软核程序开发流程。
首先用Vmware软件打开蜂鸟开发环境虚拟机镜像,在登录界面输入用户密码perfxlab后进入到Ubuntu 16.04 LTS的桌面,如下图示:
点击图中fengniao目录在进入到fengniao\e200_opensource\Perf-V-sdk\software\demo_gpio目录,目录下的文件如下图示:
这里将编写完毕的蜂鸟软核C程序要放到此目录中命名为demo_gpio.c,否则编译器会找不到文件,若是命令为其它文件名或放到其它目录中请自行修改makefile文件的源文件名和文件目录(注意是下文终端打开目录下的makefile文件)。然后按左上角返回图标返回到fengniao\e200_opensource\Perf-V-e-sdk目录,同时按Ctrl+Alt+T快捷键打开终端,在终端上输入下面命令进行C文件的编译:
make software PROGRAM=demo_gpioBOARD=Perf-V-creative-board
发现出现下面提示:make: ***No rule to make target 'software'. stop.
用pwd命令显示工作目录,发现工作目录为/home/a, 说明用按Ctrl+Alt+T快捷键方式打开终端其工作目录并不是fengniao\e200_opensource\Perf-V-e-sdk目录,用cd Desktop/fengniao/e200_opensource/Perf-V-e-sdk命令进入到该目录后再次输入编译命令(make software PROGRAM=demo_gpioBOARD=Perf-V-creative-board)就可以成功了,如下图示:
我们将下载器连到到开发板的USER_JTAG口(远离电源插头的那个JTAG口)上再上电。
点击虚拟机右下角的 usb标志使虚拟机与下载器连接,如下图示:
然后在刚才的终端上输入下载命令: make upload PROGRAM=demo_gpioBOARD=Perf-V-creative-board
回车执行后可以看到如下提示,同时开发板的三色灯在开始变换颜色闪烁:
至此,软件已经下载成功,注意到这里的下载是直接把程序烧写到了用户FLASH上的,断电重启程序还在的,其实我们看蜂鸟工程的顶层文件system.v调用软核时的连接关系: .io_pads_bootrom_n_i_ival (1'b1),
.io_pads_dbgmode0_n_i_ival (1'b1),
.io_pads_dbgmode1_n_i_ival (1'b1),
.io_pads_dbgmode2_n_i_ival (1'b1)
第一行io_pads_bootrom_n_i_ival接的高电平表示软核复位后从外部FLASH开始执行程序。
以上实现了基本的编译和下载功能,但开发过程比较重要的调试过程没有看到厂家给的文档有相关介绍,蜂鸟E200文档是说其实现了完整的调试方案且开源,具备完整的GDB交互调试功能,可以使用GDB软件对其进行远程交互式调试。参考SiFive-E310-arty-gettingstarted-v1.0.6.pdf文档介绍的调试流程输入下面命令:
make run_debug PROGRAM=demo_gpioBOARD=Perf-V-creative-board
出现下图提示:
出现下面提示:make: ***No rule to make target 'run_debug'. stop. 说明澎湃科技提供的Perf-V-e-sdk在GDB调试方面可能还没有移植好,也有可能是蜂鸟E203
内核不支持Hardware Breakpoint 和Watchpoint 特性的原因。另外上面编译和下载过程厂家已经编写好了相关的makefile文件,要了解细节还得再研究相关代码,这两方面是下一步的学习方向。
|