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

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

3天内不再提示

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

5RJg_mcuworld 来源:未知 作者:李倩 2018-09-14 17:51 次阅读

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

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.将标准外设库修改成直接操作寄存器

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

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

    关注

    30

    文章

    5028

    浏览量

    117714
  • IAR
    IAR
    +关注

    关注

    5

    文章

    319

    浏览量

    36282

原文标题:新版IAR调试查看寄存器问题和STM8代码大小优化问题,本文来解决!

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    寄存器查看器的功能和使用

    对于搞嵌入式底层开发的软件或者硬件工程师来说,经常会涉及到查看芯片手册,比如某个芯片的串口控制器的寄存器值,需要知道这个值对应寄存器的哪些位,微软计算器的程序员模式虽然可以查看
    的头像 发表于 11-28 12:26 819次阅读
    <b class='flag-5'>寄存器</b><b class='flag-5'>查看</b>器的功能和使用

    KDS集成开发环境查看寄存器方法

    寄存器值。其实这个问题在KDS集成开发环境刚出来时就已存在,包括目前飞思卡尔官网上能下载到的最新版本KDS2.0.0亦是如此。为了避免此问题对大家调试芯片模块功能造成不必要的麻烦,在此与各位分享一下解决此问题的
    发表于 03-04 16:53

    【新手求教】IAR仿真 msp430 怎么查看SYSRSTIV寄存器的值

    程序总是自动重启,想查看一下重启源。之前没有使用过IAR,这个软件在仿真时怎么查看单片机寄存器内的值呢?
    发表于 05-27 21:00

    请问如何查看寄存器的值?

    请教下各位大牛:我想查看McASP的AXR[2] 的输出寄存器的值,地址是0x01B4C210 ,请问该如何处理?(CCS3.3&TMS320C6713)直接memory view的话,要
    发表于 08-02 07:35

    IAR FOR ARM 8.10.1 调试寄存器只有cpu寄存器

    新版iar 寄存器窗口好像改了怎么开外设寄存器??
    发表于 11-09 15:59

    IAR调试软件,写入寄存器的数据无法在IAR软件的界面上查询到

    IAR调试软件,写入寄存器的数据,无法在IAR软件的界面上查询到,请问,是我的设置问题,还是哪里出了问题?
    发表于 12-17 08:50

    在使用RT-Studio调试的时候怎么查看IPSR寄存器的值?

    各位大佬,在使用RT-Studio调试的时候,怎么查看IPSR寄存器的值?多谢了。。。
    发表于 02-01 15:41

    vscode中调试如何查看寄存器

    在VSCODE 中打开了 OPENOCD ,可以进行DEBUG 调试,但是如何查看 某个寄存器 的值呢。
    发表于 02-21 07:43

    MounRiver调试时Peripherals寄存器显示为空的解决办法

    在使用MounRiver调试时发现外设寄存器列表为空,不能查看寄存器内容,入下图 解决方法如下 1 在打开
    发表于 05-19 14:13

    寄存器查看小工具

    寄存器查看小工具
    发表于 04-26 16:51 91次下载

    IAR STM8寄存器例程

    这是stm8f103的iar寄存器例程,非常适合学习。
    发表于 04-01 14:36 7次下载

    微控制器的寄存器调试

      嵌入式系统的软件调试通常侧重于代码执行、存储器的值、堆栈指针、中断时间和寄存器的值。在这篇文章中,我们将向你展示如何使用ARM版的IAREmbeddedWorkbench调试寄存器
    发表于 09-20 17:24 5次下载
    微控制器的<b class='flag-5'>寄存器</b>的<b class='flag-5'>调试</b>

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

    新版IAR调试查看寄存器问题、STM8代码大小优化问题
    的头像 发表于 03-07 16:13 3340次阅读

    IAR 在线调试查看各种变量的不同方法

    IAR在线调试查看各种变量的不同方法
    的头像 发表于 03-12 10:00 1.2w次阅读

    arm三个寄存器在gdb调试时的作用

    arm三个寄存器在gdb调试时作用  ARM是一种广泛使用的微处理器架构,它广泛应用于移动设备、嵌入式系统和其他高性能计算设备。当我们在使用gdb(GNU调试器)调试ARM程序时,了解
    的头像 发表于 01-31 10:44 208次阅读