自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 嵌入式Linux驱动开发(十二)platform设备驱动实验

基于驱动可重用性考虑,提出驱动分离与分层思想。平台设备驱动就是基于此。

2023-05-05 15:58:15 1004 1

原创 嵌入式Linux驱动开发(十一)异步通知

  非阻塞IO通过轮询poll的方式查询设备使用情况,如果能通过一种类似中断的机制,由驱动程序主动通知应用程序,就可以提高效率。异步通知的核心就是“信号”,内核signal.h文件中提供了很多信号,相当于一种软件层面的“中断”。  应用程序中用signal函数设置指定信号的从处理函数,函数原型为:  当我们按下Ctrl+C其实是向正在占用终端的App发出SIGINT信号,默认是关闭当前App。我们可以修改一下SIGINT信号的处理函数,使得按下Ctrl+C的时候先打印“SIGINT signal!”再关闭

2023-04-25 20:44:49 633

原创 嵌入式Linux驱动开发(十)Linux阻塞和非阻塞IO

阻塞IO:App对设备驱动进行操作时,如果无法获取到设备资源,就将应用对应的线程挂起直到可以获取。非阻塞IO:不会挂起对应线程,会一直轮询等待,或者直接放弃。1.2 等待队列1)等待队列头  阻塞访问时,进入休眠态的线程可以在中断中被唤醒。内核中用wait queue实现唤醒。可以使用以下方式初始化一个等待队列头(对应结构体wait_queue_head_t)。2)等待队列项  结构体wait_queue_t表示等待队列项。每一个等待中的进程/线程都是一个项。3)队列项添加/移除队列头  设

2023-04-25 15:24:52 838

原创 嵌入式Linux驱动开发(九)Linux中断

111

2023-04-24 15:33:35 1232

原创 嵌入式Linux驱动开发(八)内核定时器

Linux内核使用timer_list结构体表示内核定时器。使用时需要提供超时时间和定时处理函数,要注意的是内核定时器不会周期性运行,所以需要在处理函数中重新开启定时器才可以周期定时。或者修改内核.config文件下的CONFIG_HZ项也可以。③del_timer:删除一个定时器。④del_timer_sync:删除一个定时器(同步版)。②add_timer:向内核注册定时器。⑤mod_timer:修改定时值,如果定时器还没激活,会进行激活。①init_timer:初始化timer_list类型变量。

2023-04-11 16:34:39 168

原创 嵌入式Linux驱动开发(七)并发与竞争

①多线程并发访问。②抢占式并发访问。③中断程序并发访问。④SMP(多核)核间并发访问。存在于多核CPU之间。**竞争:**多个线程同时操作临界区。

2023-04-03 10:43:33 349

原创 嵌入式Linux驱动开发(六)pinctrl和gpio子系统实验

*目的:**简化GPIO驱动开发。***注意点:***每当配置一个PIN为GPIO时,需要确定该GPIO是否有被别的外设使用。-----------在vscode里对DTS搜索。

2023-03-31 21:05:41 656

原创 嵌入式Linux设备树下字符驱动编写框架的总结

【代码】嵌入式Linux设备树下字符驱动编写框架的总结。

2023-03-31 09:17:25 148

原创 嵌入式Linux驱动开发(五)设备树下的LED驱动开发

111

2023-03-20 21:21:19 134

原创 嵌入式Linux驱动开发(四)Linux设备树

111

2023-03-18 21:39:40 312

原创 嵌入式Linux驱动开发(三)新字符设备驱动

111

2023-03-18 14:56:19 460

原创 嵌入式Linux驱动开发(二)LED驱动

111

2023-03-09 20:16:04 448

原创 嵌入式Linux驱动开发(一)chrdevbase虚拟字符设备

111

2023-03-09 16:32:51 517

原创 嵌入式Linux(二十四)系统烧写

111

2023-03-04 17:01:49 824 1

原创 嵌入式Linux(二十三)根文件系统构建

111

2023-03-02 15:17:24 383

原创 嵌入式Linux(二十二)Linux内核分析及移植

111

2023-02-28 21:55:27 772

原创 嵌入式Linux(二十一)U-Boot图形化配置及其原理

111

2023-02-25 15:48:01 442

原创 嵌入式Linux(二十)U-Boot移植

111

2023-02-24 16:59:51 742

原创 嵌入式Linux(十九)U-Boot启动流程详解

111

2023-02-22 21:30:46 388

原创 嵌入式Linux(十八)Uboot顶层MakeFile

111

2023-02-22 18:30:11 312

原创 嵌入式Linux(十七)Linux系统移植之U-Boot

111

2023-01-12 19:13:23 1673

原创 嵌入式Linux(十六)多点电容触摸屏/PWM背光实验

111

2022-12-10 16:28:40 541

原创 嵌入式Linux(十五)SPI

111

2022-12-02 21:42:15 2796

原创 嵌入式Linux(十四)IIC

111

2022-11-29 17:06:14 624

原创 嵌入式Linux(十三)RTC实时时钟

111

2022-11-24 21:00:28 585

原创 嵌入式Linux(十二)RGBLCD

111

2022-11-23 21:15:20 1481 1

原创 嵌入式Linux(十一)DDR3

111

2022-11-22 21:56:07 745

原创 嵌入式Linux(十)串口

111

2022-11-22 15:50:39 635

原创 嵌入式Linux(九)高精度延时-GPT定时器

111

2022-11-20 17:39:44 611

原创 嵌入式Linux(八)EPIT定时器

111

2022-11-20 15:17:50 300

原创 嵌入式Linux(七)GPIO中断

111

2022-11-19 20:26:18 4016

原创 嵌入式Linux(六)主频和时钟配置实验

111

2022-11-17 16:18:23 524

原创 嵌入式Linux(五)按键&通用GPIO

111

2022-11-16 15:23:52 402

原创 嵌入式Linux(四)BSP工程管理 + 蜂鸣器实验

111

2022-11-15 20:18:30 458

原创 嵌入式Linux(三)模仿STM32驱动开发

111

2022-11-14 16:59:44 289

原创 嵌入式Linux(三)I.MX启动方式&C语言版LED

111

2022-11-14 14:13:28 270

原创 嵌入式Linux(二)汇编LED驱动实验

111

2022-11-10 21:14:31 376

原创 嵌入式Linux(一)(Makefile,Shell脚本)

111

2022-11-07 22:50:44 1120

原创 数据结构与算法之复杂度计算

111

2022-11-07 19:01:45 138

原创 leecode283:移动零

111

2022-11-07 17:07:24 61

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除