C++嵌入式面试题:驱动开发事项与Kconfig示例.pdfVIP

C++嵌入式面试题:驱动开发事项与Kconfig示例.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

驱动开发注意事项

1.不能C库

2.只有一个很小的定长堆栈

3.没有内存保护机制

4.浮点数很难使用,应该使用整型数

Kconfig

描述了所属目录源文档相关的内核配置菜单,用于makemenuconfig中的配置

示例:

menuNetworkdevicesupport

configNETDEVICES

boolEnableNetDevices菜单类型

dependsonNET该项依赖项,如果没有选中NET,则不会显示这项菜单。

defaulty默认yes

help帮助信息

Thisishelpdesciption。

...

endmenu

菜单类型

菜单类型有:

bool[]

tristate三态(内建模块移除)

string字符串

hex()十六进制

integer整型

.config

makemenuconfig保存的文件

Makefile

obj-y+=foo.o#默认由foo.c或者foo.s编译得到

obj-m+=foo.o#默认编译成模块

vmlinux

是由linux源码编译后未压缩的内核

linux内核Makefile

由5部分组成:

1.Makefile:顶层Makefile。

2..config:kernel配置文件。

3.arch/xxx/Makefile:具体架构的Makefile。

4.scripts/Makefile.xxx:通用规则。

5.kbuildMakefile:整个kernel中大约有数百个这种文件。

arch/$ARCH/configs默认的配置文件/driver/vidio对应Graphicssupport代表显卡

file_operations

驱动程序操作功能结构体

函数说明

open()打开设备

release()释放设备

read()读设备

write()写设备

ioctl()对设备设置控制参数

llseek()修改文件当前的读写位置

poll()查询设备是否可读可写

linux内核编译操作

makebzImage#编译生成压缩的内核二进制文件

makevmlinux#编译生成二进制内核文件

makemodu#编译生成内核模块

makemodu_install#安装模块

makebzdisk|fdimage|isoimage#编译生成启动软盘镜像或者光盘镜像

makeinstall#安装内核文件

makeall#相当于vmlinux+modu+bzImage

makerpm#构建内核rpm包

makefoo/bar/foobar.ko#编译单个驱动

makeheader_install#安装内核头文件

makeM=some/sub/dir#编译指定目录

makeO=/path/to/some/dir#指定生成的文件放到该目录

makekernelversion#输出内核版本信息

makekernelrelease#输出内核标识

makerpm-pkg|deb-pkg|tar-pkg|targz-pkg|tarbz2-pkg#构建这种格式的内核包

makeclean#清除生成文件(保留.config和

您可能关注的文档

文档评论(0)

ryx5620 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档