好的,以下是一个简单的AHCI驱动框架的C语言实现:

``` #include <stdint.h>

// AHCI控制器端口地址定义 #define AHCI_BASE 0x40000000 #define AHCI_PORT_REG(base, port, reg) ((volatile uint32_t *)((base) + (port) * 0x80 + (reg)))

// AHCI命令列表项结构体 typedef struct { uint16_t flags; uint16_t prdtl; uint32_t prdbc; uint32_t ctba; uint32_t ctbau; uint32_t reserved[4]; } HBA_CMD_LIST_ENTRY;

// AHCI命令列表结构体 typedef struct { HBA_CMD_LIST_ENTRY entries[32]; } HBA_CMD_LIST;

// AHCI物理区域描述表结构体 typedef struct { uint32_t dba; uint32_t dbau; uint32_t reserved0; uint32_t dbc:22; uint32_t reserved1:9; uint32_t i:1; } HBA_PRDT_ENTRY;

// AHCI命令表结构体 typedef struct { HBA_CMD_LIST* clb; uint32_t clbu; uint32_t reserved[2]; } HBA_CMD_TBL;

// AHCI端口结构体 typedef struct { uint32_t clb; uint32_t clbu; uint32_t fb; uint32_t fbu; uint32_t is; uint

请您用C语言实现一个ahci驱动框架相关推荐

  1. dotweb——go语言的一个微型web框架(二)启动dotweb

    以上的代码截图表示启动一个dotweb服务,在浏览器里输入127.0.0.1:8080,将会得到一个"index"的页面. app := dotweb.New() dotweb.N ...

  2. 流式DMA映射实践1:先写一个misc驱动框架

    前言 如果没啥思路的时候,就写写小代码吧.先理论,后实践.再看测试结果.理论全靠抄,代码自己敲.好像还挺押韵.实验计划如下: 第一篇,写一个通用框架,做到拿来就能用. 第二篇,实现mmap功能,内核中 ...

  3. c语言计算器系统流程图,这是一个计算器程序 请各位高手帮我画一个流程图

    这是一个计算器程序 请各位高手帮我画一个流程图 #include #include #include char token; void error(void) { printf("stder ...

  4. python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...

    导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...

  5. 用C语言编写一个Linux下的简单shell程序

    这是一个简单的C程序,展示了如何进行系统调用执行logout cd ls pwd pid rm mkdir mv cp等命令,这是一个简单的命令解释程序shell,其源代码如下: #include & ...

  6. 怎样学好C语言,一个成功人士的心得!

    今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的 ...

  7. c语言受到哪些编程的影响,C语言,一个影响了整个世界的编程语言!

    Dennis Ritchie 过世了,他发明了C语言,一个影响深远并彻底改变世界的计算机语言.一门经历40多年的到今天还长盛不衰的语言,今天很多语言都受到C的影响,C++,Java,C#,Perl, ...

  8. C语言学习一个月后感想

    C语言学习一个月后感想 感谢李晓东老板及计算机工程师联盟的学长学姐和某神秘同级同学的辛勤指导,感谢宋雨田的督促和陪伴. 初识C的1..体会 我本以为凭借瓜皮思维和花里胡哨操作可以让我熟练地学习语言,现 ...

  9. (c语言)判断一个正整数是否是回文数

    (c语言)判断一个正整数是否是回文数 回文数是指从左到右和从右到左读这个数是一样的.例如:1,101,1221都是回文数. #include<stdio.h> #include<st ...

最新文章

  1. jQuery插件thickbox在ie下垂直居中问题
  2. 统一沟通-技巧-7-Lync 2010-配置信息-EWS未部署-增加版
  3. html二级导航栏随一级居中,html – 1.在css中链接不起作用2.如何垂直居中导航栏并在每个导航栏上添加填充...
  4. 做演员是圆梦 做生意学会面对现实
  5. [小技巧]你真的了解C#中的Math.Round么?
  6. CF1444C Team-Building(可持久化并查集)(二分图)
  7. php 漂亮的分页类
  8. CANopen笔记2
  9. 以下属于单例模式的优点的是_单例模式的优缺点和使用场景
  10. netbeans使用git_如何在我的NetBeans IDE中设置github存储库?
  11. pythontab_PythonTab 中文网简介
  12. 如何从官网下载Hibernate源码与jar包
  13. px4原生源码学习-(4)--Nuttx 实时操作系统编程
  14. 混淆后出现compiled from: xxx解决
  15. Chrome插件安装教程
  16. NLP「自然语言处理技术」
  17. 经颅电刺激促进睡眠振荡及其功能耦合增强轻度认知障碍患者的记忆巩固
  18. Java8新的时间和日期
  19. Python使用turtle画五环和糖葫芦
  20. 机器学习和特征工程理论与python代码实现 晓物智联

热门文章

  1. IHS光伏逆变器供应商排名分析
  2. linux自动拨号上网,Linux下怎么设置ADSL自动拨号上网?
  3. 学校进行成绩分级管理,取消分数制,改为成绩分级评定.
  4. 【面试真题】这两个命令难坏了一帮小伙伴
  5. java判断总共天数_java判断两个时间相差得天数
  6. 资源的释放方式try-catch-finally, try-catch-resource
  7. java版史莱姆区块,我的世界:最快找到史莱姆区块的方法,以后再也不用担心网速问题...
  8. 三因素方差分析_重复测量方差分析的操作教程及结果解读
  9. Keil5中代码对齐快捷操作
  10. rlwrap工具安装