查看: 759|回复: 0
收起左侧

织女星开发板启动模式修改——从ARM M4核启动

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2021-1-15 13:53
  • 签到天数: 26 天

    [LV.4]

    发表于 2020-8-15 10:27:12 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

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

    x
    本帖最后由 新ちゃん 于 2020-8-21 03:29 编辑

    织女星开发板启动模式修改——从ARM M4核启动织女星开发板使用

    前言
    刚开始玩织女星开发板的时候,想先从熟悉的ARM核入手,连上Jlink,打开MDK版本的Demo程序,编译OK,却检测不到芯片,仔细看了一下文档,原来RV32M1芯片默认从RISC-V核启动,如果想要调试下载ARM核程序,需要切换为ARM核启动,然后按照文档操作步骤,完成了启动模式的修改,现在分享给大家。

    RV32M1芯片内核简介
    织女星开发板主控芯片RV32M1,片上集成了四个核。

    两个RISC-V内核:
    • RISC-V RI5CY Core
    • RISC-V ZERO_RISCY Core


    两个ARM内核:
    • ARM Cortex-M4F Core(CM4)
    • ARM Cortex-M0+ Core(CM0+)


    两个ARM核共用一个JTAG调试口,两个RISC-V核共用一个JTAG调试口,每个核都可以运行在48MHz频率,但在高速模式(HSRUN)时,可达72MHz,如果要查看系统当前的运行频率,可以在主程序中使用如下函数来获取系统时钟频率:
    1.     uint32_t SysClk;
    2.     SystemCoreClockUpdate();  
    3.     SysClk = SystemCoreClock;
    4.     PRINTF("系统时钟: %d \r\n", SysClk);
    复制代码

    4个核被分为两个子系统,大核CM4F/RI5CY和小核CM0+/ZERO-RISCY,片上集成1.25 MB Flash 、384 KB SRAM,其中1 MB的Flash被大核所使用,起始地址0x0000_0000,另外的256 KB Flash被小核所使用,起始地址0x0100_0000。

    Flash地址示意
    国内芯片技术交流-织女星开发板启动模式修改——从ARM M4核启动risc-v单片机中文社区(1)

    为了支持多核运行模式,RV32M1片上集成了多核管理系统(Multi_Core Unit),包括消息传递单元(Messaging Unit)、信号量2(SEMA42)、系统控制模块 (MSCM)、 扩展资源控制器 (XRDC)等模块,用于多核间的通信和控制。

    内部整体框图

    国内芯片技术交流-织女星开发板启动模式修改——从ARM M4核启动risc-v单片机中文社区(2)

    关于RV32M1多核开发的详细介绍,可以参考官方文档:
    Develop_Multicore_Application_on_RV32M1.pdf

    启动模式的配置
    通过配置RV32M1片上的FOPT寄存器(Flash Option Register),可以支持上电时从不同的核来启动,默认从RISC-V RI5CY内核启动,如果要进行ARM核开发,如M4开发,则必须切换为从ARM核启动,否则当使用调试器进行程序下载时,根本不能识别到ARM芯片,这一点要特别注意。关于FOPT寄存器各位的描述,可以查看RV32M1参考手册P450,为了便于切换启动模式,官方已经为我们写好了配置文件,直接通过openocdtelnet软件就可以完成对FOPT寄存器的配置。

    安装openocd调试软件
    • 解压Toolchain_Windows.zip中的openocd.zip,解压路径可任意,建议解压到Eclipse安装目录下的[DISK:]\eclipse\GNU MCU Eclipse\openocd\bin
    • 为了能在cmd命令端直接使用openocd命令,我们需要在环境变量PATH中添加一条,值为openocd下bin文件夹的路径,我的是在:F:\VEGA_Board\IDE\eclipse\GNU MCU Eclipse\openocd\bin
    • 测试是否安装成功。在cmd命令窗口输入openocd回车,弹出如下命令,说明安装成功。

    1.   C:\Users\LAPTOP>openocd
    2.   Open On-Chip Debugger 0.10.0+dev-00433-g849f49ca (2019-01-04-07:48)
    3.   Licensed under GNU GPL v2
    4.   For bug reports, read
    5.           http://openocd.org/doc/doxygen/bugs.html
    复制代码

    安装 telnet 客户端应用
    Windows系统可以通过如下命令安装使用:

    • cmd命令窗口输入如下命令来安装telnet:
      1. pkgmgr /iu:"TelnetClient"
      复制代码
    • 测试是否安装成功。cmd命令窗口输入telnet命令,弹出如下窗口,说明安装成功。
      1.   欢迎使用 Microsoft Telnet Client
      2.   Escape 字符为 'CTRL+]'
      3.   Microsoft Telnet>
      复制代码





    上一篇:手把手教你搭建织女星开发板RISC-V开发环境
    下一篇:14nm芯片进入量产,国产系统新版本上线
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

      离线 

  • TA的每日心情
    奋斗
    2021-1-15 13:53
  • 签到天数: 26 天

    [LV.4]

     楼主| 发表于 2020-8-15 11:08:41 | 显示全部楼层
    本帖最后由 新ちゃん 于 2020-8-21 03:28 编辑

    • 输入help查看帮助信息:

    1.   Microsoft Telnet> help
    2.   
    3.   命令可能是缩写。支持的命令为:
    4.   
    5.   c    - close                    关闭当前连接
    6.   d    - display                  显示操作参数
    7.   o    - open hostname [port]     连接到主机(默认端口 23)。
    8.   q    - quit                     退出 telnet
    9.   set  - set                      设置选项(键入 'set ?' 获得列表)
    10.   sen  - send                     将字符串发送到服务器
    11.   st   - status                   打印状态信息
    12.   u    - unset                    解除设置选项(键入 'set ?' 获得列表)
    13.   ?/h  - help                     打印帮助信息
    复制代码

    升级Jlink固件
    修改启动模式,只能通过RISC-V内核来修改启动模式,即通过RISC-V JTAG调试口,

    国内芯片技术交流-织女星开发板启动模式修改——从ARM M4核启动risc-v单片机中文社区(3)

    file:///C:/Users/huawei/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
    • 升级当前Jlink驱动程序为支持RISC-V调试的驱动程序,即设备管理器里为

    file:///C:/Users/huawei/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg


      国内芯片技术交流-织女星开发板启动模式修改——从ARM M4核启动risc-v单片机中文社区(4)
    • 确保openocd已经添加到环境变量
    • 打开SDK目录下的\rv32m1_sdk_riscv\boards\rv32m1_vega目录

    file:///C:/Users/huawei/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg


      国内芯片技术交流-织女星开发板启动模式修改——从ARM M4核启动risc-v单片机中文社区(5)
    • 在当前窗口打开cmd命令窗口,在路径栏输入cmd即可在当前路径下打开cmd命令窗口

    file:///C:/Users/huawei/AppData/Local/Temp/msohtmlclip1/01/clip_image007.gif


      国内芯片技术交流-织女星开发板启动模式修改——从ARM M4核启动risc-v单片机中文社区(6)
    • 在打开的命令窗口输入openocd -f rv32m1_ri5cy.cfg,弹出如下窗口说明连接成功。

    file:///C:/Users/huawei/AppData/Local/Temp/msohtmlclip1/01/clip_image009.jpg


      国内芯片技术交流-织女星开发板启动模式修改——从ARM M4核启动risc-v单片机中文社区(7)
    • 按Win+R快捷键,输入cmd,再打开一个cmd命令窗口,输入telnet localhost 4444命令

    1.   C:\Users\LAPTOP>telnet localhost 4444
    2.   正在连接localhost....
    复制代码
    弹出telnet窗口,输入cm4_boot,选择从CM4核启动
    1. Open On-Chip Debugger
    2.         >cm4_boot
    复制代码

    先按住板子上的复位按键SW1,然后按回车执行命令。
    1. >cm4_boot
    2.         >
    复制代码

    稍等1秒钟,成功执行。然后重新上电,此时就是从ARM CM4核启动的。

    如果想直接使用板载调试器来调试ARM核,Jlink驱动程序需要恢复为原来的J-link driver,操作步骤可以参考:织女星开发板调试器升级为Jlink固件,打开ARM SDK目录下的点灯程序,目录为:rv32m1_sdk_arm\boards\rv32m1_vega\driver_examples\gpio\led_output\cm4\mdk,编译,下载,调试,均正常。

    使用批处理文件来简化操作

    为了更方便的来修改启动模式,可以把上述的两条命令写成批处理文件:



    • 在rv32m1_ri5cy.cfg所在的路径,新建一个1_openocd.txt文件,以记事本方式打开,输入命令openocd -f     rv32m1_ri5cy.cfg,文件扩展名修改为bat,即成为批处理文件。
    • 在rv32m1_ri5cy.cfg所在的路径,新建一个2_telnet.txt文件,输入命令telnet localhost 4444,修改扩展名为abt
    • 在以后需要更改启动配置时,只需要双击1_openocd.bat文件,然后双击2_telnet.bat文件,然后输入对应的启动命令。如ri5cy_boot、cm4_boot、zero_boot、cm0_boot,然后重新上电,芯片就会从配置的核启动。


    一些奇怪的事情


    • 当配置为从ARM CM4核启动时,上电之后,执行程序会延时几秒钟。
    • 配置成CM0启动时,能检测到芯片,但是程序下载不进去,不知道这是为什么。

    而配置成RI5CY和ZERO_RISCY核启动时,下载调试均正常。

    参考资料



    • Develop_Multicore_Application_on_RV32M1.pdf
    • RV32M1数据手册
    • RV32M1参考手册
    • 织女星开发板快速入门指南.pdf


    历史精选


    • 织女星开发板调试器升级为Jlink固件
    • NXP恩智浦VEGA织女星开发板免费申请!
    • 国产处理器的逆袭机会——RISC-V
    • 手把手教你制作Jlink-OB调试器(含原理图、PCB、外壳、固件)
    • Jlink使用技巧系列教程索引
    • Qt实现软件自动更新的一种简单方法
    全球首家只专注于RISC-V单片机行业应用的中文网站
    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-19 18:38 , Processed in 4.187042 second(s), 51 queries .

    快速回复 返回顶部 返回列表