编译完成时显示程序占用的flash和ram大小
将附件压缩包中的mapinfo.exe解压到stvd的安装路径stvd中
在工程上点右键选settings
右侧的选项卡选择Linker,将category的下拉框选成output,然后在Generate Map file前打勾
再将选项卡上选择到Post-Build,在下方文本框中新粘贴一行内容mapinfo $(OutputPath)$(TargetSName).map
点OK按键确定,菜单File->save workspace,保存工程
重新编译下,你就能看到flash,ram,eeprom占用字节数了
修改工程选用的MCU
Settings->MCU Selections,选择要修改的MCU后,点击Select
【重要】Settings->C Compiler,修改Preprocessor Definitions一栏,改为要修改的MCU型号
手动修改可用flash、ram等的大小
修改MCU型号后,会自动配置flash、ram大小。但有时自动配置的大小不符合实际,此时就要手动修改了。
Settings->Linker->Input,修改表格中对应项目即可。
出现“#error clnk Debugstm8s105.lkf:1 @svlreg missing for function f_UART1_RX_IRQHandler”报错:
原因:stm8s_it.c中的对应中断函数前,没有加上@svlreg
处理:在每个报错的中断函数前加上@svlreg,不再报错
关键字:stm8 编程tips stvd
引用地址:
stm8编程tips(stvd)
推荐阅读最新更新时间:2024-11-18 14:36
STM8 I2C的学习
STM8的I2C接口 1、I2C模式选择 接口有4种模式:从设备发送模式;从设备接收模式;主设备发送模式;主设备接收模式。 默认条件下,I2C模块工作于从模式。接口在产生起始条件后自动地从从模式切换到主模式;当仲裁失败或发送STOP信号时,则从模式切换到从模式。 2、通信过程 主模式时,I2C接口启动数据传输并产生时钟信号。串行数据传输总是以起始条件开始并以停止条件结束。起始条件和停止条件都是在主模式下由软件控制产生。 相关功能寄存器 1、I2C控制寄存器1(I2C_CR1) 2、I2C控制寄存器2(I2C_CR2) 3、I2C频率寄存器(I2C_FREQR) 允许的时钟范围在 1-24MHz 4、I2C自身地址寄存器LSB
[单片机]
stm8下载程序(使用ST-LINK下载器和STVP下载软件)
首先要说下为什么要建立烧写工程呢- -原因只有一个。因为你不可能将源码工程交给别人去帮你烧程序。 - -然后要吐槽下ST官方的IDE。真的。用得我极度不爽。所以后来转战IAR。结果发现IAR没法批量生产- -因为IAR少程序貌似一定要在工程下。不能直接将HEX文件烧写进板子里。所以最后还是要用STVP来批量烧。 首先要准备好你的烧写文件。HEX或者S19。文件。(用IAR或者STVD生成的,前提必须保证你程序没问题- -这个肯定不用说)。 第一步:然后打开STVP 。打开之后是这样的 第二步:点击OPTION BYTE 。ROP ON。这个是每次烧写完将FLASH锁住。以免别人读你的IC。 还有如果你晶振是24M的。WAI
[单片机]
STM8,STVD,Cosmic开发环境下,是大端模式还是小端模式?
因为需要把32位的序列号烧录到内部EEPROM中,所以需要知道烧录器烧录的格式是大端还是小端,因为程序需要用到序列号,所以也需要知道具体的开发环境下,是大端模式还是小端模式。 经过测试,STM8S,在STVD,COSMIC开发环境下,是大端模式,即数据的高位字节存储在低字节中。
[单片机]
STM8学习笔记(二):GPIO的输入
这两天有点忙,焊了四个按键,在LED灯的基础上,实现GPIO的输入 这次用的是ST公司的官方库 组要的还是要理解GPIO的几个寄存器的功能 同时,要好好的理解它官方库里面的函数定义和用法 /**************************************************************/ void GPIO_Configuration(void) { GPIO_Init(LEDS_PORT, (LED1_PIN | LED2_PIN | LED3_PIN | LED4_PIN | LED5_PIN | LED6_PIN | LED7_PIN | LED8_PIN), GPIO_MODE_OUT_PP_H
[单片机]
ST Visual Programmer(STVP)给STM8系列芯片烧录程序方法
由于之前用IAR下载程序出现故障,需要用ST Visual Programmer(STVP)给STM8系列芯片烧录一次程序,下面主要介绍下载步骤: (1)、需要用到.s19文件,该文件可由IAR生成。 打开IAR并打开已有工程 – 单击工程头选择Options – 选择Output Converter – 选择Generate additional output – 选择output format中的Motorola选项 – 选择override default – 将输出文件的后缀名改为.s19 – 重新编译整个工程 – .s19在DebugExe目录下 (2)、打开ST Visual Programmer(STVP
[单片机]
IAR for stm8使用标准固件库的方法以及注意事项
标准库其实挺方便的。有了一个模板之后,如果改参数,根本就不需要再去查手册,重新定义寄存器值了。 第一部分,stm8标准库介绍。 stm8的标准库名称代码是stsw-stm8069,根据这个代码就可以到st的官网上下载到最新的固件库。 解压固件库后,有几个文件夹,我这里只是简单的说明各文件夹和文件的作用,具体的说明参考文件包中的chm帮助文档。 Libraries是驱动文件夹,里面的inc文件夹是h文件,src文件夹是c文件,这是最关键的东西。 Utilities是stm自己提供的EVAL开发板程序,如果没用这个EVAL开发板可以无视,有也可以无视,反正就很简单的一个led程序 Project文件夹是工程模板文件,里面有两个重
[单片机]
实验5 PWM
在讲PWM之前,大家先做以下5个实验。 1、LED1循环亮300ms,灭700ms; 2、LED1循环亮30ms,灭70ms; 3、LED1循环亮3ms,灭7ms; 4、循环以下步骤 1)LED1循环亮3ms,灭7ms;执行一百次; 2)LED1循环亮8ms,灭2ms;执行一百次; 5、循环以下步骤 1)LED1循环亮1ms,灭9ms;LED2循环亮3ms,灭7ms;LED3循环亮5ms,灭5ms;以上3灯闪烁动作共用同个10ms周期,执行一百次; 2)LED1循环亮5ms,灭5ms;LED2循环亮7ms,灭3ms;LED3循环亮9ms,灭1ms;以上3灯闪烁动作共用同个10ms周期,执行一百次; 第1、2个实验,可以明显看出LE
[单片机]
STM8单片机的中断控制和中断功能
内部中断:一般是由硬件错误或者运算过程中出错引起的,一般是不可避免的; 外部中断:是处理器的外设发出的中断请求,如定时器中断,UART 接收中断,外部中断一般都可以通过中断控制器进行屏蔽; 1.ITC 功能概述: ……所有 IO 引脚都具有外部中断能力,每个端口都有独立的中断向量以及独立的标志;外设中断能力; ……软件中断能力(TRAP) ……具有灵活的优先级和中断等级管理,支持可嵌套和同级中断管理: ——多达 4 个软件可编程的嵌套等级;——最多有 32 个中断向量,其入口地址由硬件固定;——2 个不可避免的中断:RESET,TRAP;——1 个不可避免的最高优先级硬件中断 TL1; 2. 中断的主要功能 1.
[单片机]