GD32F103C8运行VSF脚本系统

[复制链接]
 楼主| 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. 输入脚本代码,示例:
  1. const LED_PORT = 1, LED_PIN = 10;

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

  3. toggle_led(gpio led, ms)
  4. {
  5.   led.clear();
  6.   timer_delayms(ms);
  7.   led.set();
  8.   timer_delayms(ms);
  9. }

  10. while (1)
  11. {
  12.   toggle_led(led, 500);
  13. }

10. 通过串口超级终端(任意,比如putty),打开对应的串口
11. IDE中点击Compile:
gd32_vsfvm.png
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 | 显示全部楼层
今天没事来逛逛
单片机爱好者369 发表于 2020-6-23 19:50 | 显示全部楼层
Blue派,求分享固件
 楼主| vsfopen 发表于 2020-6-23 22:55 | 显示全部楼层

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

90

主题

325

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部