没有合适的资源?快使用搜索试试~ 我知道了~
linux编写led驱动总结
资源推荐
资源详情
资源评论
一、驱动开发首先要建立对应平台的 linux 内核树,模块编译会用到。
编译内核树和编译开发板的内核流程一样,编译完内核之后,还需要增加几步,见文后的网
络参考第四步,之前的内核编译参考网络 linux4sam 就可以。
遇到的问题和解决方法:
1、 开发板上的内核版本必须和构建的内核树版本一样,可以 uname -r 查看开发板的内核
版本,如果不一样,加载内核时会有错误提示:version magic:错误。内核树编译完之
后生成/linux-at01/include/generated/utsrelease.h c 文件,内容为#define UTS_RELEASE
"4.1.0-linux4sam_5.3+",这个就是内核树的版本,此版本由两部分决定,一个部分是
Makefile VERSION = 4
PATCHLEVEL = 1
SUBLEVEL = 0
EXTRAVERSION = -linux4sam_5.3
后面的+号由另一部分决定,我也不知道在哪里,最后决定从新编译开发板内核,生成
的镜像拷贝到内存卡上,从而保持开发板的内核和主机内核树的版本一致。
2、 编译时候遇到错误
cc1: error: unrecognized command line option "-m64"
cc1: error: unrecognized command line option "-mno-red-zone"
cc1: error: unrecognized command line option "-mcmodel=kernel"
cc1:error:unrecognizedcommandlineoption"-maccumulate-outgoing-arg
s"
解决方法:编译时缺少编译对象,需要加入 ARCH=arm
二、编译模块,加载模块,创建设备文件
主机上编译模块,开发板上 insmod 模块。mknod 创建设备文件
使用的命令:
fdisk -l 看 u 盘的盘符
mount -t vfat /dev/xxx(上步查到的) /mnt/usb 挂载 U 盘
:/字符 按 n 选定下一个 Vim 搜索字符
cp led/* /work/led/
insmod ***.ko 加载模块
lsmod 查看模块
资源评论
chxasdf
- 粉丝: 20
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功