本文介绍如何在 EIDE 上使用 IAR_STM8 工具链完成项目 创建,编译,并使用 STM8-Debug 完成调试
本文以 STM8S105K4T6 为例
1. 使用 EIDE 创建一个 8/16 Bit MCU 项目
注意: STM8 项目路径中 不要含有任何中文字符 和 空格,否则调试功能将无法使用
2. 项目目录下创建一个文件夹,将 STM8S 标准外设库复制到该目录下
3. 添加宏,本例是:STM8S105
4. 将 STM8S_StdPeriph_Driver 目录添加到项目,并排除 无用和不支持 的外设
排除该 芯片 不支持的外设,和不需要使用的外设
5. 切换到 IAR_STM8 工具链,打开配置,填写要使用的 链接脚本 名称
所有可用的 链接脚本 位置:stm8config,找到你要使用的链接脚本,将其文件名称填写到此处6. 写好代码,编译
7. 填写好 launch.json,连接好 STLink,F5 开始调试
EIDE 会生成一个默认配置,可以用作参考
关键字:vscode 编译 调试
引用地址:
在 vscode 上使用 IAR_STM8 工具链开发 编译 调试 STM8 项目
推荐阅读最新更新时间:2024-11-06 13:11
C51编译器-语言扩展(6)-重载函数
Reentrant Functions可重入函数 可重入函数可以被多个进程同时调用。当一个可重入函数执时,其他的处理可以中断这个函数的执行,而开始执行这同一重入函数。一般情况下,Cx51中的函数不能够被同时多次调用或者是重入。原因是函数的参数和局部变量都放在固定的内存中。函数reentrant属性允许声明可重入的函数,如: int calc (char i, int b) reentrant { int x; x = table ; return (x * b); } 可重入函数可以被多次调用,而且可以同时被两个或两个以上的进程调用。在实时应用或在中断和非中断程序都要调用同一个函数时就需要使用可重入函数。 对于每个可重
[单片机]
Spectrum View 在电源网络调试 及PLL故障诊断场景的应用
前三篇文章主要介绍了Spectrum View的功能特点、相关理论知识,及其在多域联合分析上的应用,本文将通过常见的电源网络调试及PLL故障诊断等测试场景进一步描述Spectrum View的应用。 图1. MSO64采用全新TEK049平台和超低噪声前端TEK061 Spectrum View在电源调试中的应用 作为电子系统的动力源泉,电源网络质量的优劣将直接影响系统能否正常工作,因此电源测试及调试是保证系统正常工作极其重要的一环。系统中常用的电源种类较多,包括SMPS (AC-DC, DC-DC)及LDO,对于这些电源,一般除了关注电压幅度之外,现在也越来越多地开始关注电源纹波信号,尤其是对于RF IC及HSS IC的供
[测试测量]
U-Boot-2009-03移植笔记(调试篇)
对于驱动开发,系统移植来说,我们的代码可能会出现无数种bug,但是结果只有一个:驱动失败!本文简单介绍以下openjtag的裸机调试. 开发环境 操作系统:ubuntu10.04 硬件设备:xinna2440 软件:openocd 0.3.1、u-boot-2009-03 调试方法 首先我们必须得对我们的程序每条指令位于哪个地址了如指掌,所以,我们需要对我们编译好的u-boot进行反编译:使用arm-linux-objdump命令。 在u-boot源码根目录,运行:arm-linux-objdump -d u-boot u-boot.S,这样,反编译后的代码,就在u-boot.S中,我们用vim打开看看 很清楚的看到,我
[单片机]
关于keil 自定义链接脚本 编译错误
为了在程序中实现printf 打印, 于是在keil Target 中勾选了 use MicroLib 选项, 编译时出现如下错误: L6218E: Undefined symbol __initial_sp (referred from entry2.o). 解决方法: 在链接脚本中(scat 文件,分散加载文件),指定堆栈指针的位置: ARM_LIB_HEAP 0x20004700 EMPTY 0x00000200 {} ARM_LIB_STACK 0x20004B00 EMPTY -0x00000200 {} 在中断向量表中添加如下: .... IMPORT ResetHndlr IMPORT ||Im
[单片机]
c代码如何转换成可以在硬件上运行程序
C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程 从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链接过程。 过程图解如下: 编译过程又可以分成两个阶段:编译和汇编。 编译 编译是读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,源文件的编译过程包含两个主要阶段: 第一个阶段是预处理阶段,在正式的编译阶段之前
[网络通信]
MPLAB C18 C编译器 函数库(中文)
编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 汇编程序 (assembler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)
[模拟电子]
ARM编译器中预定义的宏
ARM编译器预定义了一些宏,这些预定义宏对应一定的数值,有些预定义宏没有对应数值,见下表: _arm _ 使用编译器armcc,tcc,armcpp,tcpp时 _ARMCC_VERSION Ver 代表编译器版本号,其格式为: PVtbbb,其中: P为产品编号(1代表ADS) V为副版本号(1代表1.1) T为补丁版本号(0代表1.1) bbb为build号(比如650) _APCS_INT
[单片机]
恩智浦与ARM签署重量级授权协议
恩智浦半导体与ARM共同宣布双方已签署一份新的授权协议,内容涉及ARM® Cortex™-M3处理器及其他ARM技术。恩智浦将从2008年开始推出基于ARM Cortex-M3处理器的全新微控制器系列。 作为此项协议的一部分,恩智浦有权在未来开发超低功耗解决方案的过程中,使用所有ARM Cortex系列处理器(包括新近推出的Cortex-A9 MPCore™多核处理器)、ARM Mali™系列图形处理器 (GPU)、CoreSight™片上调试及跟踪技术以及全套ARM物理 IP。 恩智浦半导体高级副总裁兼首席技术官René Penning de Vries表示:“恩智浦与ARM之间的战略协议彰显了双方对32位处理器
[焦点新闻]