查看: 6327|回复: 3

Perf-V开发板试用评测4:蜂鸟软核程序开发流程

[复制链接]
  • TA的每日心情
    开心
    2022-8-6 16:18
  • 签到天数: 72 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2018-12-27 23:02:31 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 wdzfd-25908 于 2018-12-27 23:05 编辑

    Perf-V开发板试用评测4:蜂鸟软核程序开发流程

        前面我们已经准备好了蜂鸟软核的软件开发环境并把软核固化到了Perf-V开发板,并对蜂鸟工程进行了初步的分析,下面以澎湃科技给出的三色led闪烁的蜂鸟DEMO为例了解下具体的软核程序开发流程。
      首先用Vmware软件打开蜂鸟开发环境虚拟机镜像,在登录界面输入用户密码perfxlab后进入到Ubuntu 16.04 LTS的桌面,如下图示:
    40.jpg

    点击图中fengniao目录在进入到fengniao\e200_opensource\Perf-V-sdk\software\demo_gpio目录,目录下的文件如下图示:
    41.jpg

    这里将编写完毕的蜂鸟软核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)就可以成功了,如下图示:
    42.jpg

    我们将下载器连到到开发板的USER_JTAG口(远离电源插头的那个JTAG口)上再上电。
    点击虚拟机右下角的 usb标志使虚拟机与下载器连接,如下图示:
    43.jpg



    然后在刚才的终端上输入下载命令:
    make upload PROGRAM=demo_gpioBOARD=Perf-V-creative-board
    回车执行后可以看到如下提示,同时开发板的三色灯在开始变换颜色闪烁:
    44.jpg


    至此,软件已经下载成功,注意到这里的下载是直接把程序烧写到了用户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
    出现下图提示:
    45.jpg

    出现下面提示:make: ***No rule to make target 'run_debug'. stop.
    说明澎湃科技提供的Perf-V-e-sdkGDB调试方面可能还没有移植好,也有可能是蜂鸟E203
    内核不支持Hardware Breakpoint Watchpoint 特性的原因。另外上面编译和下载过程厂家已经编写好了相关的makefile文件,要了解细节还得再研究相关代码,这两方面是下一步的学习方向。


    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 10:32
  • 签到天数: 41 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2018-12-28 10:26:46 | 显示全部楼层
    期待下一篇内容
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-2-4 17:39
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-1-2 10:54:05 | 显示全部楼层
    感谢大佬分享啦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-5-5 09:51
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2020-4-29 15:29:41 | 显示全部楼层
    收藏,得空试试
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-3-29 16:02 , Processed in 0.157461 second(s), 24 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.