● ST Visual Develop的安装 到 ST 官方网站: http://www.st.com/stonline/products/support/micro/files/sttoolset.exe 下载安装。
● ST Visual Develop之设置软件与建立、打开相关调试文件 ----使用Cosmic C语言,软件仿真 要用STVD的IDE下使用COSMIC C语言开发的话,首先要在STVD中对COSMIC STM8编译器进行设置。 如下图所示,运行ST Visual Develop 集成开发环境,选择菜单"Tools -> Options",在出现的对话框中选择"Toolset"选项卡。在"Toolset"下拉菜单,选中"STM8S Cosmic",设置编译器的安装路径"Root path",然后选择"确定"。本例中选择的"Root path" 是:C:\Program Files\COSMIC\CXSTM8_16K。至此,就完成了COSMIC C编译器的设置完成。 图1
----软件仿真 要进行软件仿真,则要进行软件设置,选择菜单" Debug instrument -> Target Settings",进入了设置界面。在" Debug session"里面选择"Simulator",这样就完成了软件仿真设置。打开相关调试文件 1. 打开测试文件test.stw(本教程是用test.stw的工程文件)
2. 载入后进入了编程画面,进入仿真界面,只要按菜单栏上的"Debug -> Start Debugging",或者按菜单栏上的蓝色按钮,就进入了仿真界面进行仿真。 (红色框框就是仿真按钮)
3. 软件仿真需要设置相应的寄存器的,在" Debug instrument"菜单下,可以设置相应的MCU设置。 ----使用STLink III仿真器,硬件仿真 要进行硬件仿真,也要进行软件设置,选择菜单" Debug instrument -> Target Settings",进入了设置界面。在" Debug session"里面选择您所使用的仿真器,本例子是用的STLink,所以选择"Swim ST-Link",然后在"Target Port Selection"里面选择USB,接着按OK,这样就完成了硬件仿真设置。 打开相关调试文件 1. 打开测试文件test.stw(本教程是用test.stw的工程文件)
2. 硬件仿真需要设置相应的MCU型号的,如果MCU型号设置与实际不相符则无法进行仿真。载入了源文件之后,在" Project -> Settings -> MCU Selection"设置MUC型号。(修改过MCU型号后需要编译多一次) 3. 设置完MCU型号后,要进入仿真界面,只要按菜单栏上的"Debug -> Start Debugging",或者按菜单栏上的蓝色按钮,就进入了仿真界面进行仿真。 (红色框框就是仿真按钮)
● STM8之调试程序 下面简单介绍使用ST Visual Develop进行仿真调试
调试控制栏 调试控制栏可以控制程序的执行状态,所有的调试控制都可以由菜单,快捷键和调试工具栏实现。 1.开始调试(Start Debugging) 此命令将启动调试模式,并使所有的调试控制命令处于有效。此命令将连接调试平台,装载目标文件并执行复位操作。 2.停止调试(Stop Debugging) 此命令将停止调试过程,并断开与调试平台的连接,进入编辑模式。 3.光标跳转到当前程序处(Go To PC) 让光标跳转到当前运行的程序语句行处。 4.全速运行(Run)(Ctrl+F5) 调试菜单中的运行命令将启动(重启动)程序。程序将一直运行直到被用户停止或遇到一个断点。只有当程序处于停止运行状态时才能执行此命令。 5.复位(Reset)( Ctrl+ SHIFT+F5 ) 此命令可以让目标程序复位。当程序正在运行时,无法执行此命令。如果用户是在源级模式中,程序会在复位完成后,跳回到第一条用户的源代码语句处。复位命令执行后,所有窗口中的信息都将更新。 6.重新开始应用程序(Restart Application) 此命令可以让目标程序复位并且条状到主函数。当程序正在运行时,无法执行此命令。此复位命令执行后,所有窗口中的信息都将更新。 7.继续运行(continue) 调试菜单中的暂停命令让暂停或者停留在断点的程序继续运行下去。 8.暂停(stop)(SHIFT+F5) 调试菜单中的暂停命令将停止程序运行。当程序停止时,所有窗口中的信息都将更新。只有当程序处在运行状态时才能执行此命令。 9.逐过程(Step Into)(F11) 调试菜单中的逐过程命令只执行一条指令。如果此条指令包含一个函数调用/子程序调用,该函数/子程序也会同时执行。如果在逐过程命令中遇到用户设置的断点,程序运行将被挂起。在逐过程命令执行完毕后,所有窗口中的信息才会被更新。 a.跳跃(Step Over)(F10) 调试菜单中的跳跃命令会使程序不进入子程序运行,直到当前函数结束。如果遇到用户设置的断点,程序运行将被挂起。当程序处在最外层(如主函数)时,此时执行跳出命令,程序将继续运行,直到遇到一个断点或被用户停止。在该命令执行完成后,所有窗口中的信息都将更新。 b.汇编语言逐过程(Step Into ASM)(Alt+F11) 调试菜单中的逐过程命令只执行一条指令。如果此条指令包含一个函数调用/子程序调用,该函数/子程序也会同时执行。如果在逐过程命令中遇到用户设置的断点,程序运行将被挂起。在逐过程命令执行完毕后,所有窗口中的信息才会被更新。 c. 汇编语言跳出(Step Over ASM)(Alt+F10) 调试菜单中的跳出命令会使子函数程序一直运行,直到当前函数的汇编语言结束。如果遇到用户设置的断点,程序运行将被挂起。当程序处在最外层(如主函数)时,此时执行跳出命令,程序将继续运行,直到遇到一个断点或被用户停止。在该命令执行完成后,所有窗口中的信息都将更新。 d.跳出(Step Out)(Ctrl+F11) 调试菜单中的跳出命令会使在子函数程序一直运行,直到当前函数的结束。如果遇到用户设置的断点,程序运行将被挂起。当程序处在最外层(如主函数)时,此时执行跳出命令,程序将继续运行,直到遇到一个断点或被用户停止。在该命令执行完成后,所有窗口中的信息都将更新。 e.运行到断点处(Run To Cursor) 调试菜单中的运行到断点处命令,将使程序运行到源代码的断点处停止。 f.运行到光标处(Run To Cursor) 调试菜单中的运行到光标处命令,将使程序运行到源代码窗口中光标指示的语句处停止。此时如果遇到用户的断点,程序的运行将不会被挂起。如果程序运行永远达不到光标指示处的语句,程序将一直继续运行,直到被用户停止。当此命令结束后,所有窗口中的信息都将更新。由于此命令是与光标位置有关,所以只有当源代码窗口激活时才有效。 |