历史上的今天
返回首页

历史上的今天

今天是:2025年08月06日(星期三)

正在发生

2020年08月06日 | 新版IAR调试查看寄存器问题 STM8代码大小优化问题

2020-08-06 来源:elecfans

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

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都行) -> CPU Register右键 -> View Group,此时你就可以选择了,如下图:

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


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

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

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

推荐阅读

史海拾趣

远东福斯特公司的发展小趣事

对于光检测T型反馈电路,网友可能提出多方面的问题,以下是一些可能的问题及相应的回答:

一、电路结构与原理

问题1:光检测T型反馈电路的基本结构是怎样的?

回答:光检测T型反馈电路通常由光电探测器(如光电二极管、光电三极管等)、运算放大器、T型反馈网络及相关的电阻、电容等元件组成。光电探测器负责将光信号转换为电信号,运算放大器对电信号进行放大,而T型反馈网络则用于调整放大电路的增益和稳定性。

问题2:T型反馈电路相比传统反馈电路有哪些优势?

回答:T型反馈电路的主要优势在于其能够使用较小的电阻组合来实现较大的放大倍数,从而避免了使用高阻值电阻带来的实装困难和稳定性问题。此外,T型反馈电路还能有效减少温度漂移引起的静态误差,提高电路的整体性能。

二、电路设计与调试

问题3:在设计光检测T型反馈电路时,如何选择合适的电阻值?

回答:在设计电路时,电阻值的选择应基于所需的放大倍数、稳定性及功耗等因素。通常,R1和R11的阻值应相等或相近,而R12和R13的阻值则根据所需的增益进行调整。此外,还应注意选择稳定性高的电阻,以减少温度漂移对电路性能的影响。

问题4:如何进行光检测T型反馈电路的调试?

回答:电路调试时,首先应检查各元件的连接是否正确,然后逐步加电观察电路的工作状态。在调试过程中,可使用可调电阻对电路的增益进行微调,以达到预期的放大效果。同时,还应注意观察电路的稳定性和噪声水平,确保电路满足设计要求。

三、应用与性能

问题5:光检测T型反馈电路在哪些领域有应用?

回答:光检测T型反馈电路在光电检测、信号处理、通信技术等领域有着广泛的应用。例如,在光电传感系统中,它可用于将微弱的光信号转换为放大的电信号;在信号处理电路中,它可用于提高信号的信噪比和动态范围;在通信系统中,它可用于增强信号的传输距离和稳定性。

问题6:如何评估光检测T型反馈电路的性能?

回答:评估光检测T型反馈电路的性能时,应关注其增益、稳定性、噪声水平、带宽等关键指标。增益是指电路对输入信号的放大能力;稳定性则是指电路在不同工作环境下的工作可靠性;噪声水平则反映了电路内部噪声对信号质量的影响;带宽则决定了电路能够处理信号的频率范围。这些指标的综合表现将直接影响电路在实际应用中的效果。

ETL semiconductor公司的发展小趣事

三星(Samsung)原本是一家以家电和电子产品为主的综合性企业。然而,在半导体行业快速发展的背景下,三星决定加大在半导体领域的投入。经过数十年的努力,三星不仅在存储芯片领域取得了显著成就,还在逻辑芯片和代工业务方面取得了重要进展。如今,三星已成为全球领先的半导体企业之一。

HI Microwave Technology Limited公司的发展小趣事

HI Microwave深知质量是企业生存和发展的根本。因此,公司从原材料采购到成品出厂的每一个环节都严格把关,确保产品质量符合国际标准和客户要求。同时,公司还建立了完善的售后服务体系,为客户提供及时、专业的技术支持和解决方案。这种以客户为中心的服务理念赢得了客户的信任和忠诚,也为公司的持续发展奠定了坚实的基础。

Compound Photonics公司的发展小趣事

在公司发展初期,Compound Photonics曾专注于一款微投显示模组的研发。然而,这个项目并未如预期般顺利,最终宣告失败。面对挫折,公司并没有放弃,而是迅速调整战略,转向LCoS方向。这一决策不仅让公司避免了进一步的损失,还为其在LCoS领域的发展打开了新的大门。

Catalyst / ON Semiconductor公司的发展小趣事

为了进一步扩大市场份额和提升品牌影响力,Catalyst / ON Semiconductor公司开始实施全球扩张战略。公司先后在多个国家和地区设立了分支机构和研发中心,以便更好地服务当地客户并吸引优秀人才。同时,公司还积极与其他知名企业进行战略合作,共同推动半导体技术的创新和应用。

ELEMENT14公司的发展小趣事

ELEMENT14公司最初是一家电子元器件分销商,但随着市场的变化和客户需求的升级,公司决定转型为提供一站式服务的平台。这一转变意味着公司不仅要提供电子元器件,还要提供软件、技术支持、在线社区等全方位的服务。通过不断的投入和努力,ELEMENT14成功转型为一个综合性的电子元器件服务平台,满足了客户多样化的需求。

问答坊 | AI 解惑

2009年全国大学生电子设计大赛预测题

如果感觉有用,大家不妨下下来研究一下啊!这是网上流传的,不知道是不是真的,请大家看看在说啊!…

查看全部问答>

start.s文件的问题

我用的是u-boot1.3.2,开发板是s3c2440,所以用的是cpu/arm920t/start.s,如果谁看过这个文件,请帮忙回答下以下几个问题: 1. 127行有如下几句话,请问一下这个0x0是RAM地址还是FLASH地址?    ldr        r0, =_s ...…

查看全部问答>

protel 中如何绘制点阵

最近想做一个PCB板,要用到8*8的点阵,但是protel的库中没有点阵,要自己制一个,但是制成之后与实际的芯片如何一致,如长度,引脚之间的距离等。制成PCB之后如何能实现与实际的点阵大小,长度引脚等特点一致。做了好长时间也没做出来,希望专业人 ...…

查看全部问答>

关于蓝牙传输不稳定

  我用的是CSR的BC6的蓝牙芯片,平台是S3C2440+WIN CE的,上了CSR的驱动。BC6是用串口与主机通信,现在跑文件传输跑300K以下的来是没问题,跑300K以上的就老传到一半就没反应了,会不会是驱动问题,听给我们提供芯片的公司说微软的芯片只支持BC4 ...…

查看全部问答>

教你读懂手机电路图

不少同行反映,一部故障手机该换的元件都换了,但就是修不好机,大多数情况是对手机电路掌握不透彻,不会读和分析手机电路图,\"一吹二洗三代换\",三板斧下去,固然能解决一些问题,但深入下去就束手无策了。 很多人看到电路图就头痛,觉得毫无头 ...…

查看全部问答>

再次请教版主

版主,我现在对FSMC好迷惑啊。不知道有没有什么资料。 现在的问题是:    FSMC在bank1中的那4个片选NE1~4是如何判断接法?比如,为什么LCD液晶的片选要接NE4?     接其它的片选不行吗?那3个都是接什么的啊? https ...…

查看全部问答>

低功耗

低功耗是加进来了,可是需要10ms唤醒一次的,这样的低功耗有意义吗?能降低功耗吗? 总觉得10ms就唤醒太频繁了。…

查看全部问答>

winavr+avrstudio环境,用c语言,编译时要求makefile,该怎样操作?

winavr+avrstudio环境,用c语言,编译时要求makefile。 makefile文件是否只能在winavr中产生,在avrstudio中能否生成? 能否通过设置自动生成? 望高手指点!…

查看全部问答>

PIC16F877的SPI口应用问题

大家好,我是新人。最近我想用PIC16F877读MAX6675的转换数值。MAX6675会一次将转换好的16位数据通过SPI输出给单片机。我想请问这样是不是就不能用单片机自带的SPI引脚了,因为缓冲器只能接收8位二进制数。是不是必须用其他的引脚来模拟SPI的时序呢 ...…

查看全部问答>

spi 驱动74hc595的问题

我用spi方式驱动74hc595, 595接的是共阳数码管 当我使用ckp=1// 空闲时是高电平         cke=1//从低电平到高电平发数据 数码管显示没问题 当我使用ckp=0;//空闲时是低电平       & ...…

查看全部问答>