OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5272|回复: 1

IMX6ULL开发板的裸机例程,关于makefile编译出错的问题

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2020-9-7
在线时间
2 小时
发表于 2020-9-12 16:44:10 | 显示全部楼层 |阅读模式
1金钱
在LEDC_BSP这个例程里,我跟着视频教程编写makefile,最后编译时提示main.c里的函数未定义的引用,如图
VirtualBox_kuroneko_12_09_2020_16_35_51.png
这里比如这个clk_enable();   这个函数在bsp_clk.h里有函数声明,如下
VirtualBox_kuroneko_12_09_2020_16_38_04.png
为何会显示未定义的引用呢,官方提供的例程是可以编译的,但我看这部分写的和官方例程好像也没啥地方不同,求助


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2020-9-7
在线时间
2 小时
 楼主| 发表于 2020-9-12 17:10:59 | 显示全部楼层
CROSS_COMPILE        ?= arm-linux-gnueabihf-

TARGER                        ?= ledc



CC                         := $(CROSS_COMPILE)gcc

LD                         := $(CROSS_COMPILE)ld

OBJCOPY         := $(CROSS_COMPILE)objcopy

OBJDUMP         := $(CROSS_COMPILE)objdump



INCDIRS                := imx6u \
                           bsp/clk \
                            bsp/led \
                           bsp/delay

SRCDIRS                := project \
                           bsp_clk \
                           bsp_led \   
bsp_delay



INCLUDE                        := $(patsubst %, -I %, $(INCDIRS))



SFILES                        := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.s))

CFILES                        := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.c))



SFILENDIR                := $(notdir $(SFILES))

CFILENDIR                := $(notdir $(CFILES))



SOBJS                        := $(patsubst %, obj/%, $(SFILENDIR:.s=.o))

COBJS                        := $(patsubst %, obj/%, $(CFILENDIR:.c=.o))



OBJS                        := $(SOBJS)$(COBJS)



VPATH                        := $(SRCDIRS)



.PHONY:clean



$(TARGER).bin : $(OBJS)
       
        $(LD) -Timx6u.lds -o $(TARGER).elf $^
        $(OBJCOPY) -O -binary -S $(TARGER).elf $@

        $(OBJDUMP) -D -m arm $(TARGER).elf > $(TARGER).dis



$(SOBJS) : obj/%.o : %.s

        $(CC) -Wall -nostdlib -c -O2 $(INCLUDE) -o $@ $<



$(COBJS) : obj/%.o : %.c

        $(CC) -Wall -nostdlib -c -O2 $(INCLUDE) -o $@ $<



clean:

        rm -rf $(TARGER).elf $(TARGER).bin $(TARGER).dis $(OBJS)








这是makefile文件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 22:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表