首页 > 其他分享 >TEE开发 checkpatch.sh 使用方法

TEE开发 checkpatch.sh 使用方法

时间:2024-05-14 17:13:15浏览次数:24  
标签:optee checkpatch TEE -- sh scripts Check

checkpatch.sh 是对 checkpatch.pl 的封装 , 在opteeos 官方脚本里面 scripts/ 下 可以找到

有如下使用方法

Usage: checkpatch.sh [--working]                 Check working area
       checkpatch.sh <commit>...                 Check specific commit(s)
       checkpatch.sh --diff <commit1> <commit2>  Check diff commit1...commit2
       checkpatch.sh --cached                    Check staging area
       checkpatch.sh --help                      This help

 

使用该脚本之前需要先声明 CHECKPATH 环境变量

export CHECKPATCH=/mnt/fileroot/hongbin.wang/workspace/android_U/common/common14-5.15/common/scripts/checkpatch.pl

 

注意: 不能使用server自带的 /usr/src/linux-headers-4.4.0-176-generic/scripts/checkpatch.pl , 脚本会自动取找这个文件但是 该文件太老了,不适用, 于是需要指定新的checkpatch.pl

使用方法:

  1.  自己本地做了修改,还未提交到暂存区,此时git 在工作区有更新, 还未进入暂存区,这时候使用 --working 参数 检查

    cd optee_os/
    ./scripts/checkpatch.sh --working

     

  2. 自己本地做了修改,已经提交暂存区,这时候使用 --cached 参数检查

    cd optee_os/
    ./scripts/checkpatch.sh --cached

     

  3. 自己本地修改, 已经做了提交,这时候是一个新的commit 产生,使用 具体的commit 参数检查

    cd optee_os/
    ./scripts/checkpatch.sh  4ba904fc977459f362dd2b18e43c1556d4c0b0ae
    Checking commit(s):
    4ba904fc9 rng: s1a: optimized the code for hrng using ring only mode[1/1]
    No codespell typos will be found - file '/usr/share/codespell/dictionary.txt': No such file or directory
    WARNING: line length of 82 exceeds 80 columns
    #35: FILE: core/arch/arm/plat-meson/s1a/rng_support.c:175:
    +       aml_write_reg32(RNG_CFG_RESEED, aml_read_reg32(RNG_CFG_RESEED) | (1<<25));
     
    CHECK: spaces preferred around that '<<' (ctx:VxV)
    #35: FILE: core/arch/arm/plat-meson/s1a/rng_support.c:175:
    +       aml_write_reg32(RNG_CFG_RESEED, aml_read_reg32(RNG_CFG_RESEED) | (1<<25));
                                                                               ^
     
    total: 0 errors, 1 warnings, 1 checks, 10 lines checked

     

  4. 对当前整个项目文件进行检查

    cd optee_os/
    ./scripts/checkpatch.sh  HEAD
     
    total: 1321 errors, 7855 warnings, 113 checks, 36458 lines checked

     

官方介绍文档: Coding standards — OP-TEE documentation documentation (optee.readthedocs.io)

标签:optee,checkpatch,TEE,--,sh,scripts,Check
From: https://www.cnblogs.com/coversky/p/18191728

相关文章

  • shell编程规范与变量
    shell脚本基础1.shell概述shell脚本的概念将要执行的命令按顺序保存到一个文本文件给该文件可执行权限可结合各种shell控制语句以完成更复杂的操作shell应用应用场景重复性操作交互性操作批量事务处理服务运行状态监控定时任务执行应用场景shell的作用Linux系统......
  • TEE 开发 opteeos panic 排查方法
    如果遇到bl32panic,如果能明显感觉到错误的发生位置,可以使用加EMSG打印的方式debug 但是遇到压测的时候发生的panic,这样是低效的,而且加上log还会影响时序,影响压测结果。下面给出一个终极debug方式,这样的判断panic发生的函数位置,百试不爽。举例:[266.388550][0T45......
  • TEE 开发 禁止大内存TA加载
    我们会经常遇到一些TA,把自己的TA_STACK_SIZE和TA_HEAP_SIZE 设置的太大,从而无法成功被load的情况。因为taram一共就这些内存,但是TA的这两个宏配置是由用户去决定的,为了避免这些TAowner方便自己害了他人考虑,我们在可以做出如下限制。在bl32里面loadta的时候做......
  • shell条件语句
    一、测试文件测试testtest的语法test条件表达式[条件表达式]test选项文件-d:判断是否是目录(Directory)-f:判断是否是普通文件(File)-b:判断是否是块设备(block)-c:判断是否是字符设备-e:判断是否存在(Exist)-a:判断是否存在-r:判断是否有读的权限(Read)-w:判断......
  • SSH 简介:安全远程访问的利器
    简介SSH(SecureShell)是一种加密网络协议,用于在不安全的网络上安全地传输数据。它最常用于远程登录到计算机系统,并在远程系统上执行命令,也可以用于传输文件。SSH的加密特性使得通信过程安全可靠,成为许多系统管理员和开发者的首选工具。本文将介绍SSH的基本概念、用法和一些实......
  • shell运算符
    算术运算符点击查看详情运算符说明举例+加法expr$a+$b结果为30。-减法expr$a-$b结果为-10。*乘法expr$a\*$b结果为200。/除法expr$b/$a结果为2。%取余expr$b%$a结果为0。=赋值a=$b把变量b的值赋给a。==......
  • shell重定向与变量
    一、重定向与管道符重定向重定向:改变电脑的数据输出方向,默认是输出在屏幕上类型设备文件文件描述编号默认设备标准输入/dev/stdin0键盘标准输出/dev/stdout1显示器标准错误输出/dev/stderr2显示器交互式硬件设备标准输入:从该设备接收用户输入的数......
  • Unleashing the Power of Nexiq 3: The Ultimate Diagnostic Tool for Efficient Flee
    WelcometoourcomprehensiveguideonNexiq3,thecutting-edgediagnostictoolthatrevolutionizesfleetmanagement.Inthisblogpost,wewilldelveintotheessentialfeatures,benefits,andapplicationsofNexiq3,highlightingitsexceptionalcapabil......
  • shell流程控制
    判断fi[root@VM-12-15-centoshome]#vitest.sh#编写如下a=100b=100iftest$[a]-eq$[b];thenecho"true";fi#执行[root@VM-12-15-centoshome]#shtest.shtrueifelse[root@VM-12-15-centoshome]#vitest.sh#编写如下a=100b=101iftest$[a]......
  • shardingJDBC分库分表
    背景随着项目的运行很多数据库表数据压力越来越来大,例如(订单,详情等),数据库压力越来越大,插入查询等操作异常麻烦,我们需要进行一些处理,比如根据业务水平或者垂直分库分表Cobar,阿里B2B团队开源,proxy层方案TDDL,淘宝团队,client层方案Atlas,360开源,proxy层方案Sharding-jdbc,当当......