跳转到内容

相关例子工程:Example

xmake 会自动探测 Keil/MDK 安装的编译器,相关 issues #1753

使用 armcc 编译

sh
$ xmake f -p cross -a cortex-m3 --toolchain=armcc -c
$ xmake

使用 armclang 编译

sh
$ xmake f -p cross -a cortex-m3 --toolchain=armclang -c
$ xmake

可执行程序

lua
target("hello")
    add_deps("foo")
    add_rules("mdk.binary")
    add_files("src/*.c", "src/*.s")
    add_includedirs("src/lib/cmsis")
    set_runtimes("microlib")

需要注意的是,目前一些 mdk 程序都使用了 microlib 库运行时,它需要编译器加上 __MICROLIB 宏定义,链接器加上 --library_type=microlib 等各种配置。

我们可以通过 set_runtimes("microlib") 直接设置到 microlib 运行时库,可以自动设置上所有相关选项。

静态库程序

lua
add_rules("mode.debug", "mode.release")

target("foo")
    add_rules("mdk.static")
    add_files("src/foo/*.c")
    set_runtimes("microlib")