2022年9月4日 星期日

初學 PCIe System (二) - 如何訪問PCIe設備的配置空間

初學 PCIe System (一) - PCIe介紹及其配置空間中有提到可以從PCIe設備的配置空間(Configuration Space)獲取許多重要的資訊,那在CPU中,訪問配置空間常用的兩種方式如下:

2022年8月30日 星期二

初學 PCIe System (一) - PCIe介紹及其配置空間

第二部分在這:初學 PCIe System (二) - 如何訪問PCIe設備的配置空間

PCI Express 介紹

PCI Express (PCIe) 屬於第三代的高效能 I/O 匯流排,PCIe Spec對其的介紹是:

PCI Express is a high performance, general purpose I/O interconnect defined for a wide variety of future computing and communication platforms. 

PCI Express 為各種未來的計算和通信平台所定義的高性能、通用互連 I/O 。

2022年8月6日 星期六

初學 SMBus

(這篇主要對象為韌體工程師,簡單介紹SMBus的一些基本概念而已)

System Management Bus (簡稱SMBus或是SMB) ,是1995年由Intel提出的,用來訪問主機板上的設備(EEPROM、溫度感測器、電壓感測器等) 並收集相應的資訊(SPD、溫度、電壓、版本號)。SMBus和I2C很相近,都是由兩條線: Clock (SMBCLK) 和 Data (SMBDAT) 所組成的。

2022年7月30日 星期六

透過 Intel SMBus Controller 訪問 DDR4 SPD

BIOS 在POST的過程中會透過SMBus 去讀取DIMM上的 EEPROM中的 SPD (serial presence detect) 的資訊來配置記憶體控制器(memory controller)。不太熟悉 SMBus的話可以先參考 初學 SMBus

在DDR4的時候,JEDEC 定義了一種新的非標準 EE1004 類型,SPD大小增加到4-Kbit (4 * 1024 / 8 = 512 Bytes),分為兩個Page,各256Bytes。(可以參考 4-Kbit Serial Presence Detect (SPD) EEPROM compatible with JEDEC EE1004 (st.com))

2022年6月26日 星期日

不想面對的論文

如題,最近正在改論文,教授希望可以寫到70頁。如果以12號字體寫一頁的話,大概需要500字左右,如果加上圖片或是表格可以減少比較多字數,但畫圖也是需要功夫的。

因此在我寫到快50頁左右的時候就挺崩潰的,寫了一小時,頁數就是連一頁都沒增加...,只好找同學溫暖一下

2022年5月15日 星期日

An Embedded Database - SQLite

最近上課剛好認識SQLite,覺得它整個設計和故事都挺有趣的,所以決定寫個文章分享他的歷史、版權和設計的部分 :)

SQLite,是一個遵守ACID的關聯式資料庫管理系統(Relational Database Management System, RDBMS),它的全部就是一個C file,被整合在使用者程式中。

2022年5月2日 星期一

C/C++ 使用 SQLite

最近在準備 SQLite 相關的 paper presentation,突然被一句話給吸引了

SQLite is a C-language library 

Include SQLite lib就能直接操作Database了?為了更了解這句話的意思,我花了點時間試了一下,試完真的懂了為什麼官方說他們的競爭對手不是MySQL,而是"fopen()"

2022年4月7日 星期四

我的資料庫設計阿~

剛剛考完期中考,我昨天讀到凌晨兩點半看的所有章節都沒考到...Transaction, Recovery, OCC, Index, Storage...期中考的考卷內容和作業差不多,只是描述情境改了而已...

2022年2月11日 星期五

Redfish 驗證工具: Redfish Service Validator (OData CSDL)

(*如果之後架構有變,這邊不會更新) 

這篇文章我去年就很想寫了,因為當時身邊有蠻多人對這個tool有些誤解,對用來驗證Redfish Schema來說它是個很好用的tool,快速又方便,現在社群也很活耀的持續開發,只是對第一次接觸OData的人來說,可能會有點不知道怎麼上手,但理解之後會發現其實它原理很簡單的,然後如果還不認識OData的話 可以先看 DMTF Redfish 介紹 ,裡面有將官網連結都附上

Redfish Services validator 在 GitHub - DMTF/Redfish-Service-Validator 的Readme中介紹是

Redfish Service Validator 是一個開源框架,用於檢查啟用了 Redfish interface 的任何通用設備與 DMTF 定義的 Redfish schema 和 specifications的一致性。該工具設計為與設備無關,並且完全基於旨在由設備支持的 Redfish 規範驅動。

2022年2月9日 星期三

[OpenBMC] 快速上手OpenBMC的Redfish

(*如果之後架構有變,這邊不會更新) 

來聊聊OpenBMC的Redfish怎麼快速上手, 如果對redfish沒有很熟的話,可以先看"認識Redfish"裡面講解的概念

下一代數據中心基礎設施管理標準 - Redfish

2022年2月8日 星期二

Redfish模型工具:Redfish Mockup Creator 和 Redfish Mockup Server

 (*如果之後架構有變,這邊不會更新) 

GitHub - DMTF/Redfish-Mockup-Creator: A Python3 program that creates a Redfish Mockup folder structure from a real live Redfish service.

GitHub - DMTF/Redfish-Mockup-Server: A simple Python 3.4 program that can be copied into a folder at the top of any Redfish mockup and can serve Redfish requests on the specified IP/port.

以上兩個tool都是由DMTF開發的,Redfish Mockup Creator 可以去對Redfish Services 作mockup,而Redfish Mockup Server 我對它的定位在模擬器(emulator),可以餵給它指定的Redfish mock,Server跑起來之後可以對它請求 GET method

然後Mockup Creator 真的很方便,現在突然想看哪個Resource的Response,直接就能找到

2022年2月4日 星期五

[OpenBMC] 簡單解析 smbios-mdr

 (*如果之後架構有變,這邊不會更新)GitHub - openbmc/smbios-mdr

MDR(Managed Data Region) 是 OpenBMC中取得SMBIOS Table並解析其內容的一個功能,目前網路上(在沒有特別帳號權限下)能找到的資料蠻少的,所以這邊會盡量用公開資料做個分析 如果還不認識SMBIOS 可以先看之前寫的文章

輕鬆搞懂SMBIOS

2022年2月3日 星期四

輕鬆搞懂SMBIOS

之前為了看懂OpenBMC的MDR(Managed Data Region)這個功能,所以花了點時間研究了什麼是SMBIOS,所以這篇就是非BIOS專業對SMBIOS的理解

2022年2月2日 星期三

2022年1月30日 星期日

我在CSDN註冊帳號了

最近剛放年假,就想說要把之前LDAPS的文章補齊,這時候剛好滑到CSDN裡面的文章,心血來潮就辦了個帳號,體驗一下後台,想不到一體驗就有相見恨晚的感覺

2022年1月24日 星期一

Redfish 版本怎麼看

DMTF 將Redfish 協議(protocol)的定義與數據模型(data model)分開,同時允許獨立修改schema中定義的每個Resource,所以Redfish的版本可以分為下面三種

  1. Protocol 版本 (RedfishVersion: v1.xx)
  2. Schema 版本 (2022.01) (Redfish 的 mini world)
  3. 每個ResourceType 版本 (AccoutService v1.10, ManagerService v2.xx...)