如何用PCLint检查PIC32单片机的C代码

本文介绍了如何使用PCLint工具对PIC32单片机的C代码进行静态分析,包括PCLint的安装、配置、与MPLABX及Source Insight的集成,以及如何通过PCLint优化代码质量,提升开发效率。
摘要由CSDN通过智能技术生成

1. 引言

C语言在嵌入式领域应用非常广泛,其主要优点是灵活和高效,但若在使用过程中不加以规范,容易引入各种潜在的代码问题。

先来看一段C代码,这段代码中有多少C语言的使用错误?

uint8_t vFunc(void)
{
    uint8_t index = 0;

    for (index = 0; index < 5; index++)
    {
        if (index == 3)
        {
            vFunc_1(&index);
            return true;
        }
    }
}

比较容易发现的问题有:

  • for循环结束后没有返回值

不太容易发现的问题有:

  • index初值没有使用
  • index值可能在vFunc_2()内被清零,使得循环一直被执行

为了在编码阶段找出这些问题,常用的分析方法有静态代码分析和动态代码分析。有研究表明,使用动态代码分析找到的问题中的95%都可以用静态代码分析找到。

中小型嵌入式软件项目一般使用静态代码分析工具作为主要分析手段,其中最常见的工具是PClint。PCLint是GIMPEL SOFTWARE 公司研发的C/C++软件代码静态分析工具,支持几乎所有流行的编辑环境和编译器。PC-lint不但可以检测单个文件,也可以从整个项目的角度来检测问题。支持Scott Meyes的名著(Effective C++/More Effective C++)中说描述的各种提高效率和防止错误的方法。

在我们的项目中,使用C语言作为PIC32单片机的编程语言,开发环境是MPLABX,代码查看工具是source insight。本文的主要内容就是如何将PCLint工具集成到上述两种工具中。集成完成后,可通过快捷键调用lint工具,对目标代码进行静态分析,再根据分析结果优化代码。

2. 配置PCLint

2.1. 安装PCLint

  • 下载PCLint并安装:http://download.csdn.net/detail/b5110/6966909
  • 升级到最新版本: http://www.gimpel.com/html/ptch90.htm, 下载下列文件:
    这里写图片描述
  • 复制升级包和lpatch到安装路径(C:\lint)
  • 按住shift+右键,打开快捷菜单,选择“在此处打开命令窗口”
  • 输入命令并执行:lpatch l9-a-b.lp, …, 依次类推直到l9-K-L.lp(每次输入一条执行)
  • 输入命令lint-nt -v,完成上述步骤后,显示当前版本是9.00L

2.2. 下载xc32编译器共用的文件

打开http://www.gimpel.com/html/ptch90.htm,下载Compiler

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值