本帖最后由 notgood 于 2023-5-29 21:37 编辑
1.开箱照 首先感谢 电子发烧友以及感芯科技,有幸取得了MC3172 开发板免费试用资格。开箱千篇一律,贴两张图: 全家福
正面
反面
2.环境搭建: 按照官网提供链接,线下开发用IDE MounRiver_Studio,目前最新版本:MounRiver_Studio_Setup_V185.zip。网址: http://www.mounriver.com/download 一路next,下图步骤可以修改安装目录,没必要都装C盘。
安装时间稍长耐心等待,安装完会安装几个驱动,建议管理员权限运行安装程序。 3.开发板概述: 目前拿到的开发板已经在立创开源硬件平台开源,网址如下: 板载GX_LINK_V203 使用沁恒CH32V203G6U6实现,看原理图应当是CH32V203处理MC3172的固件从PC下载、存储、加载到MC3172。CH32V203通过usb-hid协议与PC进行通讯传输数据。目前仅支持固件下载更新功能,尚为提供 仿真功能。 开发板上MC3172 IO基本全部引出,部分引出IO引脚属于CH32V203,为了区分,特整理如下图所示:
由图可以看出CH32V203作为辅助MCU,不但实现了烧录功能,还补充MC3172缺乏的模拟 电路,而此硬件开源CH32V203的固件源码命名为GX_LINK_V203,难道是后续以此为基础开发仿真器? 4、点灯工程: 开发板示例代码开源地址:https://gitee.com/gxchip 我一般不太喜欢直接拷贝实例工程,而是先建立一个全新工程,主要是为了熟悉开发环境,当然过程中还是会参考示例工程,下边讲下在MounRiver_Studio下建立MC3172新工程步骤: 1)打开MounRiver_Studio,在左上角选在File->new->MounRiver project进入如下新建工程设置界面,project name为工程名字,按自己喜好取一个,查看MC3172规格书,发现内核基于RV32IMC 指令集,所以选择RISC-V core,详细设置如下图:
配置好就可以finish了。 2)生成内核配置文件以及link文件: 使用线程配置工具线程配置工具_V1.exe,按照下图设置(四个线程组各启用一个线程)
点击生成代码会生成MC3172.lds、thread_config.h领个文件,其中MC3172.lds为编译器link文件;thread_config.h包含线程配置信息,主要包含代码空间与数据空间设置、线程栈空间设置、线程频率设置、系统时钟源选择。 从示例代码中复制thread_start.c、MC3172.h两个文件,其中thread_start.c类似于其他MCU的START.S,主要初始化时钟、线程配置等,而MC3172.h等同于其他mcu的hal驱动,实现各个设备寄存器的定义,同时使用宏实现驱动。 将上述四个文件放入MounRiver project目录下的同一个目录里面,作为mcu相关文件,MounRiver会自动包含工程目录下的所有c源文件,不相关文件可以在相关文件或目录上点击右键做包含与不包含之间切换。如下图:
3).用户代码修改: 复制示例工程里的main.c作为用户主文件,修改文件中thread0_main函数,初始化GPIOD PIN8为输出,并已使用循环延时等待,做周期反转IO输出状态,在开发板上PD08引脚上接有一颗绿色LED,也就是我们刚收到开发板,第一次上电闪烁的绿色LED,板上丝印为LED1。代码如下: void thread0_main(void) { INTDEV_SET_CLK_RST(GPIOD_BASE_ADDR,(INTDEV_RUN|INTDEV_IS_GROUP0|INTDEV_CLK_IS_CORECLK_DIV2)); GPIO_SET_OUTPUT_EN_VALUE(GPIOD_BASE_ADDR,(GPIO_PIN8),GPIO_SET_ENABLE); GPIO_SET_OUTPUT_PIN_TO_1(GPIOD_BASE_ADDR,(GPIO_PIN8)); while(1) { GPIO_SET_OUTPUT_PIN_INV(GPIOD_BASE_ADDR,(GPIO_PIN8)); for(u32 var = 0; var < 2000000; ++var) { NOP(); } } thread_end(); } 4).配置编译条件以及链接文件位置: 右键点击工程,选择properties
进入工程设置界面,按照图中示意选择跟配置,然后点击下边按钮 apply and close 生效:
工程上点击右键、或者菜单里面选择build ,编译生成HEX文件。
5)烧录 烧录方式跟软件开发资料里面《并行多线程处理器MC3172开发极简指南(1)》有说明,软件也在资料包里有提供。目前此软件有bug,很多人已经碰到,就是下载程序会很慢,最后卡死在校验环节,烧录软件无法操作、或者操作非常迟钝,同时板子上出厂带的固件也没了,板子变砖了。5月25号上午收到开发板,上午完成了上述除了烧录之外的环节,然后就一直卡在烧录上了,幸好今天群里有人发现通过USB HUB转接后可以避免此bug。开发板上的led终于又闪烁起来了。
|