linux内核接收来自u-boot的自定义参数

需求:

公司有多种类型的产品,处理器相同,外围 电路不同(例如AD/DA, PWM,开关量采集,继电器输出等),以前不同的设备单独编译一个内核,一个设备对应一套内核代码,这样极不利于代码维护,现在的方案是在内核初始化阶段从u-boot命令行中获取一个自定义参数,然后根据这个参数来初始化不同的硬件。


实现方法:

u-boot 命令行参数:

bootargs=console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=9,2048 rootfstype=ubifs rootwait=1device_type=1;

device_type=1就是内核需要接收并解析的自定义参数


在内核中:

自定义头文件:

 1 #ifndef __KLHA_DEVICE_INCLUDE
  2 #define __KLHA_DEVICE_INCLUDE
  3 unsigned int    device_type;
  4 #endif

在文件arch/arm/mach-omap2/board-am335xevm.c

加入:

  93 /*从U-BOOT中获取设备类型 */
  94 static int __init device_type_setup(char *str)
  95 {
  96     device_type = simple_strtol(str, NULL, 0);
  97     pr_info("KLHA ================> device_type = %d\n", device_type);
  98     return 1;
  99 }
 100 __setup("device_type=", device_type_setup);


以后内核的其他部份就可以全用device_type这个变量了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值