0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

新版IAR调试查看寄存器问题 STM8代码大小优化问题

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-07 16:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天写两个后台问的较多的问题,如标题所示:

1.新版IAR调试查看寄存器问题;

2.STM8代码大小优化问题;

1新版IAR调试查看寄存器问题

从去年上半年开始,IAR将各开发环境逐渐进行了大升级,首先是将EWARM从V7升级到了V8。然后,陆续将EW430、EWAVR等进行了升级。

什么是新版IAR?图标是黑色那种,如EWARM V8.2、 EWSTM8 V3.1。如下图:

老版本IAR,扳手工具图标。如下图:

许多小伙伴安装了新版的IAR,不管是EWARM、EW430还是EWSTM8,都出现了一个问题:调试时,“不能”查看外设寄存器了。

如下面动画,查看了各主菜单,以及View视图各个子菜单,都没有如之前那种可以直接查看寄存器的窗口:

而老版本就会有如下图可以直接查看寄存器的窗口:

说实话,我这一年很多时间都是在写业务逻辑相关的代码,这个功能这一年没去在意过。很多朋友在后台问我,我也没抽时间去研究。

这不前面写了一篇在较小资源上跑一个实时操作系统,后台有朋友问了该如何优化代码,我大概回答了一点可以优化标准外设库为操作寄存器,所以使用到了该功能,所以我就抽时间看了一下这个功能。

好了,不卖关子了,直接说答案吧,操作基本一样,只是新版IAR隐藏了下拉选项。直接看下图你就会明白。

新版IAR调试查看寄存器方法

进入调试模式 -> View -> Registers(1-4都行) -> CPURegister右键 -> ViewGroup,此时你就可以选择了,如下图:

相信到这里,你不可能不会了。

2

STM8代码大小优化问题

因为前面写了一篇文章《一款可以在STM8上运行的实时操作系统Atomthreads》,很多朋友问,像8K的FLASH资源跑一个系统,写点应用程序都用完了。

既然使用STM8可以跑系统,资源的问题肯定有关系。但如果你选定了该芯片,想办法或许是可以解决的呢。

这么说吧,我在STM8S003(1K RAM 8K FALSH)跑四个线程,还有两个队列,没有出现什么问题。

本节我简单说两点比较常见的优化STM8代码的方法:

1.不使用标准外设库自带的断言

在表准外设库里面常看类似如下代码:

assert_param(IS_GPIO_MODE_OK(GPIO_Mode));

assert_param(IS_GPIO_PIN_OK(GPIO_Pin));

这就是库自带用于检查参数的代码,但如果资源有限,可以在最终关闭断言代码。(调试时可以选择代码兼容的大容量芯片调试)。

在stm8s_conf.h中屏蔽即可:

2.将标准外设库修改成直接操作寄存器

使用表准外设库配置,通过在线调试,查看寄存器值,最后直接写寄存器代码即可。类似如下:

在线调试查看寄存器方法看上一章节内容。本文内容就此结束,希望对你有帮助!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5589

    浏览量

    129057
  • STM8
    +关注

    关注

    18

    文章

    393

    浏览量

    58535
  • 标准外设库
    +关注

    关注

    0

    文章

    16

    浏览量

    3753
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问Keil的优化等级到底该如何选择?

    做任何优化代码的执行顺序与源代码完全一致,变量始终存储在内存中(不进行寄存器优化),函数调用栈帧清晰。 -O1 (有限
    发表于 11-20 07:51

    嵌入式系统必懂的 20 个寄存器

    嵌入式开发看起来很复杂,但很多操作其实都离不开寄存器寄存器就是MCU内部的存储单元,它们控制着处理和外设的行为。熟悉这些寄存器,你就能更精确地操作硬件,提高开发效率,减少
    的头像 发表于 11-14 10:28 646次阅读
    嵌入式系统必懂的 20 个<b class='flag-5'>寄存器</b>

    ‌SN74LVC595A 8位移位寄存器技术文档总结

    SN74LVC595A器件包含一个8位串行输入、并联输出移位寄存器,该寄存器8位D型存储寄存器供电。存储
    的头像 发表于 09-28 15:09 1105次阅读
    ‌SN74LVC595A <b class='flag-5'>8</b>位移位<b class='flag-5'>寄存器</b>技术文档总结

    ‌SN74HCT595 8位移位寄存器技术解析与应用指南

    Texas Instruments SN74HCT595/SN74HCT595-Q1 8位移位寄存器包含8位串进并出移位寄存器,向8位D类存
    的头像 发表于 09-19 14:31 575次阅读
    ‌SN74HCT595 <b class='flag-5'>8</b>位移位<b class='flag-5'>寄存器</b>技术解析与应用指南

    TPIC6595 8位功率移位寄存器技术文档摘要

    该TPIC6595是一款单片、高压、大电流功率的8位移位寄存器,设计用于需要相对较高负载功率的系统。该器件在输出端包含一个内置电压钳位,用于电感瞬态保护。功率驱动应用包括继电器、螺线管和其他中电流
    的头像 发表于 09-09 11:10 683次阅读
    TPIC6595 <b class='flag-5'>8</b>位功率移位<b class='flag-5'>寄存器</b>技术文档摘要

    ‌TPIC6B595 8位功率移位寄存器技术文档总结

    TPIC6B595器件是一款单片、高压、中电流功率8位移位寄存器,设计用于需要相对高负载功率的系统。该器件在输出端包含一个内置电压钳位,用于电感瞬态保护。功率驱动应用包括继电器、螺线管和其他中电流
    的头像 发表于 09-09 10:16 735次阅读
    ‌TPIC6B595 <b class='flag-5'>8</b>位功率移位<b class='flag-5'>寄存器</b>技术文档总结

    SN74LV594A:2-5.5V带输出寄存器8位移位寄存器技术解析

    Texas Instruments SN74LV594A/SN74LV594A-Q1 8位并行输出串行移位寄存器设计采用2V至5.5V V~CC~ 运行。SN74LV594A-Q1符合汽车应用类
    的头像 发表于 09-02 09:42 603次阅读
    SN74LV594A:2-5.5V带输出<b class='flag-5'>寄存器</b>的<b class='flag-5'>8</b>位移位<b class='flag-5'>寄存器</b>技术解析

    TLC6C598 8位移位寄存器LED驱动技术手册

    TLC6C598器件是单片、中压、低电流功率 8 位移位 寄存器设计用于需要相对中等负载功率的系统,例如 LED。 该器件包含一个 8 位串行输入并行输出移位寄存器,可为
    的头像 发表于 08-26 14:31 827次阅读
    TLC6C598 <b class='flag-5'>8</b>位移位<b class='flag-5'>寄存器</b>LED驱动<b class='flag-5'>器</b>技术手册

    SN74LV595B-EP低噪声8位移位寄存器技术解析与应用指南

    Texas Instruments SN74LV595B-EP低噪声8位移位寄存器包含一个8位串行输入、并行输出移位寄存器,可为8位D类存储
    的头像 发表于 08-15 09:28 843次阅读
    SN74LV595B-EP低噪声<b class='flag-5'>8</b>位移位<b class='flag-5'>寄存器</b>技术解析与应用指南

    Texas Instruments SN74LV8T594/SN74LV8T594-Q1移位寄存器特性/应用/框图

    Texas Instruments SN74LV8T594/SN74LV8T594-Q1 8通道移位寄存器包含一个8位串进并出移位
    的头像 发表于 08-03 10:56 800次阅读
    Texas Instruments SN74LV<b class='flag-5'>8</b>T594/SN74LV<b class='flag-5'>8</b>T594-Q1移位<b class='flag-5'>寄存器</b>特性/应用/框图

    Texas Instruments SN74AHCT594/SN74AHCT594-Q1 8位移位寄存器数据手册

    Texas Instruments SN74AHCT594/SN74AHCT594-Q1 8位移位寄存器包含一个为8位D型存储寄存器提供数据的8
    的头像 发表于 08-01 15:16 912次阅读
    Texas Instruments SN74AHCT594/SN74AHCT594-Q1 <b class='flag-5'>8</b>位移位<b class='flag-5'>寄存器</b>数据手册

    STP08CP05 低压低电流8位移位寄存器数据手册

    STP08CP05 是一款单片、低电压、低电流、高功率 8 位移位寄存器,专为 LED 面板显示而设计。STP08CP05包含一个 8 位 serial-in, parallel-o
    的头像 发表于 04-16 18:10 744次阅读
    STP08CP05 低压低电流<b class='flag-5'>8</b>位移位<b class='flag-5'>寄存器</b>数据手册

    74HC594-Q100;74HCT594-Q100带输出寄存器8位移位寄存器规格书

    电子发烧友网站提供《74HC594-Q100;74HCT594-Q100带输出寄存器8位移位寄存器规格书.pdf》资料免费下载
    发表于 02-09 15:19 0次下载
    74HC594-Q100;74HCT594-Q100带输出<b class='flag-5'>寄存器</b>的<b class='flag-5'>8</b>位移位<b class='flag-5'>寄存器</b>规格书

    24l01寄存器列表指南免费下载

      寄存器的功能是存储二进制代码,它是由具有存储功能的触发组合起来构成的。一个触发可以存储1位二进制代码,故存放n位二进制
    发表于 01-22 17:25 1次下载

    STC15系列常用寄存器汇总免费下载

      寄存器的功能是存储二进制代码,它是由具有存储功能的触发组合起来构成的。一个触发可以存储1位二进制代码,故存放n位二进制
    发表于 01-22 17:24 10次下载