编译完成时显示程序占用的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-10 12:26
stm8笔记2-定时3更新中断+pwm输出(IDE为IAR)
一:IAR编译器中断函数说明 下面说一下在IAR下,在IAR下必须要添加iostm8s105s6.h文件,在文件的最后有如下内容: /*------------------------------------------------------------------------- * Interrupt vector numbers *-----------------------------------------------------------------------*/ #define AWU_vector 0x03 #define SPI_TXE_vector
[单片机]
stm8之OptionByte的使用
1.选项字节的概念(参考stm8s中文数据手册): 选项字节包括芯片硬件特性的配置和存储器的保护信息,这些字节保存在存储器中一个专用的 块内。除了ROP(读出保护)字节,每个选项字节必须被保存两次,一个是通常的格式(OPTx)和 一个用来备份的互补格式(NOPTx)。可以在ICP模式(通过SWIM)下访问下表中EEPROM的地址来修改选项字节。 选项字节也可以通过应用程序在IAP模式下修改,但是ROP选项只能在ICP模式(通过SWIM)下被 修改。 2.ISP IAP ICP的概念(有待学习): ISP:In System Programing, 在系统编程 程序完全下载 IAP:In applicating Progr
[单片机]
基于STM8的RFID程序设计
好久好久没有更新了~ 现在开始在实习,正好公司最近在做一款宾馆用的插卡取电模块,用的是STM8配合RFID MFRC522模块实现的,国庆没事正好在淘宝上买了一款RFID模块,配合自己的STM8,体验一下。 MFRC522 模块使用了支持 SPI UART I2C,但是一般都使用SPI接口开发(难道是因为淘宝上的程序都是SPI?!) MFRC522是个很有故事的芯片,因为打开它的数据手册,映入眼帘的是一大团寄存器,我去这尼玛是哪家新出的单片机,说好的芯片不就是几个引脚的故事吗! 不过好在这些寄存器的操作我们不用去了解,直接使用库函数即可。 关于接口 因此在我们移植程序的时候,需要将STM8的 SCK设置为输
[单片机]
STM8 的MEMORY MODEL应用
在下拉菜单中共有4种MEMORY MODEL可供选择: 程序地址空间在64K以内(即程序容量小于32K) mods0, modsl0, 程序地址哦那个键在64K以上(即程序容量大于32K) mods, modsl
[单片机]
STM8学习笔记----普通IO口模拟串口功能
串口在产品应用中很常见,但是单片机的默认带的串口往往比较少,有时候就会出现串口不够用,所以就想着能不能用普通IO口模拟串口来实现串口的功能。 要模拟串口首先要清楚串口数据传输过程中的原理。 常用的串口格式为 1位起始位,8位数据位,无校验位,1位结束位。起始位为低电平,结束位为高电平。数据0为低电平,数据1为高电平。 所以最简单的串口传输一个字节总共有10个电平变化,每个电平的宽度由波特率决定的。 具体的串口数据分析,可以参考这篇文章:STM8学习笔记---通过示波器分析串口数据。 下面看一个通过波特率如何计算每个位的电平宽度。 发送一个字节,以stm8中9600bit/s的波特率计算的过程为例(1秒钟传输
[单片机]
stvd使用中的一些问题
1.stm8_interrupt_vector.c 会莫名其妙的自动出现,而且都是在项目目录下。进行如下操作 2.stvd编译时遇到no default placement for segment .FLASH_CODE 进行如下操作settings- linker- category- Input,然后Code,constants那一区域添加.FLASH_CODE,注意要大写!
[单片机]
在STM8 Nucleo-64开发板上使用GPIO和中断控制器驱动LED
NUCLEO-8S208RB(基于STM8S208RBT6)和NUCLEO-8L152R8(基于STM8L152R8T6)开发板可用于评估所有STM8S系列和STM8L系列微控制器的主要特性。 本应用笔记简要介绍了如何使用NUCLEO-8S208RB和NUCLEO-8L152R8开发板上的GPIO和中断控制器驱动一组LED指示灯。 当微控制器(本例中为STM8S208RBT6或STM8L152R8T6)使用连接到主机电脑的USB电缆供电时,LD2和LD5指示灯(不是板载的LED)开始闪烁。 每次按下“push”按钮,中断控制器产生一个用于控制I/O的中断,然后改变LED的显示方式。 1. 应用说明 本节主要介绍了在NU
[单片机]
STM8的程序更换不同芯片时要注意的地方
1、用AVR软件打开程序,选择options,修改单片机型号 2、如果C++内有型号,要修改对应的型号(没有跳过此步) 3、DEBUGGER选择对应的仿真器 4、如果头文件不一致,也要修改 5、stm8l15x.h这个H文件内要选择对应芯片的#define 6、有时候如果程序不能运行,要添加相应的.c库文件和conf文件内打开相应的#include
[单片机]