鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

编译固件

执行固件编译

  1. 进入用户代码的顶层CMakeLists.txt脚本所在目录,执行如下命令新建build目录并执行cmake命令,以ovs_project的示例代码为例。
    cd ovs_project
    umask 077
    mkdir build
    cd build
    cmake ..

    打印示例如下所示,表示生成构建文件成功。

    -- Configuring done
    -- Generating done
    -- Build files have been written to: {自定义安装路径}/flexda_sdk/example/fullnat/build
    • 若非首次编译固件,建议先删除build目录,再执行步骤1。
    • 执行umask 077以保证cmake/make生成的目录和文件权限不会过大。
    • build目录不推荐存放在系统目录下(如 /、/usr、/boot等)。
  2. 执行make命令,进行固件编译。
    make

    打印示例如下所示,表示编译成功。

    [100%] Built target flash_bin

    编译过程中的所有日志信息保存在“build/flexdacc_log.txt”中。

  3. 进入产物路径,获取固件和对应的configinfo文件。
    cd ovs_project/bin/flash/hinic_flash_{板卡类型}
    • Hinic3_flash.bin:为编译生成的固件。
    • configinfo:为编译生成的流表配置文件,用于编程框架感知用户定义的流表配置并在控制面对用户数据做基础校验。需要在更新固件时同步将此文件拷贝到DPU环境的etc目录下。注意保证此配置文件的完整性,且该文件的权限应为400。

特殊场景说明

以示例代码ovs_example.zip为例(用户需自行准备)。解压示例代码后将example目录存放于“{编程框架自定义安装路径}/flexda_sdk”目录下,再执行上述固件编译任务。以示例代码中的fullnat为例。

cd {编程框架自定义安装路径}/flexda_sdk/example/fullnat
umask 077
mkdir build
cd build
cmake ..
make