编译驱动时报错:./arch/x86/include/asm/atomic64_64.h: At top level:

2023-11-15

在编译6ULL驱动的时候程序报错:

base.c:4:
./arch/x86/include/asm/atomic64_64.h: At top level:
./arch/x86/include/asm/atomic64_64.h:31:33: error: unknown type name ‘atomic64_t’
 static inline void atomic64_set(atomic64_t *v, long i)
                                 ^
./arch/x86/include/asm/atomic64_64.h:43:41: error: unknown type name ‘atomic64_t’
 static inline void atomic64_add(long i, atomic64_t *v)
                                         ^
./arch/x86/include/asm/atomic64_64.h:57:41: error: unknown type name ‘atomic64_t’
 static inline void atomic64_sub(long i, atomic64_t *v)
                                         ^
./arch/x86/include/asm/atomic64_64.h:73:49: error: unknown type name ‘atomic64_t’
 static inline int atomic64_sub_and_test(long i, atomic64_t *v)
                                                 ^
./arch/x86/include/asm/atomic64_64.h:84:33: error: unknown type name ‘atomic64_t’
 static inline void atomic64_inc(atomic64_t *v)
                                 ^
./arch/x86/include/asm/atomic64_64.h:97:33: error: unknown type name ‘atomic64_t’
 static inline void atomic64_dec(atomic64_t *v)
                                 ^
./arch/x86/include/asm/atomic64_64.h:112:41: error: unknown type name ‘atomic64_t’
 static inline int atomic64_dec_and_test(atomic64_t *v)
                                         ^
./arch/x86/include/asm/atomic64_64.h:125:41: error: unknown type name ‘atomic64_t’
 static inline int atomic64_inc_and_test(atomic64_t *v)
                                         ^
./arch/x86/include/asm/atomic64_64.h:139:49: error: unknown type name ‘atomic64_t’
 static inline int atomic64_add_negative(long i, atomic64_t *v)
                                                 ^
./arch/x86/include/asm/atomic64_64.h:151:48: error: unknown type name ‘atomic64_t’
 static inline long atomic64_add_return(long i, atomic64_t *v)
                                                ^
./arch/x86/include/asm/atomic64_64.h:156:48: error: unknown type name ‘atomic64_t’
 static inline long atomic64_sub_return(long i, atomic64_t *v)
                                                ^
./arch/x86/include/asm/atomic64_64.h:164:37: error: unknown type name ‘atomic64_t’
 static inline long atomic64_cmpxchg(atomic64_t *v, long old, long new)
                                     ^
./arch/x86/include/asm/atomic64_64.h:169:34: error: unknown type name ‘atomic64_t’
 static inline long atomic64_xchg(atomic64_t *v, long new)
                                  ^
./arch/x86/include/asm/atomic64_64.h:183:39: error: unknown type name ‘atomic64_t’
 static inline int atomic64_add_unless(atomic64_t *v, long a, long u)
                                       ^
./arch/x86/include/asm/atomic64_64.h:207:45: error: unknown type name ‘atomic64_t’
 static inline long atomic64_dec_if_positive(atomic64_t *v)
                                             ^
In file included from include/linux/sched.h:32:0,
                 from include/linux/blkdev.h:4,
                 from include/linux/ide.h:12,
                 from /home/yjl/linux/IMX6ULL/Linux_Drivers/01_chrdevbase/chrdevbase.c:4:
include/linux/cputime.h:4:25: fatal error: asm/cputime.h: 没有那个文件或目录
compilation terminated.
 

解决方法:修改驱动的makefile文件

假如原文件为:

KERNELDIR := /home/yjl/linux/IMX6ULL/linux/alientek_linux
CURRENT_PATH := $(shell pwd)
obj-m := chrdevbase.o

build: kernel_modules

kernel_modules:
	$(MAKE)  -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
	$(MAKE)  -C $(KERNELDIR) M=$(CURRENT_PATH) clean

 则改为(添加两句):

KERNELDIR := /home/yjl/linux/IMX6ULL/linux/alientek_linux
CURRENT_PATH := $(shell pwd)
obj-m := chrdevbase.o
ENV:=ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

build: kernel_modules

kernel_modules:
	$(MAKE) $(ENV) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
	$(MAKE) $(ENV) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

参考链接: 

编译内核驱动模块出错(./arch/x86/include/asm/xxx fatal error: asm/xxx: No such file or directory)_Dask Jhonson的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译驱动时报错:./arch/x86/include/asm/atomic64_64.h: At top level: 的相关文章

  • 在Linux上编译C# + WPF以便在Windows上运行

    我有一个 C 应用程序 其中某些部分是使用 WPF 编写的 Mono 不支持 可以在 Linux 上编译这个应用程序吗 最终 该应用程序将在 Windows 上运行 但它是更大框架的一部分 并且我们的整个构建过程在 Linux 上运行 因此
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • Linux 中的无缓冲 I/O

    我正在写入大量的数据 这些数据数周内都不会再次读取 由于我的程序运行 机器上的可用内存量 显示为 空闲 或 顶部 很快下降 我的内存量应用程序使用量不会增加 其他进程使用的内存量也不会增加 这让我相信内存正在被文件系统缓存消耗 因为我不打算
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 为什么内核需要虚拟寻址?

    在Linux中 每个进程都有其虚拟地址空间 例如 32位系统为4GB 其中3GB为进程保留 1GB为内核保留 这种虚拟寻址机制有助于隔离每个进程的地址空间 对于流程来说这是可以理解的 因为有很多流程 但既然我们只有 1 个内核 那么为什么我
  • 在哪里可以找到并安装 pygame 的依赖项?

    我对 Linux 比较陌生 正在尝试安装 python 的 pygame 开发环境 当我运行 setup py 时 它说我需要安装以下依赖项 我找到并安装了其中之一 SDL 然而 其他人则更加难以捉摸 Hunting dependencie
  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • 如何有效截断文件头?

    大家都知道truncate file size 函数 通过截断文件尾部将文件大小更改为给定大小 但是如何做同样的事情 只截断文件的尾部和头部呢 通常 您必须重写整个文件 最简单的方法是跳过前几个字节 将其他所有内容复制到临时文件中 并在完成
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • Pyaudio 安装错误 - “命令‘gcc’失败,退出状态 1”

    我正在运行 Ubuntu 11 04 Python 2 7 1 并想安装 Pyaudio 于是我跑了 sudo easy install pyaudio 在终端中 进程退出并显示以下错误消息 Searching for pyaudio Re
  • Linux 内核标识符中前导和尾随下划线的含义是什么?

    我不断遇到一些小约定 比如 KERNEL Are the 在这种情况下 是内核开发人员使用的命名约定 还是以这种方式命名宏的语法特定原因 整个代码中有很多这样的例子 例如 某些函数和变量以 甚至 这有什么具体原因吗 它似乎被广泛使用 我只需
  • iptables通过注释删除特定规则

    我需要删除一些具有相同评论的规则 例如 我有带有 comment test it 的规则 所以我可以像这样获得它们的列表 sudo iptables t nat L grep test it 但是我怎样才能删除所有带有注释 测试它 的 PR
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包

随机推荐

  • 数据可视化——seaborn(一)

    数据可视化 seaborn 二 简介 seaborn这个库是基于matplotlib并且数据结构与pandas统一的python制图库 seaborn提供了一个高级界面 它是在matplotlib上进行了更高级的API封装 因此使得制图更加
  • Python学习笔记之os.walk()函数

    我们使用os listdir 函数来列出目录下的所有文件和目录放入一个列表进行返回 但是listdir 函数不可对目录的子目录进行扫描 print os listdir 输出 boot dev home proc run sys etc r
  • 前端和后台数据交互总结

    web服务器应用程序 apache tomcat nodeJs Nginx IIS 后台语言 php java net nodeJS 数据库 Mysql SqlServer Oracle 后台mvc ssh ssm 前台mvc js jsp
  • TensorFlow索引与切片语句

    学习课程 1 Basic indexing a tf ones 1 5 5 3 创建tensor a 0 0 结果是5 3的tensor a 0 0 0 结果是1 3的tensor a 0 0 0 1 结果是一个数1 2 Numpy sty
  • python汇总zip文件,压缩包的每个文件格式一样

    汇总zip文件 压缩包的每个文件格式一模一样 from zipfile import ZipFile import pandas as pd import os 打开文件 path r C Users Administrator Deskt
  • gcc/g++ 编译器使用简介

    gcc g 编译器使用简介 原地址 http blogold chinaunix net u3 109487 showart 2153853 html GNU CC 简称gcc 是GNU项目中符合ANSI C标准的编译系统 能够编译用C C
  • WireShark简介和抓包原理及过程

    WireShark 简介 WireShark是一个网络封包分析软件 其功能是记录网络封包 并尽可能显示出最为详细的网络封包信息 WireShark使用WinPCAP作为接口 直接与网卡进行数据报文交换 通俗理解 一个记录网络封包软件 你可以
  • python怎么调用另一个py文件的变量_Python中py文件引用另一个py文件变量的方法

    最近自己初学Python 在编程是遇到一个问题就是 怎样在一个py文件中使用另一个py文件中变量 问题如下 demo1代码 import requests r requests get http www baidu com r encodi
  • 【Linux】常用指令汇总

    目录 1 文件和目录操作 2 进程管理和查询 3 压缩和解压操作 4 系统信息和管理 5 远程和下载操作 6 用户和权限管理 7 时间和日期操作 8 运行和停止程序 9 其他操作 如果这篇文章对你有所帮助 渴望获得你的一个点赞 以下示例涵盖
  • 3S基础知识:VC6.0+MapX编程总结

    一 MapX的帮助 MapX的官方帮助文档是 MapX在线帮助 个人认为 这套文档过于简单 系统性偏差 与ArcEngine的帮助文档不可比 很多MapX的开发技巧在 MapX在线帮助 中查找不到 只能在互联网上搜索 本文试图从一个程序员的
  • 1V转5V芯片,三个元件即可组成完整的稳压方案

    1V低电压要转成5V的电压 需要1V转5V的芯片 由于1V输入 所以不需要指望能输出多大的电流 压差和1V的供电电压意味着供电电流也是无法做大的了 一般1V转5V的输出电流在0MA 100mA 一般60MA应用多 1V转5V电路的BOM物料
  • [LeetCode]202. Happy Number(判断正整数是不是Happy Number)

    202 Happy Number 原题链接 Write an algorithm to determine if a number is happy A happy number is a number defined by the fol
  • java.lang.Integer线程安全吗?

    java lang Integer线程安全 因为 private final int value 不可变
  • SQL实战5——统计活跃间隔对用户分级结果

    现有用户行为日志表tb user log 问题 统计活跃间隔对用户分级后 各活跃等级用户占比 结果保留两位小数 且按占比降序排序 注 用户等级标准简化为 忠实用户 近7天活跃过且非新晋用户 新晋用户 近7天新增 沉睡用户 近7天未活跃但更早
  • 华为机试HJ11 数字颠倒

    HJ11 数字颠倒 Python 题目 解题思路 代码 结果 题目 解题思路 1 输入 转字符串 倒序输出即可 python可以很取巧 代码 print input 1 结果
  • 使用Python批量转换彩色图片到灰度图片

    当涉及到图像处理和计算机视觉时 有时需要将彩色图片转换为灰度图片 一张一张使用PS等工具转换十分复杂且没有必要 今天介绍的这种方法用到了Pillow库 使用Pillow库来打开 加载并转换彩色图像 并将图像储存在另一个文件夹里 具体步骤如下
  • [春秋杯2023]Misc sudo(记CVE-2023-22809)

    对我来说还是有点难了 web方向的phpstudy那道题 不知道为什么 xss就是打不进去 第二道python反序列化还没有理解 所以就先发一道misc MISC sudo 记CVE 2023 22809 一 漏洞范围 sudo 1 8 0
  • 3.动态库的动态加载、错误处理、GDB调试

    库文件 代码的仓库 当运行a out时 a out是链接动态库的 于是a out和动态库都需要加载到物理内存中 但是 a out可能运行十分钟 但是需要用到的动态库却只需要使用1分钟 则资源浪费 所以引入动态加载的概念 当需要用动态库的时候
  • OceanBase介绍

    OceanBase是什么 OceanBase是一个支持海量数据的高性能数据库系统 实现了数千亿条记录 数百TB数据上的跨行跨表事务 由淘宝核心系统研发部 运维 DBA 广告 应用研发等部门共同完成 OceanBase解决什么问题 许多公司的
  • 编译驱动时报错:./arch/x86/include/asm/atomic64_64.h: At top level:

    在编译6ULL驱动的时候程序报错 base c 4 arch x86 include asm atomic64 64 h At top level arch x86 include asm atomic64 64 h 31 33 error