打印

GD32F103C8运行VSF脚本系统

[复制链接]
1769|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vsfopen|  楼主 | 2018-7-15 21:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 vsfopen 于 2018-7-16 20:05 编辑

1. 下载https://gitee.com/versaloon/vsf_open
2. 打开工程vsf/example/vsfaio/proj/EWARM_GD32/demo.eww
3. 修改vsf/example/vsfaio/proj/EWARM_GD32/hw_cfg.h:
HSE_VALUE定义为外部晶振的时钟,单位HZ
USB_PULLUP_PORT和USB_PULLUP_PIN定义为USB上拉GPIO,序号从0开始
比如PC13:USB_PULLUP_PORT定义为2,USB_PULLUP_PIN定义为13
如果GPIO和上拉反向(一般通过三极管控制的时候),定义USB_PULLUP_REV
4. 修改vsf_cfg.h,位于Workspace的config目录下
VSFUSBD_CFG_HIGHSPEED、VSFUSBD_CFG_FULLSPEED和VSFUSBD_CFG_LOWSPEED中,只保留VSFUSBD_CFG_FULLSPEED。GD32F103是全速USB口。
5. 编译下载运行
6. USB接电脑后,出现2个设备,一个是CDC(串口,win10下不需要驱动,输出系统日志),另一个是U盘。
7. PC上安装python2.7,并且设置.py文件打开方式是pythonw.exe(为了启动后不出现python的命令行界面)
8. 双击运行U盘中的ide.py
9. 输入脚本代码,示例:
const LED_PORT = 1, LED_PIN = 10;

var led = gpio_create(LED_PORT, LED_PIN).config(GPIO_OUTPP).set();

toggle_led(gpio led, ms)
{
  led.clear();
  timer_delayms(ms);
  led.set();
  timer_delayms(ms);
}

while (1)
{
  toggle_led(led, 500);
}

10. 通过串口超级终端(任意,比如putty),打开对应的串口
11. IDE中点击Compile:

12. IDE中点击Run,然后对应的LED就闪了



补充:1. 如果选用的芯片是GD32F103C8的话,需要预定义宏GD32F10X_MD;如果使用STM32F103C8,需要预定义宏STM32F10X_MD。
2. 设置脚本程序和二进制bytecode的存放位置和大小,vsf\example\vsfaio\usrapp\vm_gd32\app_cfg.h里,设置APPCFG_VM_ADDR、APPCFG_VM_SOURCE_SIZE和APPCFG_VM_BYTECODE_SIZE。APPCFG_VM_ADDR需要和芯片flash的页对其,SIZE也需要是页大小的整数倍。

使用特权

评论回复

相关帖子

沙发
Chin心| | 2018-7-16 20:24 | 只看该作者
这个厉害了!

使用特权

评论回复
板凳
CharryW| | 2018-7-19 13:49 | 只看该作者
膜拜大佬,学习了

使用特权

评论回复
地板
531455504| | 2020-2-22 20:00 | 只看该作者
今天没事来逛逛

使用特权

评论回复
5
单片机爱好者369| | 2020-6-23 19:50 | 只看该作者
Blue派,求分享固件

使用特权

评论回复
6
vsfopen|  楼主 | 2020-6-23 22:55 | 只看该作者

啥固件?2018年的时候,脚本系统被别人包了2年。今年重新开源

使用特权

评论回复
发新帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

325

帖子

8

粉丝