【感芯科技MC3172开发板体验】开机测试 - RISC-V MCU技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

马壮 关注 私信
[活动]

【感芯科技MC3172开发板体验】开机测试

[【感芯科技MC3172开发板体验】](https://bbs.elecfans.com/jishu_2359389_1_1.html" \o "【感芯科技MC3172开发板体验】环境搭建及板载LED驱动" \t "https://bbs.elecfans.com/_blank)+开箱测试

  1. 硬件资源介绍

厦门感芯科技多线程处理器 MC3172开发板 ,64线程同步并行运行,各个线程速度可按需配置,硬件级实时响应,无需中断服务程序,无需实时操作系统。RISC-V RV32IMC 指令集,100%单周期指令,133至200MHz主频,3.37coremark/MHz。极其适合高实时多并发应用场景。

MC3172的特点是64路线程同时并行运行无需切换,从而没有切换抖动,没有死锁,没有优先级反转,并且每个线程的运行速度都可按需独立设置。并行多线程可以把每个中断请求都安排专用的线程守护,从而无任何响应延迟或中断嵌套,其他线程则可独立运行,不会被中断打扰。

因此他既有操作系统的多任务与隔离性,又有裸机编程的简单与直接,还有接近FPGA的实时性与确定性。同时所有线程共享系统全部资源,相比多核MCU,没有核间通信瓶颈,编程更简,效率更高。

fb5abe40989e8d9f500aa585e6019b2

00bbe331f7a6efc0678ccf349adff06

以上是MC3172 EVB 开发板正反面

  1. 测评流程
  2. 开箱测试,配置调试环境。
  3. 根据现有例程进行学习,点亮LED灯。
  4. 实物图及配置开发环境

以下是实物图以及开发环境所需的工具。

fb792967b4497211c3eadab9f4b7f85

上图为开发板和数据线

  1. 资料下载:

在试用中心开发板界面右侧有相关资料,链接如下:

https://bbs.elecfans.com/jishu_2358058_1_1.html

168589482318988bi7jtoe6

16858948235791pae1zpfds

  1. 软件安装:
  2. MC3172开发环境推荐使用国产软件 [MounRiver Studio](http://www.mounriver.com/download" \t "http://www.gxchip.cn/down/_blank)

下载地址:http://www.mounriver.com/download

安装教程https://www.likecs.com/show-308084587.html

  1. 点亮LED灯
  2. 打开资料自带的基础例程

16858948238800v6x49o0wb

例程中只有thread0_main(任务0)有内容,我们通过《并行多线程处理器MC3172开发极简指南(2).pdf》中的函数介绍,来配置GPIO驱动

  1. GPIO驱动函数

168589482413747g9ttpiw3

1685894824718cxwargz7sj

  1. 查看原理图修改驱动代码

以下是开发板实际IO引脚和分布以及原理图,可以看出LED1接在PD8引脚上。

1685894824990r261j8q4eb

1685894825633lhpkpduxaw

配置线程频率

这里主要测试LED是否能够点亮。先将线程0频率配置1/1024主频,线程栈空间byte设置为500。然后点击生成代码,就覆盖了工程路劲下已有的文件。

1685894826072jpp6xqcg5z

1685894826377dxmq03sq25

修改驱动代码

void GPIO_EXAMPLE(u32 gpio_sel)
{
    INTDEV_SET_CLK_RST(gpio_sel,(INTDEV_RUN|INTDEV_IS_GROUP0|INTDEV_CLK_IS_CORECLK_DIV2));

    GPIO_SET_OUTPUT_EN_VALUE(gpio_sel,(GPIO_PIN8),GPIO_SET_ENABLE);
    //GPIO_SET_INPUT_EN_VALUE(gpio_sel,(GPIO_PIN_15_8),GPIO_SET_ENABLE);

    GPIO_SET_OUTPUT_PIN_TO_1(gpio_sel,(GPIO_PIN8));
    GPIO_SET_OUTPUT_PIN_TO_0(gpio_sel,(GPIO_PIN8));

    while(1)  {

//        GPIO_SET_OUTPUT_PIN_TO_1(gpio_sel,(GPIO_PIN8));
//
//        for (u32 var = 0; var < 5000; ++var) {
//            NOP();
//        }
//        GPIO_SET_OUTPUT_PIN_TO_0(gpio_sel,(GPIO_PIN8));
        GPIO_SET_OUTPUT_PIN_INV(GPIOD_BASE_ADDR,(GPIO_PIN8));
        for (u32 var = 0; var < 5000; ++var) {
               NOP();
           }
    }

}
  1. 编译下载

16858948266901s3hnqbfm1

1685894827221vfj47a2xai

烧录固件后,Led闪烁正常,刚开始的时候有不少朋友无法下载,感谢技术的支持。

初次试用MC3172,调试环境和使用流程已清楚。使用非常简便舒服,接下来测试其他外设驱动。

更多回帖

×
发帖