Ast2500增加用户自定义功能

news2024/11/26 18:50:48

备注:这里使用的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.coloradmin.cn/o/402940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

隐私计算将改变金融行业的游戏规则?

开放隐私计算 01背景2月底,相关部门印发《数字中国建设整体布局规划》提出,到2025年,基本形成横向打通、纵向贯通、协调有力的一体化推进格局,数字中国建设取得重要进展;到2035年,数字化发展水平进入世界前…

前端安全(自留)

目录XSS——跨站脚本常见解决CSRF ——跨站请求伪造常见解决XSS——跨站脚本 当目标站点在渲染html的过程中,遇到陌生的脚本指令执行。 攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如 cookie 等。 常见 解…

机械学习 - scikit-learn - 数据预处理 - 2

目录关于 scikit-learn 实现规范化的方法详解一、fit_transform 方法1. 最大最小归一化手动化与自动化代码对比演示 1:2. 均值归一化手动化代码演示:3. 小数定标归一化手动化代码演示:4. 零-均值标准化(均值移除)手动与自动化代码演示&#x…

优秀开源软件的类,都是怎么命名的?

日常编码中,代码的命名是个大的学问。能快速的看懂开源软件的代码结构和意图,也是一项必备的能力。 Java项目的代码结构,能够体现它的设计理念。Java采用长命名的方式来规范类的命名,能够自己表达它的主要意图。配合高级的 IDEA&…

什么是谐波

什么是谐波 目录 1. 问题的提出 2. “谐”字在中英文中的原意 2.1 “谐”字在汉语中的原义 2.2 “谐”字对应的英语词的原义 3.“harmonics(谐波)”概念是谁引入物理学中的? 4.“harmonics(谐波)”的数学解释 1. 问题的提出 “谐波”这个术语用于各种学科&am…

国外SEO升级攻略!一看就懂!

SEO是搜索引擎优化的缩写,它是指通过优化网站内容和结构,提升网站在搜索引擎中的排名,从而获得更多的有价值的流量。 而关键词研究和选择是SEO优化中最基础也是最关键的环节,它决定了网站将面向哪些用户、哪些关键词和词组将被优…

SWF (Simple Workflow Service)简介

Amazon Simple Workflow Service (Amazon SWF) 提供了给应用程序异步、分布式处理的流程工具。 SWF可以用在媒体处理、网站应用程序后端、商业流程、数据分析和一系列定义好的任务上。 举个例子,下图表明了一个电商网站的工作流程,其中涉及了程序执行的…

C#【汇总篇】语法糖汇总

文章目录0、语法糖简介1、自动属性2、参数默认值和命名参数3、类型实例化4、集合4.1 初始化List集合的值4.2 取List中的值5、隐式类型(var)6、扩展方法【更换测试实例】7、匿名类型(Anonymous type)【待补充】8、匿名方法&#xf…

使用 Microsoft Dataverse 简化的连接快速入门

重复昨天本地部署dynamics实例将其所有的包删除之后,再次重新下载回来。运行填写跟之前登陆插件一样的信息点击login 然后查看控制台,出现这样就说明第一个小示例就完成了。查看你的dy365平台下的 “我的活动”就可以看到刚刚通过后台代码创建的东西了。…

MyBatis学习笔记(十三) —— 分页插件

13、分页插件 SQL语句中添加 limit index,pageSize pageSize: 每页显示的条数 pageNum: 当前页的页码 index: 当前页的起始索引, index (pageNum 1) * pageSize count: 总记录数 totalPage: 总页数 totalPagecount/pageSize; if(count % pageSize !0 ){ totalPage 1; } page…

java多线程(二六)ReentrantReadWriteLock读写锁详解(2)

3、读写状态的设计 同步状态在重入锁的实现中是表示被同一个线程重复获取的次数,即一个整形变量来维护,但是之前的那个表示仅仅表示是否锁定,而不用区分是读锁还是写锁。而读写锁需要在同步状态(一个整形变量)上维护多…

树与二叉树(概念篇)

树与二叉树1 树的概念1.1 树的简单概念1.2 树的概念名词1.3 树的相关表示2 二叉树的概念2.1 二叉树的简单概念2.1.1 特殊二叉树2.2 二叉树的性质2.3 二叉树的存储结构1 树的概念 1.1 树的简单概念 树是一种非线性的数据结构,它是由n(n>0)个有限节点组成的一个具…

OpenCV入门(三)快速学会OpenCV2图像处理基础(一)

OpenCV入门(三)快速学会OpenCV2图像处理基础(一) 1.颜色变换cvtColor imgproc的模块名称是由image(图像)和process(处理)两个单词的缩写组合而成的,是重要的图像处理模…

【Error: ImagePullBackOff】Kubernetes中Nginx服务启动失败排查流程

❌pod节点启动失败,nginx服务无法正常访问,服务状态显示为ImagePullBackOff。 [rootm1 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-f89759699-cgjgp 0/1 ImagePullBackOff 0 103…

Python(青铜时代)——容器类的公共方法

内置函数 内置函数:不需要使用 import 导入库,就可以直接使用的函数 函数描述备注len()计算容器中元素个数del( )删除变量max( )返回容器中元素最大值如果是字典,只针对key比较min( )返回容器中元素最小值如果是字典&#xff0c…

《MySQL系列-主从相关》Windows生产服务器和Linux备份服务器实现“主从备份功能“

Windows生产服务器和Linux备份服务器实现"主从备份功能" 经测试,Windows服务器和Linux服务器是可以实现主从备份的。为了实现对Windows数据库的备份功能,而目前只有Linux服务器了,所以在Linux服务器上部署从库,实现主从…

[算法]计数排序和基数排序

参考:《漫画算法-小灰的算法之旅》 目录 一、计数排序 1、计数排序的过程 2、计数排序的局限性 3、计数排序代码 二、基数排序 1、基数排序思想 2、例子 3、解决对齐问题 4、基数排序代码 三、两者的时间复杂度和空间复杂度 一、计数排序 1、计数排序的过…

Windows环境下实现设计模式——观察者模式(JAVA版)

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下Windows环境下如何编程实现观察者模式(设计模式)。不知道大家有没有这样的感觉,看了一大堆编程和设计模式的书,却还是很难理解设计模式&#xff0c…

【python实操】用python写软件弹窗

文章目录前言组件label 与 多行文本复选框组件Radiobutton单选组件Frame框架组件labelframe标签框架列表框Listboxscrollbar滚动条组件scale刻度条组件spinbox组件Toplevel子窗体组件PanedWindow组件Menu下拉菜单弹出菜单总结针对组件前言 python学习之路任重而道远&#xff0…

P6入门:创建项目计划工作分解结构WBS

目录 引言 Primavera P6 中的自顶向下方法 工作分解结构