IgH详解二、主栈启动流程(一)

        前面已经介绍过,主栈代码位于master/ 目录下,IgH主栈编出来的是ec_master.ko,所以是以KO的形式加载的,驱动的入口函数在module.c中,声明了驱动入口函数ec_init_module

 上面是加载驱动时可以传入的一些命令行参数

 IgH支持多主站和双网口设备冗余,目前我们只讨论单主站和单网卡情况

主栈初始化首先创建了一个字符设备,作用是IgH上层应用程序是通过ioctl接口来调用主栈驱动程序接口的,创建/dev/EtherCAT0设备,上层应用程序可以通过这个设备调用驱动接口,然后是调用主栈初始化功能接口。

 我们这里只介绍一些重要功能和参数。

 

 IgH主栈有三种状态,在启动到加载网络驱动之前处于EC_ORPHANED状态

加载以太网驱动后会启动Idle线程,此时处于EC_IDLE状态

当用户启动应用程序请求主栈时,此时处于EC_OPERATION状态

 

 初始化从站状态机

 初始化过程中非常重要的是初始化主栈和从站的状态机,主栈中是以规划好的各个状态运行的

 当连接网络时,主栈启动idle线程,主栈就从这个初始化状态开始运行

主栈初始化完成后,就等待加载网络驱动,网络驱动加载后才正式启动了主栈各部分功能

下一篇介绍Idle线程启动和运行流程

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值