BCM 芯片SDK初始化

本文详细介绍了BCM芯片SDK的初始化过程,包括操作系统依赖的初始化、线程创建、数据初始化、命令行注册、设备探测与挂载、芯片初始化等多个步骤。重点讲解了diag_init()、sysconf_init()、sysconf_probe()等函数的执行流程,以及soc_cm_init()、soc_attach()等函数的功能。此外,还阐述了system_init()函数在初始化BCM交换芯片时的重要作用,如soc_reset_init()、soc_misc_init()、soc_mmu_init()等。整个SDK初始化完成后,进入命令行交互模式,等待用户输入命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BCM 芯片SDK初始化


作者: 北京—小武

邮箱:night_elf1020@163.com

新浪微博:北京-小武

SDK初始化前,需要对SDK的架构有所了解,具体如下图;可以看出SDK的代码结构是一个层次化分明的架构,这里对各层的作用和详细工作机制不阐述了,具体可以参见SDK的介绍文档。

 

            SDK代码的结构图

 

SDK根据上述架构,BCM模式启动的时候进行的初始化包括以下几个步骤:

1.      根据操作系统(linux、vxworks或unix等)不同调用sal_core_init()和sal_appl_init()两个函数的对应版本,分别对Core SAL和Appl SAL两部分进行初始化;linux系统下的sal_core_init()函数的主要工作时调用了函数sal_dpc_init()创建DPC(Deferred Procedure Call)的信号量和线程;sal_appl_init()函数的linux版本则直接返回,没有做任何工作;这两个函数虽然意义很大,但是值得我们研究的内容不多。

2.      然后调用sal_thread_create创建一个运行BCM模式的线程,并调用diag_shell()函数完成对BCM模式的数据进行初始化、命令行进行注册、设备探测和挂载、芯片初始化、客户命令注册、重启动和BCM模式退出等操作,主要通过调用diag_init()函数、sysconf_init()函数、diag_rc_set()函数、sysconf_probe()函数、sysconf_attac

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值