本帖最后由 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也需要是页大小的整数倍。
|