***WARNING L15: MULTIPLE CALL TO SEGMENT错误信息的处理

发布者:JoyousJourney最新更新时间:2015-09-25 来源: eefocus关键字:错误信息  处理 手机看文章 扫描二维码
随时随地手机看文章

***WARNING L15: MULTIPLE CALL TO SEGMENT

 

今天来说说*** WARNING L15: MULTIPLE CALL TO SEGMENT这个问题! 
     其实这个问题应该是引起注意的,有可能引起程序冲突,但是一般时候程序运行不会有问题,但是如果出来问题,那将会是很讨厌的问题. 
分析一下 产生这一警告的一个根源是:例如在主循环里调用了一个函数,而在中断服务中,你又一次调用了同样的函数。这样当主循环运行到该函数中时, 一旦产生中断,则在中断里又再次调用该函数!而使得该子函数发生了重入,这时,经管概率很低,但是很可能出错!这样,编译器就给出了警告!告诉你*** WARNING L15: MULTIPLE CALL TO SEGMENT ,表达的意思是发生了重入!字面意思自己理解去吧~~~ 
想要避免这种情况的方法 
一.用reentrant使函数重入 
关于reentrant的说明: 
1,重入函数不能传递bit类型的参数和变量; 
2,重入函数建立的是模拟堆栈区,所以不使用一般函数位于存储模式默认空间的可覆盖式堆栈,而是在同一空间从顶端另行分配一个非覆盖式的重入堆栈。 
     small 默认空间是 data; 
     compact 默认空间是 pdata; 
     largr 默认空间是 xdata; 
3,由于要保存参数和局部变量,所以会消耗很大的栈空间;尽量少用这种模式; 
4、    在同一程序中可以定义和使用不同存储器模式的重入函数,任意模式的重入函数不能调用不同存储器模式的重入函数,但可以调用普通函数。 
5、    实际参数可以传递给间接调用的重入函数。无重入属性的间接调用函数不能包含调用参数。 
二.如果空间多的话,可以定义两个同功能的函数,分别在中断和中断外调用 
别的方法没研究出来,嘿嘿~~~对了 我建议用第二种方法好点,第一种有些限制,不爽~~

三.主程序调用该函数时禁止中断。

可以在该函数被调用时用#pragma disable语句来实现禁止中断的目的。必须使用OVERLAY指令将该函数从覆盖分析中除去。

        也可以用EA=1,EA=0来开关中断 
最后,WARNING L15: MULTIPLE CALL TO SEGMENT 
     这个问题必须注意,可能引起程序冲突,假设你用于自动化领域,则可能导致信号产生尖峰。 产生这一警告的一个根源是:你在主循环 里调用了一个函数(如aaa),而在中断服务函数里,你用调用了这个函数(如aaa)。这样当主循环运行到该函数中 是,一旦产生中断,则在中断里又再次调用该函数!这时,很可能出错! 避免这种情况的方法很多:如,在进中断的时候置需调用该函数的标志,而在主循环中调用该函数


关键字:错误信息  处理 引用地址:***WARNING L15: MULTIPLE CALL TO SEGMENT错误信息的处理

上一篇:单片机keil编译软件怎么防止代码拼写错误
下一篇:关于I2C的总结

推荐阅读最新更新时间:2024-03-16 14:33

安霸CV3域控制器支持原始雷达数据处理
自动驾驶车辆和机器人依靠雷达通过使用大量前端和 MIMO 天线来检测周围环境。 但要做到这一点需要大量雷达意味着管理大量数据,这通常会引起问题。总部位于加州的芯片制造商 Ambarella 希望克服这些挑战,并通过其新型中央处理 4D 成像雷达系统简化整个流程。它允许对原始雷达进行中央处理,并与其他传感器输入(包括摄像头、超声波和激光雷达)进行深度、低级融合。 为什么要让处理集中化? 集中处理可在基于人工智能的高级驾驶员辅助系统 (ADAS) 和 L2+ 至 L5 自动驾驶系统(包括自动机器人和无人机)中提供更好的环境感知和更安全的路径规划。 新系统采用在 5 纳米 CV3 AI 域控制 SoC 上运行的 Ambarella
[汽车电子]
面对多核芯片冲击,通信处理器何去何从?
  飞思卡尔半导体早在15年前就发明了通信处理器,其PowerQuicc已经成为主流产品用于各式各样的组网和通信功能。英特尔和其他厂商提供了同类产品,与配有可编程的数据处理引擎的通用CPU相组合。   然而,随着设计师们逐渐转用多核处理器来实现功能,通信处理器的时代也日渐没落。这些处理器可以在CPU上运行控制平面,以及在附加CPU上运行数据平面。尽管这种方法影响了性能和功耗效率,但设计师们更习惯于这种方式带来的简单编程模式。   飞思卡尔正在着手对多核处理器进行反击,他们提出了该公司的新品牌QorIQ。不过该公司在多核空间上面临着更多的竞争对手。 技术趋势   几种技术趋势已经导致了通信处理器的没落。最初的PowerQui
[网络通信]
基于PXA255嵌入式微处理器和嵌入式Linux网络摄像机的设计方案
1 Linux中流数据的操作 在本设计中,数据在整个系统中是以流数据的形式存在的,Linux内核为流数据提供了一个标准的编程接口,这种接口为数据从外部设备经内核到达用户进程提供了一个全双工通道。 在这个通道中,数据的处理模块是作为可选的中间件由用户动态加载的,上面设计的视频压缩模块就是这样的一个中间件。 2 ASF流式文件格式 本系统主要是用于实时视频应用,所以需要系统提供对流式文件格式的支持,这样在接收方利用标准的流视频播放软件,如MMedia Player就可以观看实时传输的视频.在本系统中采用了开放的ASF流格式.压缩后的视频数据在传输前需要对其进行ASF 编码 .ASF文件的基本组织单元为ASF对象,每
[单片机]
三维图像信息处理FPGA+DSP核心架构的设计与实现
三维图像信息处理一直是图像视频处理领域的热点和难点,目前国内外成熟的三维信息处理系统不多,已有的系统主要依赖高性能通用PC完成图像采集、预处理、重建、构型等囊括底层和高层的处理工作。三维图像处理数据量特别大、运算复杂,单纯依靠通用PC很难达到实时性要求,不能满足现行高速三维图像处理应用。 本系统中,采用FPGA实现底层的信号预处理算法,其处理数据量很大,处理速度高,但算法结构相对比较简单,可同时兼顾速度和灵活性。高层处理算法数据量较少、算法结构复杂,可采用运算速度快、寻址方式灵活、通信机制强大的DSP实现 。 1 三维图像处理系统组成 1.1 硬件系统构成 该系统由五个模块组成,如图1所示。 系统信息处理流程见
[模拟电子]
三维图像信息<font color='red'>处理</font>FPGA+DSP核心架构的设计与实现
步进电机使用过程中的异常处理
步进电机使用过程中的异常处理 在需要低成本实现位置、角度等控制目标的应用场景。步进电机是最常见的应用器件。在使用步进电机的过程中,有哪些需要注意的问题点? 1、无接线图情况下如何连接驱动器与步进电机? ——可以使用万用表的通断档,测量电机任意两线间的通断。若测得两线导通,则说明此为电机的一个绕组,应接入驱动器对应的同一输出,如A+,A-两个位置。 2、电机运行方向反向? ——将电机的任意一个绕组的线调换位置,如原本A+接红色电缆,A-接黄色电缆,更改为A+接黄色电缆,A-接红色电缆。 3、电机运行过程中抖动? ——1、调整更改电机的控制脉冲细分;2、电机参数选型不足,导致带载过载 步进电机转矩参数选型时,一定注意样本标
[嵌入式]
步进电机使用过程中的异常<font color='red'>处理</font>
通过分布式处理提升处理器效率
Loren Hobbs PSoC产品经理 Cypress半导体公司 在刚刚过去的数年内,我们见证了多处理系统日渐成为主流,事实上大多数现代个人计算的CPU均采用了对称多处理系统(SMP),其中,相同 处理器 的多个实现例程分担运行在PC上的应用程序负荷。SMP目前已相当常见,但在嵌入式计算中,向多处理的转移趋势并不常见。然而,新的嵌入式设计技术为工程师提供了相当的自由度,能够在数字子系统上智能化地分配处理功能。在本文中,研究了一个使用Cypress半导体公司PSoC 3和PSoC 5架构的 分布式处理 技术示例,该架构由一个主CPU(在本例中为8051或ARM Cortex M3)、一个DMA引擎、以及通用数字模块(UD
[工业控制]
通过分布式<font color='red'>处理</font>提升<font color='red'>处理</font>器效率
TI出席中国电动汽车百人会论坛,推出Jacinto™ 7处理器平台
2021年1月17日,应中国电动汽车百人会邀请,德州仪器 (TI) 中国区嵌入式与数字光处理应用技术总监师英 (Jerry Shi) 先生出席了中国电动汽车百人会论坛2021,并发表了“TI引领电动汽车电池管理系统革新”的主题演讲。 德州仪器 (TI) 中国区嵌入式与数字光处理应用技术总监师英 (Jerry Shi) 先生 在演讲中,师英介绍了德州仪器刚刚在2021国际消费类电子产品展览会(CES 2021)率先发布的业内首个通过T Ü V S Ü D评估、满足ISO 26262 ASIL D功能安全等级的无线电池管理(WBMS)解决方案。该解决方案可以提供业界出色的网络可用性(超过99.999
[汽车电子]
TI出席中国电动汽车百人会论坛,推出Jacinto™ 7<font color='red'>处理</font>器平台
斯坦福大学热门芯片会议即将召开,众专家齐聚一堂共探多核处理器及网络
即将于8月在斯坦福大学举行的热门芯片(Hot Chips)会议上,将深入讨论一些当今最主要的多核处理器。同时举行的Hot Interconnects研讨会业已排出其议程,探索研究未来的处理器有一天可能要使用的片上和片外网络。 今年的热门芯片论文一般地说将提供对现有多核CPU的更为深入的考察,如IBM的Power6和来自AMD及NVidia的最新图形处理器。在一个非常新的披露中,由MIT教授Anant Agarwal创办的初创公司Tilera有望把其为嵌入式系统开发的多核处理器公诸于众。 IBM将提交三篇关于Power6的论文,深入讨论它在双核处理器中怎样实现功效并仍然能提高时钟速度。热门芯片计划委员会联合主席及位于戴维斯的加州
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved