微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM Linux内核启动2

ARM Linux内核启动2

时间:11-09 来源:互联网 点击:

这段代码也和上面的一样。这段完成的工作主要是判断内核对这个平台的支持。那平台信息在那里定义呢?

MACHINE_START (KEV7A400, "Sharp KEV7a400")
MAINTAINER ("Marc Singer")
BOOT_MEM (0xc0000000, 0x80000000, io_p2v (0x80000000))
BOOT_PARAMS (0xc0000100)
MAPIO (kev7a400_map_io)
INITIRQ (lh7a400_init_irq)
.timer= &lh7a40x_timer,
MACHINE_END

主要是通过MACHINE_START宏,

/*
* Set of macros to define architecture features. This is built into
* a table by the linker.
*/
#define MACHINE_START(_type,_name)\
const struct machine_desc __mach_desc_##_type\
__attribute__((__section__(".arch.info"))) = {\
.nr= MACH_TYPE_##_type,\
.name= _name,

当想要添加新的平台是,需修改Mach-types (arch\arm\tools)这个文件,因为内核在编译时Makefile脚本会根据

Mach-types (arch\arm\tools)文件生成Mach-types.h (include\asm-arm\)文件。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top