体验RISC-V的第一次开发
最近着手学习RISC-V的开发,也不知道之前51单片机和ARM单片机的开发经验是否有用。这次以沁恒微的CH32V307的评估板为主,初步体验下点亮LED的程序,以及熟悉整个开发环境。
从官网下载并安装MounRiver Studio这个IDE。之后打开这个IDE,
第一眼看来,这就应该就是大名鼎鼎的Eclipse嘛。这个我可熟悉了,以为以前用Eclipse开发了多少年的Web应用了。删除ADC工程,同时从官网下载开发板的GPIO例程,并引入到工程环境。
到这一步很顺利啊,接下来就是修改代码、编译、下载运行了。
打开main.c文件,修改代码,
主要是两处,一个是GPIO_Toggle_INIT函数中:
由
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
改为
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2;
另一个是main函数中:
由
Delay_Ms(250);
GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
改为
Delay_Ms(500);
//GPIO_WriteBit(GPIOA, GPIO_Pin_1, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
GPIO_WriteBit(GPIOA, GPIO_Pin_1, 1);
GPIO_WriteBit(GPIOA, GPIO_Pin_2, 0);
Delay_Ms(500);
GPIO_WriteBit(GPIOA, GPIO_Pin_1, 0);
GPIO_WriteBit(GPIOA, GPIO_Pin_2, 1);
目的是让两个LED都亮。
然后是编译程序,查找错误。
选中工程,点击鼠标右键,在弹出的菜单上选择“Build Project”,
编译结果会输出到控制台中(Console)。如果有错误,可以在“Problems”中查看。
接下来是把程序下载到评估板中运行。回到“Project Explorer”视图中,在项目上点击鼠标右键,选择“Run As”的“OpenOCD WCH Debug”,
呃,不出意外的情况下,出意外了。控制台输出了一对信息,然后开发板上的LED1和LED2没有变化。原来我忘了跳线连接。这块评估板的LED1和LED2以排针方式连接在J3上,因为没连接到PA1和PA2上,所以虽然PA1和PA2输出正常,但LED是不会被点亮的。用杜邦线连接J6的PA1到J3的LED1,连接J6的PA2到J3的LED2后,我们就可以看到LED1和LED2两个蓝色的LED交替闪烁了。
到这里,终于调通了GPIO例程。作为第一个RISC-V的例程体验,感觉相当不错。因为非常适应Eclipse的开发,相比Keil,无论是在编程阶段,还是在编译、调试阶段,感觉更舒服。