跳至内容

二进制大小剖析

臃肿的比较大师 构建目标可让您更好地了解变更对代码大小的影响。使用它时,工具链会下载特定固件的最新成功主构建版,并将其与本地构建版进行比较(使用 臃肿 二进制文件大小剖析器)。

TIP

这有助于分析(可能)导致以下情况的变化 px4_fmu-v2_default 以达到 1MB 闪存限制。

臃肿 必须在您的路径中,并在 cmake 配置时间PX4 docker 文件 安装 臃肿 如图所示:

Git 复制 --递归 https://github.com/google/bloaty.git /tmp/bloaty \
	&&; CD /tmp/bloaty &&; cmake -忍者 . &&; 忍者 臃肿 &&; cp 臃肿 /usr/local/bin/ \
	&&; rm -rf /tmp/*

下面的示例显示了移除 mpu9250 驱动程序 px4_fmu-v2_default.首先,它会在本地设置一个不含驱动程序的版本:

 % Git 扩散
扩散 -git a/boards/px4/fmu-v2/default.px4board b/boards/px4/fmu-v2/default.px4board
索引 40d7778...2ce7972 100644
--- a/boards/px4/fmu-v2/default.px4board
+++ b/boards/px4/fmu-v2/default.px4board
@@ -36,7 +36,7 @@
-               CONFIG_DRIVERS_IMU_INVENSENSE_MPU9250=y
+               CONFIG_DRIVERS_IMU_INVENSENSE_MPU9250=n

然后使用 make target,指定要比较的目标编译 (px4_fmu-v2_default 在这种情况下):

% 生产 px4_fmu-v2_default 臃肿的比较大师
...
...
...
     虚拟机 尺寸                                                                                        文件 尺寸
 --------------                                                                                  --------------
  [删除]     -52 MPU9250::check_null_data(无符号 int*, 无符号 烧焦)                               -52  [删除]
  [删除]     -52 MPU9250::test_error()                                                                -52  [删除]
  [删除]     -52 MPU9250_gyro::MPU9250_gyro(MPU9250*、 烧焦*)                                    -52  [删除]
  [删除]     -56 mpu9250::info(MPU9250_BUS)                                                           -56  [删除]
  [删除]     -56 mpu9250::regdump(MPU9250_BUS)                                                        -56  [删除]
...                                        -336  [删除]
  [删除]    -344 MPU9250_mag::_measure(ak8963_regs)                                                  -344  [删除]
  [删除]    -684 mpu9250::mpu9250(device::Device*、 device::Device*, 烧焦*, 烧焦*, 混乱    -684  [删除]
  [删除]    -684 MPU9250::init()                                                                     -684  [删除]
  [删除]   -1000 MPU9250::measure()                                                                 -1000  [删除]
 -41.3%   -1011 [43 其他]                                                                        -1011 -41.3%
  -1.0% -1.05Ki [未映射] +24.2Ki +0.2
  -1.0% -10.3Ki 总计                                                                            +14.9Ki  +0.1%

这表明 mpu9250px4_fmu-v2_default 将节省 10.3 kB 闪存。它还显示了不同的 mpu9250 司机