如何在Android里面uboot传参数

在我们设计的时候,通常用uboot传参数是少不了的,下面就让我和大家俩说说哦

比如我有两款音频芯片,不管是电路板是焊接的是RT5621还是wm8976,用一个升级包就可以搞定,我该如何办呐?

 

1:在我们启动之前可以用setenv boardargs “codec=wm8976”

                                          然后 save

2:下面的代码加载Mach-smdkc110.c里面(Android 2.3系统)

//********** urbetter+ for PCB type *************

 char sound_codec[8]="wm8976";
 EXPORT_SYMBOL(sound_codec);
static int __init Sound_setup(char *str)
{
 printk("Sound_setup: str=%s\n", str);
 strcpy(sound_codec, str);
}
__setup("codec=", Sound_setup);
#endif

3:在我们使用的时候就可以在Mach-smdkc110.c

 if(!strcmp(sound_codec, "wm8976"))
 {
  
    printk("mach-smdkc110->smdkc110_machine_init &&&&&&&&&&&&&&&&&& wm8976 ok\n");
    i2c_register_board_info(1, i2c_devs1_wm8976, ARRAY_SIZE(i2c_devs1_wm8976));
 }
 if(!strcmp(sound_codec, "rt5621"))
 {
  printk("mach-smdkc110->smdkc110_machine_init &&&&&&&&&&&&&&&&&& rt5621 is ok\n");

 }

我们做的思路就是首先在uboot里面用IIC读取rt5621的ID,如果是说明就是RT5621芯片,不是的话就是wm8976芯片,然后再用uboot来传输参数,我在Mach-smdkc110.c里面进行判断,以来加载该芯片。

            这只是我们的方案,大家有更好的可以一起讨论一下!谢谢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UBOOT (Universal Bootloader) 是一种嵌入式Linux系统的启动加载器,它负责引导内核和加载根文件系统到内存中。DDR (Double Data Rate) 参在UBOOT配置中通常涉及到内存控制器和内存配置,特别是在使用DDR SDRAM(同步动态随机访问存储器)的环境中。 DDR参可能包括以下几个关键设置: 1. **DDR Mode**: 设置内存工作模式,如DDR2, DDR3, DDR4等,每个版本有不同的规格和时序要求。 2. **Clock Speed**: 内存的时钟频率,以MHz为单位,它直接影响据传输速率。 3. **CAS Latency (CL)**: 列地址存取时间,影响内存的延迟。 4. **Row Buffer Size (RAS)**: 行缓冲大小,对于某些内存类型可能有特定设置。 5. **Rank Count**: 如果是多通道内存,表示有多少个独立的据通道。 6. **Timing Parameters**: 包括 tRCD (行选延迟), tRP (列预充电延迟), tRAS (行存取时间), tRFC (刷新恢复时间)等,这些是内存操作的重要延迟参。 7. **Mode Register Access**: 控制是否启用模式寄存器访问,用于调整其他高级功能。 8. **Power Management**: 针对功耗的配置,如CDS (Command Dielectric Strength)或ODT (Output Driver Strength)。 9. **Bank Configuration**: 如需支持多银行,会涉及不同bank的配置。 配置这些参通常在UBOOT的源代码或配置文件(如`boards/your_board_name/configs/local.conf`)中进行,具体取决于你的硬件平台和DDR芯片型号。在设置这些参时,要确保它们符合硬件制造商的推荐和内存的实际性能需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值