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

时间:2022-11-16 09:13:55

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

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

如下面的Makfile:
1 TOP := $(shell pwd)/../../..
  2 -include $(TOP)/make/Makefile.param
  3
  4 MOD_PCM = snd-soc-pcm
  5 MOD_I2S = snd-soc-i2s
  6 MOD_CARD = snd-soc-card
  7
  8 MOD_NAME += $(MOD_PCM) $(MOD_I2S) $(MOD_CARD)
  9
 10 LINUX_SRC = $(KERNEL_DIR)
 11 LINUX_SRC_MODULE = $(IMAGE_DIR)/sys/lib/modules/$(LINUX_VERSION)/kernel/sound/soc/
 12 LINUX_VERSION = $(shell cat $(KERNEL_DIR)/include/config/kernel.release 2> /dev/null)
 13 BASE_DIR = $(SYS_DIR)
 14 EXTRA_CFLAGS = -g
 15
 16 ifneq ($(KERNELRELEASE),)
 17   obj-m := $(MOD_PCM).o $(MOD_I2S).o $(MOD_CARD).o
 18   $(MOD_PCM)-objs := pcm.o
 19   $(MOD_I2S)-objs := i2s.o
 20   $(MOD_CARD)-objs := card.o
 21
 22 else
 23   PWD:=$(shell pwd)
 24 default:        
 25   make -C $(KERNEL_DIR)  M=$(PWD) modules
 26
 27 install:
 28   install -d $(LINUX_SRC_MODULE)
 29   install -m 644 -c $(addsuffix .ko,$(MOD_NAME)) $(LINUX_SRC_MODULE)
 30   echo $(LINUX_VERSION)
 31   /sbin/depmod -b $(BASE_DIR) -F $(LINUX_SRC)/System.map  -v $(LINUX_VERSION) -a
 32
 33 clean:        
 34   rm -rf *.symvers *.order *.o *.mod.c *.mod.o *.ko .*.ko.cmd .*.o.cmd .tmp_versions
 35   rm -rf $(addprefix $(LINUX_SRC_MODULE),$(addsuffix .ko,$(MOD_NAME)))
 36   /sbin/depmod -b $(BASE_DIR) -F $(LINUX_SRC)/System.map  -v $(LINUX_VERSION) -a
 37 endif
 38
 39 cp:
 40   cp -frv *.ko /home/tftpboot/me