0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

写驱动模块时候linux内核Vscode中头文件报红,clangd插件实现函数自由跳转

jf_96633414 来源:jf_96633414 作者:jf_96633414 2024-05-31 09:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

linux驱动开发环境

1.卸载c/c++插件, 安装clangd插件
2.安装clangd-15或者其他版本,apt install clangd-15,并设置插件的Clangd:Path为/usr/bin/clangd-15
3.用bear编译内核,即先下载bear再bear -- make.....
4.随便点击kernel下的.c文件生成compile_commands.json
5.把.json中的编译器改为交叉编译器
6.重新打开文件夹,不行的话在kernel下添加.clang文件,编写内容例如为CompileFlags: Add: --target=aarch64-linux-gnu Remove: -mabi=lp64
image.png

7.效果图:ctrl+左击就可以跳进去
image.png
8.自己的工程, 应用程序与驱动程序都可以,只要生成.json文件:
随便写个.c再bear -- make, 生成.json文件就可以实现函数跳转自由,效果图:
image.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    218012
  • 驱动模块
    +关注

    关注

    0

    文章

    66

    浏览量

    14757
  • vscode
    +关注

    关注

    1

    文章

    171

    浏览量

    9008
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件
    的头像 发表于 11-28 07:27 750次阅读

    Linux内核模块的加载机制

    可能会有限制。 接下来是模块的初始化。内核会执行模块的初始化函数,通常是用module_init宏定义的函数。这个
    发表于 11-25 06:59

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
    的头像 发表于 11-21 13:25 677次阅读
    【迅为工业RK3568稳定可靠】itop-3568开发板<b class='flag-5'>Linux</b><b class='flag-5'>驱动</b>开发实战:RK3568<b class='flag-5'>内核模块</b>符号导出详解

    VSCode 编写自己的 KiCad 插件(下)

    成功,接下来可以我们的 python 插件了。按照 kic ad  官方 开发手册, 实现一个显示 PCB 对应图层的插件: https://dev-docs.kicad.org/z
    的头像 发表于 06-19 11:44 2459次阅读
    用 <b class='flag-5'>VSCode</b> 编写自己的 KiCad <b class='flag-5'>插件</b>(下)

    迅为RK3568开发板内核模块实现-模块加载与卸载

    有了内核模块以后,我们要如何使用呢?编译驱动有俩种方式,那 Linux 驱动的运行方式也肯定有俩种。一种就是将驱动编译进
    发表于 05-14 10:56

    迅为RK3568开发板驱动开发指南helloworld驱动实验-驱动的基本框架

    。 (1)模块加载函数: (2)模块卸载函数: (3)模块许可证声明 (4)模块作者信息
    发表于 04-02 14:47

    [迅为]Linux开发小技巧:Remote - SSH插件

    [迅为]Linux开发小技巧:Remote - SSH插件
    的头像 发表于 04-01 15:46 950次阅读
    [迅为]<b class='flag-5'>Linux</b>开发小技巧:Remote - SSH<b class='flag-5'>插件</b>

    使用 QWQ:32B 模型搭配 VSCode 的 Cline 插件实现自动化代码编程!

    。结合 Visual Studio Code(VSCode)的 Cline 插件,开发者可以实现高效的自动化代码编程。本文将详细介绍如何配置和使用 QWQ:32B 模型与 Cline 插件
    的头像 发表于 03-21 18:12 1083次阅读
    使用 QWQ:32B 模型搭配 <b class='flag-5'>VSCode</b> 的 Cline <b class='flag-5'>插件</b><b class='flag-5'>实现</b>自动化代码编程!

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux驱动模块之带参数的驱动模块

    命令行或配置文件进行配置。驱动模块参数提供了一种动态配置和调整驱动行为的方式。 在Linux内核
    发表于 03-13 09:52

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux驱动模块之helloworld驱动

    是展示驱动程序的基本结构和加载过程。 源码编写 (一)首先包含头文件 #include // 包含模块相关函数头文件 #include /
    发表于 03-12 10:35

    飞凌嵌入式ElfBoard ELF 1板卡-Linux驱动模块之带参数的驱动模块

    命令行或配置文件进行配置。驱动模块参数提供了一种动态配置和调整驱动行为的方式。在Linux内核
    发表于 03-12 10:34

    飞凌嵌入式ElfBoard ELF 1板卡-Linux驱动模块之helloworld驱动

    驱动程序的基本结构和加载过程。源码编写(一)首先包含头文件#include // 包含模块相关函数头文件#include // 包含
    发表于 03-12 10:15

    飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核启动流程

    函数: 该函数存在于arch/arm/kernel/head-common.S,其中有一句跳转指令:b start_kernel 从start_kernel函数开始,
    发表于 01-06 09:51

    关于驱动编译进蜂鸟派内核时候遇到的问题

    内核源码为: 编译内核可以通过,但编译驱动时候无法生成.ko文件
    发表于 12-30 17:02

    stdio.h实现了printf函数?

    我们平时包含的 stdio.h 头文件,里面是不是实现了 printf 函数? 为什么会有这个疑问?因为每次使用 printf,就得包含 stdio.h ,这就导致很多同学误以为,stdio.h
    的头像 发表于 12-18 10:28 873次阅读