[IMX6Q]如何得知当前平台是IMX6Q

kernel version: 3.0.35


一般linux的通用方法是通过

kernel_imx\include\generated\mach-types.h里的定义

machine_is_mx6q_sabresd 来判断当前是否属于此平台

#ifdef CONFIG_MACH_MX6Q_SABRESD
# ifdef machine_arch_type
#  undef machine_arch_type
#  define machine_arch_type	__machine_arch_type
# else
#  define machine_arch_type	MACH_TYPE_MX6Q_SABRESD
# endif
# define machine_is_mx6q_sabresd()	(machine_arch_type == MACH_TYPE_MX6Q_SABRESD)
#else
# define machine_is_mx6q_sabresd()	(0)
#endif
因为有多个平台同时定义,所以machine_arch_type一般都是__machine_arch_type,

__machine_arch_type的定义在kernel_imx\arch\arm\kernel\head-common.S

__mmap_switched_data:
.......long	__machine_arch_type		@ r5.long	__atags_pointer			@ r6
...... 
当时系统开机之后只定义而并没有赋值,imx6q使用了读取硬件寄存器的方法:

kernel_imx\arch\arm\plat-mxc\include\mach\mxc.h


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部