转帖请注明出处:http://hi.csdn.net/lanmanck
//做配置文件之前,先找个类似的cpu,然后make xxx_defconfig
//把驱动全部关掉,内核起来后再慢慢添加自己的驱动。
1、arch/arm/tools/mach_types 定义自己的machtype
2、arch/arm/kernel/irq.c,entry_armv.S 这几个跟中断控制器有关
3、arch/arm/mm/Kconfig
定义我们的芯片对应的cpu类型,使用ARCH_XXX
# ARM926T
config CPU_ARM926T
注:新的版本内核已经不用了,比如2.6.29,在"arch/arm/mach-xxx/Kconfig"直接select即可
4、arch/arm/Kconfig,配置ARCH_XXXX
添加自己的板子,并且加上source "arch/arm/mach-xxx/Kconfig"
arch/arm/makefile
#添加我们的板子
machine-$(CONFIG_ARCH_XXXX) := xxxx ,这样系统会在make的时候做连接,比如arch/arm/mach ->arch/arm/mach-xxxx
5、arch/arm/mach-xxx/Kconfig
配置MACH,config后就是CONFIG_MACH_XXXX
config MACH_XXXX
6、drivers/serial/Kconfig、makefile
需要配置CONFIG_SERIAL_S3C2410 和 CONFIG_SERIAL_S3C2410_CONSOLE,其中,CONFIG_SERIAL_S3C2410在drivers/serial/makefile 会用到
7、drivers/serial/serial_xxxx.c
并需要包含头文件:
include/linux/serial_core.h,这个也要改,改成对应的PORT_XXX
8、添加include/asm/arch-xxx/uncompress.h,提供putc(),供解压打印
9、添加include/asm/arch-xxx/debug-macro.S,提供printascii(),供启动时调试用。
//===========
剩下的就是include/asm-arm/arch-xxxx和arch/arm/mach-xxxx的东西,
总结起来就是定时器、中断、dma、device.c、io,gpio,等,这个可以仿照别的目录做。
这是另一个大虾写的移植相关文档:
linux移植流水帐
http://blog.chinaunix.net/u1/35351/showart_1869160.html