当前位置: 首页 > news >正文

Ast2500增加用户自定义功能

备注:这里使用的AMI的开发环境MegaRAC进行AST2500软件开发,并非openlinux版本。

1、添加上电后自动执行的任务

在PDKAccess.c中列出了系统启动过程中的所有任务,若需要添加功能,在相应的任务中添加自定义线程。一般在两个任务里面添加,一个是PDK_AfterCreatingTasks,该任务为系统启动后执行的任务。另一个是PDK_PlatformInit,该任务为系统上电时候执行的任务。

PDK_PlatformInit函数中可以进行GPIO的一些控制命令(例如控制其他器件上电),创建自定义任务,如下:

Run_cpld_info_task就是创建的自定义任务,这里实现的是通过2500的UART与CPLD进行数据传输,用来设置2500的ipmb地址。

系统启动后的任务放在PDK_AfterCreateTasks

这里创建了一个run_hot_protect任务,用来针对主芯片过温保护

2、添加自定义IPMI任务

除了上电自启动任务外,用户也可以添加自定义IPMI任务,这些任务不需要放在启动列表里面,2500可以自动响应添加的IPMI任务。

在PDKCmds.c中定义netfun为NET_OEM(0x2E)的处理函数接口,这就是IPMI协议里面给用户自定义的控制命令。

然后可以添加两个文件,实现NET_OEM中的自定义IPMI控制命令

在c代码中定义所有的OEM控制命令,通过cmd来进行区分就行

.h中定义cmd

其中定义的函数在c代码中实现

http://www.lryc.cn/news/37848.html

相关文章:

  • 用Python暴力求解德·梅齐里亚克的砝码问题
  • 离散Hopfield神经网络的分类——高校科研能力评价
  • Retrofit核心源码分析(三)- Call逻辑分析和扩展机制
  • 源码分析spring如和对@Component注解进行BeanDefinition注册的
  • C语言--字符串函数1
  • Webstorm使用、nginx启动、FinalShell使用
  • 源码分析Spring @Configuration注解如何巧夺天空,偷梁换柱。
  • vector的使用及模拟实现
  • “华为杯”研究生数学建模竞赛2007年-【华为杯】A题:基于自助法和核密度估计的膳食暴露评估模型(附获奖论文)
  • 刷题(第三周)
  • 新C++(14):移动语义与右值引用
  • TCP相关概念
  • MySQL锁篇
  • SWF (Simple Workflow Service)简介
  • java(Class 常用方法 获取Class对象六种方式 动态和静态加载 类加载流程)
  • 【数据结构】线性表和顺序表
  • Ubuntu数据库安装(mysql)
  • MyBatis-Plus的入门学习
  • 华为OD机试题 - 内存池(JavaScript)
  • 数据库索引原理
  • 字符函数和字符串函数详解(1)
  • 【数据分析:工具篇】NumPy(1)NumPy介绍
  • mysql时区问题
  • 磨金石教育摄影技能干货分享|高邮湖上观花海
  • mysql navicat忘记密码
  • Git的下载、安装、配置、使用、卸载
  • 【博客631】监控网卡与进程网络IO使用情况
  • 【Leetcode】【简单】35. 搜索插入位置
  • sql面试题
  • SQL 进阶刷题笔记