使用gcc编译NRF52

修改components\toolchain\gcc中的Makefile.common文件里的toolchain中的编译工具,因为安装的arm-none-eabi路径与“Makefile.posix”中定义的不一致。

# Toolchain commands
CC      := $(call quote,$(GNU_PREFIX)-gcc)
CXX     := $(call quote,$(GNU_PREFIX)-c++)
AS      := $(call quote,$(GNU_PREFIX)-as)
AR      := $(call quote,$(GNU_PREFIX)-ar) -r
LD      := $(call quote,$(GNU_PREFIX)-ld)
NM      := $(call quote,$(GNU_PREFIX)-nm)
OBJDUMP := $(call quote,$(GNU_PREFIX)-objdump)
OBJCOPY := $(call quote,$(GNU_PREFIX)-objcopy)
SIZE    := $(call quote,$(GNU_PREFIX)-size)
#CC      := $(call quote,$(GNU_INSTALL_ROOT)$(GNU_PREFIX)-gcc)
#CXX     := $(call quote,$(GNU_INSTALL_ROOT)$(GNU_PREFIX)-c++)
#AS      := $(call quote,$(GNU_INSTALL_ROOT)$(GNU_PREFIX)-as)
#AR      := $(call quote,$(GNU_INSTALL_ROOT)$(GNU_PREFIX)-ar) -r
#LD      := $(call quote,$(GNU_INSTALL_ROOT)$(GNU_PREFIX)-ld)
#NM      := $(call quote,$(GNU_INSTALL_ROOT)$(GNU_PREFIX)-nm)
#OBJDUMP := $(call quote,$(GNU_INSTALL_ROOT)$(GNU_PREFIX)-objdump)
#OBJCOPY := $(call quote,$(GNU_INSTALL_ROOT)$(GNU_PREFIX)-objcopy)
#SIZE    := $(call quote,$(GNU_INSTALL_ROOT)$(GNU_PREFIX)-size)

然后就可以通过make进行编译:

dolphin@gy211935:/mnt/g/WORK/nRF5_SDK_17.0.2_d674dde/examples/peripheral/usbd_ble_uart/pca10100/s113/armgcc$ make -j
mkdir _build
cd _build && mkdir nrf52833_xxaa
Assembling file: gcc_startup_nrf52833.S
Compiling file: nrf_log_backend_rtt.c
..........
Compiling file: nrf_sdh_ble.c
Compiling file: nrf_sdh_soc.c
Linking target: _build/nrf52833_xxaa.out
   text    data     bss     dec     hex filename
  62736     216    4720   67672   10858 _build/nrf52833_xxaa.out
Preparing: _build/nrf52833_xxaa.hex
Preparing: _build/nrf52833_xxaa.bin
DONE nrf52833_xxaa
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容