- 博客(7)
- 收藏
- 关注
原创 语言实践2-驱动学习(3)ioctl初步学习
ioctl系统调用,是用于设备控制的公共接口。除了读取和写入设备外,驱动程序还需要具备一项能力:执行各种类型的硬件控制。实现通常是一个基于命令号的switch语句。 原型:int(*ioctl) (struct inode *inode,struct file *filp,unsigned int cmd,unsigned longarg);inode、filp:对应应用文
2017-12-16 21:01:23 143
原创 语言实践2-驱动学习(2)驱动程序框架
完成一个驱动需要两部分内容: (1)驱动程序.c文件:关于设备的函数 (2)应用程序,打开设备文件并进行操作 这篇文章是关于(1)的 本来想先试着写继电器的驱动程序,从简单的学起,但发现首先是找不到继电器的驱动程序,其次因为这个太简单,很难搞清楚驱动程序的架构。所以先看难的ds18b20驱动程序,网上很多。参考: http://www
2017-12-08 19:04:18 173
原创 语言实践2-驱动学习(1)hello world驱动
Hello World模块:#include#includeMODULE_LICENSE("Dual BSD/GPL");static int __init hello_init(void){ //两个下划线,开始只写了一个,一直无法通过编译,浪费了好长时间。 printk(KERN_ALERT "Hello,World\n"); ret
2017-12-04 13:26:30 123
原创 内核启动2-解决MBR学习分区
根据鸟叔linux 第三章学习1.linux中每个设备都是文件 (下面为常见) 设备 设备在Linux内的文件名SCSI/SATA/USB硬盘 /dev/sd[a-p] U盘
2017-11-29 16:12:50 306
原创 内核启动1-启动流程总述/bootlader学习
跟着导师做的项目一直在分析sel4微内核的启动流程,每次听学长讲的时候都晕晕乎乎,有些名词听了很多遍也不太理解,就打算自己研究一下内核启动。根据《鸟叔的linux》学习第20章系统启动流程1.加载BIOS的硬件信息、进行硬件自我测试、并依据设置得到第一个可以启动设备2.读取并执行第一个启动设备内MBR的boot loader3.依据boot loader设置加载ke
2017-11-25 16:37:36 310
原创 语言实践(1)-任务分析
这是大二下学期的项目,大三上又着重学了网络编程,也对驱动有了一定的了解,就又翻出来看一看。语言实践项目的任务:由于所学知识受限,先研究前两点通过对任务的分析,可以得到: 1.所需硬件:继电器(相当于开关) 开发板 采集电流电压设备
2017-11-24 23:51:25 149
原创 开始
最近开始找实习,在实习要求上可以看出我们这行需要什么知识能力。对于硬件我还有一些不足,学过的东西印象也不算深了。从上个寒假开始跟着导师做一些事情,也对硬件、计算机运行机制有了初步的了解。在这期间看了很多csdn博文,觉得不一定必须要是大佬级别才能写这些东西,每个人都可以写博文进行交流,也从中加深自己的印象和理解。可能我写的东西之间没有什么太大的联系,只是我在实际应用中,用到了这些知识,而我并不了解
2017-11-23 12:46:27 74
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人