红联Linux门户
Linux帮助

在linux的驱动Makefile中添加调试选项

发布时间:2016-04-22 11:12:58来源:linux网站作者:k7arm

在编译linux驱动的时候添加-g等调试选项将会很方便调试,如反汇编等。

添加方法很简单。只需要给环境变量EXTRA_CFLAGS赋值-g就行了,开始我以为需要明确指定-g,就像编译应用程序那样,gcc main.c -g -o test,原来系统中保留的环境变量EXTRA_CFLAGS,直接给他赋值就行了。


如下面的Makfile:
TOP := $(shell pwd)/../../..
-include $(TOP)/make/Makefile.param
MOD_PCM = snd-soc-pcm
MOD_I2S = snd-soc-i2s
MOD_CARD = snd-soc-card
MOD_NAME += $(MOD_PCM) $(MOD_I2S) $(MOD_CARD)
LINUX_SRC = $(KERNEL_DIR)
LINUX_SRC_MODULE = $(IMAGE_DIR)/sys/lib/modules/$(LINUX_VERSION)/kernel/sound/soc/
LINUX_VERSION = $(shell cat $(KERNEL_DIR)/include/config/kernel.release 2> /dev/null)
BASE_DIR = $(SYS_DIR)
EXTRA_CFLAGS = -g
ifneq ($(KERNELRELEASE),)
obj-m := $(MOD_PCM).o $(MOD_I2S).o $(MOD_CARD).o
$(MOD_PCM)-objs := pcm.o
$(MOD_I2S)-objs := i2s.o
$(MOD_CARD)-objs := card.o
else
PWD:=$(shell pwd)
default:       
make -C $(KERNEL_DIR)  M=$(PWD) modules
install:
install -d $(LINUX_SRC_MODULE)
install -m 644 -c $(addsuffix .ko,$(MOD_NAME)) $(LINUX_SRC_MODULE)
echo $(LINUX_VERSION)
/sbin/depmod -b $(BASE_DIR) -F $(LINUX_SRC)/System.map  -v $(LINUX_VERSION) -a
clean:       
rm -rf *.symvers *.order *.o *.mod.c *.mod.o *.ko .*.ko.cmd .*.o.cmd .tmp_versions
rm -rf $(addprefix $(LINUX_SRC_MODULE),$(addsuffix .ko,$(MOD_NAME)))
/sbin/depmod -b $(BASE_DIR) -F $(LINUX_SRC)/System.map  -v $(LINUX_VERSION) -a
endif
cp:
cp -frv *.ko /home/tftpboot/me


本文永久更新地址:http://www.linuxdiyf.com/linux/19975.html