打库(lib)

FAQ1 第三方lib打包编译参数

工具链

编译参数

armclang

-mcpu=Cortex-M33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c -ffunction-sections --target=arm-arm-none-eabi -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -mlittle-endian -gdwarf-3 -Wno-builtin-macro-redefined

arm-none-eabi-gcc

-mtune=cortex-m33 -march=armv8-m.main+dsp+fp+cdecp1 -mthumb -ffunction-sections -fdata-sections -mfpu=fpv5-sp-d16 -mfloat-abi=hard -funsigned-char -fshort-enums -fshort-wchar -mlittle-endian -gdwarf-3 -Wno-packed -Wno-missing-noreturn -Wno-sign-conversion -Wno-unused-macros -Wnull-dereference -fno-unwind-tables -fno-exceptions -fno-common -Os -D_GNU_SOURCE

FAQ2 scons编译生成lib

SConscript编写

../../_images/lib1.png

编译步骤

  • 进入ENV编译环境路径运行env.bat命令窗口

    ../../_images/lib2.png
  • 环境设置

    ../../_images/lib3.png
  • 编译

    命令窗口调用scons --buildlib=module_name -j8

    module_name为SConscript脚本里DefineGroup第一个参数定义的名称

FAQ3 链接lib按如图修改

../../_images/lib4.png