N76E003初次搭建工程及遇到Keil 警告

发布者:ZenMaster123最新更新时间:2022-07-13 来源: csdn关键字:N76E003  搭建工程  Keil  警告 手机看文章 扫描二维码
随时随地手机看文章

问题描述

初次接触N76E003开发板,主要根据以下三篇文章搭建了基本的环境:


[N76E003安装环境教程] https://www.cnblogs.com/zhugeanran/p/9554822.html (本文调试遇到警告例子为该文末尾程序)

[N76快速入门及常见坑] https://blog.csdn.net/qlexcel/article/details/81069808

[单片机入门学习笔记:新唐单片机N76E003] https://blog.csdn.net/qq_41068712/article/details/86169439

然后项目编译 0 Error(s), 0 Warning(s),创建却提示了12个Warnings,大致都如同下面所示:


*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS

    SEGMENT: ?PR?_TIMER3_DELAY10US?DELAY


在网上查阅资料得知,这是因为程序中有些函数例如COMPARE(或片段)以前(调试过程中)从未被调用过,或者根本没

有调用它的语句。这条警告信息里面还包含一条信息,它指示出是哪个函数导致了这一问题。


这个Warning可以置之不理,但是实际操作中却会出现其他的小问题。譬如即使程序没有调用这个函数,Keil仍然把它编译连接进整个程序。ROM充足并不用过多地担心,但在这个函数中的变量,不会被列入覆盖分析范围内,也就是说这些变量占的空间不能被回收,这对于为数不多的RAM资源可以说是巨大的浪费。


具体的解决方法就是找到Common.h和Delay.h的头文件中,找出所有定义了但未使用的函数,并为每个函数添加如下的格式:


#ifdef _函数名_


~~ 该函数 ~~


#endif


当为所有此类L16的Warning(s)全部添加了这种结构后,Warning就消失了。


然后,有出现了三个Warning(s)如下所示:


*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL

    SYMBOL:  _TIMER0_DELAY1MS

        MODULE:  .Objectsmain.obj (MAIN)


看到百度知道一位大神的解释最详细,还提到了其他引发错误的可能,在此附上链接:

https://zhidao.baidu.com/question/278387387.html

我这个情况出现的问题是我把我用到的一个函数也预编译掉了,去掉之前为该函数添加的冗余的预编译语句就可以了。

#ifdef Timer0_Delay1ms

#endif


//ifdef Timer0_Delay1ms

void Timer0_Delay1ms(UINT32 u32CNT)

{

    clr_T0M;                                //T0M=0, Timer0 Clock = Fsys/12

    TMOD |= 0x01;                            //Timer0 is 16-bit mode

    set_TR0;                                //Start Timer0

    while (u32CNT != 0)

    {

        TL0 = LOBYTE(TIMER_DIV12_VALUE_1ms); //Find  define in "Function_define.h" "TIMER VALUE"

        TH0 = HIBYTE(TIMER_DIV12_VALUE_1ms);

        while (TF0 != 1);                    //Check Timer0 Time-Out Flag

        clr_TF0;

        u32CNT --;

    }

    clr_TR0;                                //Stop Timer0

}

//endif


最终,构建工程完成了。

在这里插入图片描述文链接:https://blog.csdn.net/tech_otaku0512/article/details/90695068


关键字:N76E003  搭建工程  Keil  警告 引用地址:N76E003初次搭建工程及遇到Keil 警告

上一篇:N76E003AT20筋膜枪单片机设计方案
下一篇:N76E003 Keil设置芯片使用FLASH的地址空间

小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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