自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 OpenBMC FRU如何新增Extra 字段

一般服务器需要在出厂时烧录一个MAC地址到eeprom中,在BMC启动时从eeprom获取MAC地址设置到带外管理口网卡上。我的实现不是从eeprom直接读取raw,而是通过fru来获取MAC地址,因为fru也是从eeprom 中parse过来的。因为fru的generate也会调用上面代码,所以dbus下的fru interface同样会多出append的数据。appendData新增了fruVersion和macAddress字段,这样就可以在fru中显示对应的字段了。

2023-03-28 17:03:22 529

原创 BMC Eaglestream利用PECI计算CPU、Memory功耗

在项目需求单里有一项是要求有CPU和内存的功耗传感器,在查阅Intel相关Spec后应该有三种方式1.利用ME的Node manager来获取两者的功耗,具体查看Intel® Intelligent Power Node Manager 5.0Page 81 的Get Node Manager Statistics IPMI command2.根据CRB的设计,板子上有几个电流监控芯片,可以用来读CPU和Memory的功耗、电流电压12v的输入,这个PXE..

2022-05-11 17:14:43 2126 2

原创 Eaglestream平台下 取消BMC ACPI引发的host 无法power on 问题

在验证dual BIOS flash更新烧录时,需要切换flash 2, 我们这里chip select 动作由一个gpio和pch的一个io做二合一由于gpio比较缺,所以把ast2600上ACPI的一个pin dedicate 为chip select gpio了,只留下S3和S5,所以为了使用需要disable ACPI,不然2600芯片无法通过gpio 应用去驱动chip select.datasheet上有描述由于SCU510是hardward strap2 寄存器,所以需要解

2022-04-12 12:41:54 777 1

原创 从OpenBMC porting ACD到AMI codebase下的过程

ACD是一个比较大的功能和卖点,它为用户提供了OOB debug CPU的功能,如果是eaglestream平台,那么还能够debug PCH 收集crash log。但是巧合的是这个包我们没向AMI购买,所以有了这篇文章。其实ACD的重点就是根据crashdump_input.json来执行peci然后记录结果而已,实际的decode还是需要cscript tool我们先看看Intel提供的OpenBMC下的ACD source code tree其中Crashdump..

2022-03-16 18:45:37 2646 1

原创 AMI BMC读取VR(voltage regulator)温度

AMI ast2600下BMC 读取 vr (voltage regulator)温度

2021-12-06 19:34:38 5540 6

原创 Git 的Auto Merge自动合并逻辑与不熟悉而遇到的坑

每个人都有使用Git管理源代码的经历,一般的流程相信都很清楚工作区修改代码 -> 编译通过后 git add xxx -> git commit -m 'xxxxx' -> 合并dev和master ->解决冲突->push origin今天就因为不熟悉Git Merge的逻辑所以踩坑了有同事发现我有部分代码有功能上有重复的定义。所以帮我删除了,但是我不知道,我也删除了这块地方typedef struct{ INT8U FanCtrlModeCmd..

2021-09-04 15:09:15 3280

原创 记录SpringCloud Gateway获取请求体的方法

在SpringCloud Gateway里获取请求体的方法,这个方法可以兼容版本,而且不会有requestbody不全问题@Component@Slf4jpublic class ReqTraceFilter implements GlobalFilter, GatewayFilter, Ordered { @Resource private IPlatformFeignClient platformFeignClient; /** * httphea..

2020-10-15 11:48:28 2380 2

原创 记录一次Excel工具easyexcel的使用

阿里巴巴的easyexcel工具是一种不太占用太多内存的excel读取工具,相比起apache的excel工具来说,easyexcel还是不错的。<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.2-beat1</version></dependency&...

2020-10-05 23:46:46 228

原创 平衡二叉查找树实现(C 实现)

AVL树的简单实现代码。主要理解了左旋、右旋还有双旋就好写了。需要旋转的地方就是插入和删除的时候判断一下balance是不是满足旋转的条件(也就是左右子树不平衡)。在插入子树的时候改变一下父节点的height,从子叶递归上来,最后整条路上节点的height都会修改,也就完成了高度变化。当然在旋转的时候因为节点会往下转,所以不管左旋右旋都需要根据左右子树的高度重新获得height。下面是代码。#include <iostream>#include <string>#d

2020-09-25 14:33:48 128

原创 操作系统-进程同步、互斥、信号量

先上图,进程同步、互斥的概念。进程具有异步性的特征,异步性是指各个并发执行的进程以独立的不可预知的进度进行。读进程与写进程是并发地运行,并发必定导致异步性,因此读进程和写进程的执行顺序是不能预测的。但是实际中必须是"写进程->读进程"的顺序来执行的。同步也称直接制约关系,是为了完成某个任务而建立的多个进程,这些进程为了要完成任务中某个协调工作顺序而产生制约关系。这些制约管理直接来自进程互斥合作。、上图是进程互斥的例子。临界区是访问临界资源的地方。进入区和退出区是负责实现互斥..

2020-06-30 23:29:40 488

原创 操作系统-进程切换的时机和几个调度算法(FCFS、SJF、HRRN)

1.进程切换的时机这个简单说说,进程切换主要分为两种,主动的放弃处理器和被动的放弃处理器。其中主动放弃处理器的场景是1. 进程正常结束,主动放弃。2. 进程在执行时发生了异常。被动放弃处理器的场景是1. 进程在执行时有个更紧急的任务(比如IO操作)2. 遇到有更高优先级的进程3. 进程的时间片过期2.几个进程调度的算法先来看第一个 FCFS(First Come First Server) 先来先服务就像排队买奶茶,很公平,但是不一定高效率。...

2020-06-28 19:56:39 3149

原创 操作系统-进程调度的层次

进程调度分为3个层次,高级调度(作业调度)、中级调度(内存调度)、低级调度(进程调度)。为什么会有调度问题,当资源有限,但是又有很多任务要处理,所以就有了按某种规则区调度的问题。1.高级调度因为内存空间有限,不能把用户提交的任务全部放进内存,因此就要按某种规则来决定作业调入内存的顺序。高级调度(作业调度),就是操作系统按一定的规则将后备队列的一个或多个任务调入内存中,并为该任务分配内存等必要的资源并且建立相应的进程快(建立PCB),以使得他获得竞争处理器的权利。高级调度是内存和.

2020-06-28 16:41:27 3292

原创 操作系统-多线程模型

就像上图所说,传统操作系统以内存为分配资源和调度的最小单位,但是切换进程很费资源。所以诞生了线程为资源分配,调度的最小单位。比如QQ是一个进程,QQ的文件传输和聊天就是线程。我们可以把线程看成轻量级进程,也是程序执行流的最小单位。线程的引入,提高了程序的并发度,让一个进程可以并发的处理任务(QQ的聊天,文件传输,视频聊天等等)脑图如上,进程是资源分配的基本单位,线程是调度的基本单位。切换的消耗也减少了。就像你去图书馆看书,陌生人要看书就要把你座位上的书移开再看。但是如果你舍友...

2020-06-28 16:05:05 234

原创 记录vue之axios的简单封装

最近学了学vue,axios是必须的一个插件,但是如果每个组件都直接用axios来请求接口会混乱,而且将来接口变动要改动很大。一般都是要封装的,甚至请求一个接口都封装成一个方法。不多说 上代码。。。。首先新建一个文件 http.js,在里面写入如下代码import axios from 'axios'import qs from 'qs'axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded

2020-05-19 15:54:58 114

原创 DHT爬虫和使用BEP协议完成metadata的下载(BT下载)

在BitTorrent技术出世以来,很多网络资源被制作成种子进行传播,随后磁力链接加速了资源的传播。然后非常好奇,如今世界人民对什么资源需求大呢,所以在网上查询了许多资料和源代码,完成了这个爬虫。源代码我之后会在GitHub上发布。首先我们先知道什么是"DHT网络"如上图所示,每个人的机器都是一个"Peer",即对端...,而中间的那个服务器,就是中心叫做Tracker服务器,一些迅...

2020-04-19 16:41:27 2453 1

原创 多次搜索

class Solution { public int[][] multiSearch(String big, String[] smalls) { int[][] result = new int[100001][1001]; for(int i=0;i<smalls.length;i++){ List list = new...

2020-03-30 20:38:58 696

原创 根据前序和中序,重建二叉树

具体的思路就是递归,遍历中序数组,在前序中找相同的。因为前序是"根左右",而中序是’左根右",所以中序中匹配的前序数字的前面所有数字都是该树的左节点,而后面的数字就是该树的右节点这里是主要的逻辑Node node = new Node(preorder[preStart]); for(int i = inStart;i <= inEnd;i++) { ...

2020-03-30 20:06:51 126

原创 SpringBoot集成Security,前后端分离的SecurityConfig配置

前后端分离下保持状态是个问题,但是我这里不涉及分布式,所以用不上JWT,JWT根据项目情况来决定是否使用. Authentication对象会记录用户的状态,所以不用定义一个token,从Authentication中 getAuthorities方法获取用户的状态 如果使用JWT来保持状态的话,就在拦截器上对token进行解码判断就行先贴上Model代码:pac...

2020-03-20 20:39:48 7903 14

原创 springboot集成mongodb:Query failed with error code 2 and error message 'Field 'locale' is invalid...错误

package com.jlau.schoollocationsystem.model;import org.springframework.data.annotation.Id;import org.springframework.data.mongodb.core.mapping.Document;import org.springframework.security.core.Gr...

2020-03-20 20:14:39 1480 3

原创 Navicat导入sql文件遇到 [ERR]2006-MySQL server has gone away

在我导入sql文件的时候Navicat发生错误,提示[ERR]2006-MySQL server has gone away,后来翻看my.cnf时发现mysql服务最大导入包大小设置为4M,只要修改这个大小和执行时间即可解决 在mysql配置文件my.ini中找到(mac系统是my.cnf,而且新的mysql已经不自带这个文件了,你需在/etc下创建my.cnf,然后输入定制内...

2019-12-09 12:12:19 577

原创 JavaWeb+Maven项目使用Properties读取resources下的properties文件

public class JdbcConnectionFactoryBuilder { private static String JDBC_DRIVER = "com.mysql.jdbc.Driver"; private static String DB_URL = "jdbc:mysql://localhost:3306/jlau_off?useSSL=false"; ...

2019-11-14 10:44:02 576

原创 数据源初始化错误:ClassNotFoundException: com.alibaba.druid.pool.DruidDataSourceFactory的解决

Exceptionsendingcontextinitializedeventtolistenerinstanceofclassorg.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanCreationException:Errorcreating...

2019-11-14 09:57:41 5422 2

转载 Nginx 编译出现 No rule to make target 'build', needed by 'default'. Stop.

出现此种情况,是linux系统没有安装先决条件1、GCC——GNU编译器集合(GCC可以使用默认包管理器的仓库(repositories)来安装,包管理器的选择依赖于你使用的Linux发布版本,包管理器有不同的实现:yum是基于Red Hat的发布版本;apt用于Debian和Ubuntu;yast用于SuSE Linux等等。)RedHat中安装GCC:yum install&n...

2019-06-27 11:22:32 4157

转载 linux/ubuntu下 已安装gcc却爆出C compiler gcc is not found问题

已经按照好gcc之后还是会显示 C compiler gcc is not found问题,尝试了网上很多安装gcc的方法都不可用。 1.原因分析: configure首...

2019-06-27 11:18:24 7306

原创 基于简单线段树的RMQ

线段树是擅长处理区间的,是一种类似完美二叉树的数组结构。(完美二叉树是所有叶子深度都相同,并且每个节点要么是叶子节点要么有两个儿子的树)。树上的每个节点都维护一个区间。根维护都是整个区间,每个节点维护的是父亲的区间二等分后的其中一个子区间,对区间对操作可以在O(logn)完成。const int MAX_N = 1<<17;int n,dat[2*MAX_N-1];//...

2019-04-03 23:09:32 180

原创 Java 目录枚举实用工具

package tools.utils;import java.io.File;import java.io.FilenameFilter;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.regex.Pattern;public class D...

2019-03-21 16:10:45 263

原创 计算机网络——路由汇总

假设有八个组织,他们由一个ISP负责,他们的网络如下200.23.16.0/24200.23.17.0/24200.23.18.0/24200.23.19.0/24200.23.20.0/24200.23.21.0/24200.23.22.0/24200.23.23.0/24计算路由汇总步骤如下:1.将地址转化为二进制2.找到所有地址二进制相同的最后一位3.计算...

2019-03-17 10:34:28 958

原创 Java多线程实现简单雷霆战机(只有一关,没有击落奖励)

import java.awt.*;import java.awt.image.BufferedImage;public abstract class FlyObject { protected int x; protected int y; protected int height; protected int width; protected i...

2019-03-14 12:58:53 361

原创 Java关于动态绑定到小例子

abstract class A{ public A(){ b(); } abstract void a(); abstract void b();}abstract class B extends A{ @Override void a() { System.out.println("正在调用B类a方法");...

2019-03-14 12:51:59 337

原创 二叉堆的实现

//写的不太好见谅哈,没用动态数组,所以插入超过max不会扩表#include &lt;stdio.h&gt;#define max 10int a[max]={-1,2,4,6,7,9,12};int currentsize=sizeof(a)/sizeof(a[0]);void insert(int x){ if(currentsize&gt;max){ printf("full...

2018-07-07 22:05:17 113

原创 c程序课程设计(学生信息管理系统)

最近学校在c语言程序设计,选了个学生管理系统,花一个小时写了一写,有的地方写的不好见谅哈~~~#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;typedef struct student{ long int num; char *name; int age; char sex;...

2018-07-05 22:24:42 1449 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除