自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 资源 (5)
  • 收藏
  • 关注

原创 Cstyle的札记,Freertos内核详解,第5.0篇

前面讨论了怎么把freertos移植到s3c2440上的话题,现在我看开始细细读一下freertos的代码。读代码之前先认识下代码规范,我们常见的类似的规范大多是一些命名规则,对齐什么的,比如驼峰命名法等等。但是freertos用了一个完全不同的规则,被称之为MISRA (TheMotorIndustrySoftwareReliabilityAssociation),之所

2015-12-18 22:44:08 1111

原创 Cstyle的札记,Freertos内核详解,第4.3篇

移植OS汇编是绕不过去的,先从MDK默认提供的s3c2440.s开始,这里我们需要完成以下几个事情:1.cpu状态和模式2.设置clock,包括系统时钟,sdram时钟,外设时钟等等3.设置sdram的时序参数,这个是非常重要的,否则我们的内存就不能使用4.堆,栈5.选择初始化外设,IO等 废话不多说先上图,下面是我花了几天时间在TQ2440+Freertos

2015-12-13 12:18:38 1342 2

PEI CORE的二个阶段以及PeiCore函数的3次执行流程简介,固件C字营,cstyle

PEI CORE的二个阶段以及PeiCore函数的3次执行流程简介。 PeiCore()函数作为PEI阶段最重要的组成部分,在整个PEI生命周期中分为二个阶段,分别是主内存初始化之前(PreMemory)和内存初始化完成之后(PostMemory),在这二个阶段中PeiCore()函数会被调用3次,简化的调用流程如下。示例描述了二个阶段内存以及堆栈的分布情况。蓝色的地址空间被映射到BIOS ROM,黄色的被映射栈空间,紫色被映射到堆空间,高地址是PreMemory阶段,低地址是PostMemory阶段。

2023-11-27

《UEFI内核导读》2023年11月更新 做知识的搬运工 固件C字营·出品 Cstyle·编著

《UEFI内核导读》2023年11月更新。做知识的搬运工 固件C字营·出品 Cstyle·编著。 目录 序 4 第0篇SEC Core简介 5 第0.1篇Reset Vector 6 第0.2篇SecCore流程 11 第0.3篇汇编语言过程调用 15 第0.4篇UEFI ABI 18 第1篇PEI Core简介 21 第1.1篇PeiCore启动流程 22 第1.2篇PeiCore自举 26 第1.3篇PEI Image Service 26 第1.4篇PEI调度优先级 30 第1.5篇PEI Notify 31 第2篇Dxe Core简介 44 第2.1篇Event and Timer简介 45 第2.2篇Event and Timer原理 52 第2.3篇Driver实例及私有数据 55 第3篇BDS Core简介 57 第4篇Runtime Core简介 58 第5篇UEFI Drivr binding 58 第6篇PCI Driver Stack 61 第7篇USB Driver Stack 68 第8篇Graphics Driver Stack 75 第9篇Text C

2023-11-19

基于 WMI(Windows Management Instrumentation)的 BIOS 接口设计<固件 C 字营>C

基于 WMI(Windows Management Instrumentation)的 BIOS 接口设计 <固件 C 字营>Cstyle_x007 WMI 是 Windows 操作系统管理数据和操作的基础设施,系统管理员可以使用 VB Script、PowerShell 及 Windows API(C++、C#等)管理本地或远程计算机。使用 WMI 框 架应用程序可以直接访问 EC RAM、 I/O 端口、Memory 地址、芯片寄存器、Setup NV 设 定值,以及其他的系统设备资源。’ 本 Demo 提供了 3 个 Method,在 windows 下应用程序调用 API 即可完成对 EC RAM (offset EcRam 0xE0)的同步和异步读写,不需要 OEM 另外写驱动。 ➢ OEM WMI 接口设计 ➢ Demo Asl code 设计 ➢ Demo Mof code 设计 ➢ Demo APP code 设计 ➢ Demo Mof 编译方法及工具 ➢ WMI 避坑指南

2023-03-02

《UEFI内核导读》-样章20211105.pdf

《UEFI内核导读》-样章2021/11/05更新 第23篇Secure Boot简介 133 第24篇Open source UEFI BIOS开发实战简介 139 第25篇 How to rotate Screen 143 第26篇Platform Environment Control Interface简介 146

2021-11-05

《UEFI内核导读》 Platform Environment Control Interface(PECI)简介.pdf

Platform Environment Control Interface简介 PECI是Intel提出,主要用于intel处理器温度监控,功耗控制及状态监测,采用主/从架构的1-wire BUS双向总线。 系统架构如下图,其中Host一般是EC或BMC或其他的系统控制器,Client一般是intel CPU。在现在的多核及多处理器架构的系统当中,每一个CPU核心或SOC内部的IP核(如DRAM)或多处理器中的每一个处理器都可能是一个Client。PECI支持一主多从架构,也就是说一个PECI控制器可以通过不同的Client地址采用分时共享总线的形式来同时控制多个Client,intel普通消费级处理器默认地址一般是30H~33H

2021-11-05

《UEFI内核导读》USB存储设备UEFI协议栈.png

USB存储设备UEFI协议栈

2021-05-23

《UEFI内核导读》-样章20210318.pdf

随着国家十四五新战略规划的推出,众多国内企业都参与到国产芯片替代浪潮中来,可以预测未来越多的国产芯片会被设计、生产和使用在我们日常所使用的电子产品中,国产芯片拥有巨大的市场前景。 目前国产芯片采用的体系架构主要有X86、ARM、MIPS、RISC V、PowerPC、Alpha等。我们知道电子产品正常工作必须要有操作系统和各种应用软件,没有操作系统和应用软件的芯片就是一堆废铁,而大多数人并不知道的是没有系统固件来加载操作系统的电脑亦是一堆废铁, UEFI就是由UEFI行业协会提出和维护一种行业标准的系统固件,它支持目前市面上的大多数芯片体系结构和操作系统,随着标准的不断演进相信越来越多的体系结构的芯片和操作系统会被支持。 笔者从事BIOS开发已有十余年的时间,见证了Legacy BIOS辉煌与隐退,也有幸了参与了新世纪初系统固件从Legacy BIOS往UEFI BIOS的迁移的全过程。科技行业风起云涌新技术新架构日新月异,每每回望不禁感慨我辈可谓是“眼见着他起高楼,眼见着他宴宾客”的那一波BIOS人。曾经系统固件江湖还是Legacy BIOS的天下,BIOS人使用汇编语言编码、通过中断来与操作系统沟通。自UEFI框架被广泛使以来开我们的发环境从纯汇编变成了99%的C语言加1%的汇编语言的模式,开发效率大大的加强了。 虽然UEFI框架大大加快了开发效率,但是由于系统固件开发属于比较偏门和专业的领域,学习和入门门槛比较高,现有的BIOS工程师又分布在大大小小的各个公司内部缺乏有效沟通和交流,同时BIOS源码又属于敏感和机密数据受到各种NDA限制,市面上对UEFI框架介绍的资料少之又少,因此笔者从2000左右开始就陆续以Cstyle_0x007为ID在https://blog.csdn.net/CStyle_0x007发布一系列博文,现已有数十篇原创文章。刚开始的想法是把博文当作工作笔记方便自己随时查阅,后来慢慢发展成了与业内外感兴趣的朋友的沟通交流的平台。 随手写的博文难免有错误与纰漏为了避免误导大众,准备把博文重新整理在纠正谬误同时也会补充一些新的内容,尽量做到所写的每句话都是无误的,也欢迎有兴趣的朋友踊跃提出意见和建议。组建了微信公众号,目的在于方便有兴趣的朋友一起交流,名字初步定为“固件C字营”,其中“固件”泛指一切固化的软件,这里主要指UEFI BIOS系统固件,“C”泛指“China“,我们可以把这里当作大家沟通交流的营地,我们会不定时发布一些行业资讯、工作、学习心得,感兴趣扫描下面二维码就可以加入,也可以发邮件到[email protected]投稿分享你的想法。 本文取名《UEFI内核的导读》这里的UEFI专指“UEFI BIOS”,全文专注于对UEFI内核的梳理与分享,同时兼顾对X86系统固件生态中常用的工程技术的介绍,主要包含以下内容:UEFI启动流程以及各个阶段主要完成的任务及参考的实现方式导读UEFI及PI规范中的常见Protocol的实现与使用技巧UEFI固件生态中常见外设、总线、行业标准的协议内容及使用方法 雄关漫道真如铁,而今迈步从头越,系统固件雄起之路道阻且长,相信我们的BIOS人一定可以为国产芯片的起飞助力、为系统固件团队的壮大贡献自己的一份微薄之力,为每一个不畏艰难、不惧寂寞坚守在工作岗位的BIOS人加油,好样的。

2021-03-18

空空如也

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

TA关注的人

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