Apollo下面调试小的程序(包括modules)

有时,我们只是想在Apollo下面测试简单的程序,不想为之建立makefile,也不想依赖于工程里面的目录。就好像,在pc环境下调用gcc,下面是方法:
一: 应用程序
$export PATH=$PATH:/home/qianjiang/apollo/sw/STB-DI/reference_design/Huangpu/Edwards-SDK/SRC/open_source_archive/linux/toolchains/gnu_cortex-a9_tools/usr/bin
$export _TMSYSROOT=/home/qianjiang/apollo/sw/STB-DI/reference_design/Huangpu/Edwards-SDK/SRC/open_source_archive/linux/toolchains/gnu_cortex-a9_tools
$arm-linux-uclibcgnueabi-gcc --sysroot=${_TMSYSROOT} -o image_update image_update.c
 

如果要包含内核头文件

-I/home/qianjiang/apollo/sw/ga300/target/src/sd/os/oslinux/comps/kernel/linux-2.6.28.10/include/

 

在编译开源mtd_debug时,发现__user未定义,需要包含<linux/compiler.h>,实际为#define __user

二:内核模块

在build环境下

ifneq ($(KERNELRELEASE),)
        obj-m := hello.o
else
#       KERNELDIR ?=
        PWD := $(shell pwd)
default:
        $(MAKE) -C $(KSRC) -j2 O=$(KERNEL_OBJ_DIR) M=$(PWD) modules
endif

 如果多个文件

        test-objs := hello.o splash_logo.o
        obj-m += test.o
如果直接加到objs-m后面是生成多个ko文件

 

你可能感兴趣的:(职场,休闲,apollo)