Skip to content

How to analyze Keil MDK projects

Xiao Jia edited this page May 24, 2022 · 5 revisions
  1. Prepare your project (with .uvprojx file in project) or use the following project:

    git clone https://github.com/SeerLikeJazz/LVGL-STM32F429I-DISC1
    cd LVGL-STM32F429I-DISC1/firmware

    Create an output subdirectory to store the results:

    mkdir -p output
  2. Prepare check_rules in the .naivesystems subdirectory (e.g. .naivesystems/check_rules).

    Example: https://github.com/naivesystems/analyze-demo/blob/master/.naivesystems/check_rules

  3. Run NaiveSystems™ Analyze with Docker/Podman (suppose $PWD is your project root):

    Windows:

    docker run -v ${pwd}/.naivesystems:/config `
      -v ${pwd}:/src -v ${pwd}/output:/output `
      ccr.ccs.tencentyun.com/naivesystems/analyze:2022.1.0.515002 `
      /opt/naivesystems/misra_analyzer `
      --show_results --project_type=keil

    Linux:

    podman run -v $PWD/.naivesystems:/config:Z \
      -v $PWD:/src:O -v $PWD/output:/output:Z -w /src \
      ccr.ccs.tencentyun.com/naivesystems/analyze:2022.1.0.515002 \
      /opt/naivesystems/misra_analyzer \
      --show_results --project_type=keil