2907 views|1 replies

6

Posts

0

Resources
The OP
 

How to resolve these two warning messages? [Copy link]


I wrote a program for controlling time with a single-chip microcomputer, and used LCD5110 to display information. The related display functions were written in the LCD510.C file, and then called in the MAIN.C file. The following warnings appeared during compilation and linking. I checked repeatedly but could not find the cause. I cannot eliminate these two warnings. Could you please help me analyze the cause and how to eliminate them? Thank you! *** WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR? _LCD_WRITE_VAL? LCD5110 CALLER1: ?C_C51STARTUP CALLER2: ?PR?INTERRUPTTIMER0?MAIN *** WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?_LCD_WRITE_BYTE?LCD5110 CALLER1: ?C_C51STARTUP CALLER2: ?PR?INTERRUPTTIMER0?MAIN

This post is from 51mcu

Latest reply

MULTIPLE CALL TO SEGMENT This warning indicates that the connector has found a function that may be called by the main function and an interrupt service routine (or a function that calls an interrupt service routine) at the same time, or may be called by multiple interrupt service routines at the same time. There are generally two reasons for this warning: First, this function is a non-reentrant function. When the function is running, it may be interrupted. After the interruption, the function is run again, resulting in the loss of internal data of the function; Second, the memory occupied by the internal variable data of the function is considered to be overwritten by the connector during linking, so data overwriting optimization is performed during linking, but the connector also finds that after the function is interrupted during operation, the running of other functions (such as interrupt service subroutines) causes the function's data to be overwritten.  Details Published on 2018-11-8 16:33
 

7171

Posts

195

Resources
2
 
MULTIPLE CALL TO SEGMENT This warning indicates that the connector has found a function that may be called by the main function and an interrupt service routine (or a function that calls an interrupt service routine) at the same time, or may be called by multiple interrupt service routines at the same time. There are generally two reasons for this warning: First, this function is a non-reentrant function. When the function is running, it may be interrupted. After the interruption, the function is run again, resulting in the loss of internal data of the function; Second, the memory occupied by the internal variable data of the function is considered to be overwritten by the connector during linking, so data overwriting optimization is performed during linking, but the connector also finds that after the function is interrupted during operation, the running of other functions (such as interrupt service subroutines) causes the function's data to be overwritten.
This post is from 51mcu
 
 
 

Guess Your Favourite
Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list