- 博客(21)
- 资源 (9)
- 收藏
- 关注
原创 Linux驱动开发——并发和竞态(概念介绍①)
文章目录Linux内核并发和竞态案例一:案例二:分析相关概念Linux内核解决竞态引起的异常(漏洞)的方法Linux内核并发和竞态案例一:前面就发现了在Linux内核中使用全局变量或者多线程可能同时访问的区域会遇到竞态的问题,比如前面的定时器使用的实现部分就发生了并发问题。Linux驱动开发——定时器造成这样的原因是因为当我们按下按键的时候会操作多次按键中断触发,而在按键中断处理函数中会...
2019-12-30 22:17:28 485 1
原创 Linux驱动开发——定时器
文章目录Linux内核定时器硬件定时器硬件定时器特点硬件定时器对应的中断处理函数Linux内核跟时间相关的概念软件定时器Linux内核软件定时器的特点Linux内核软件定时器的相关数据结构和配套函数Linux内核定时器硬件定时器硬件定时器特点硬件定时器能够按照一定的频率周期性的有规律的给CPU发送中断信号,发送中断的频率(周期)可以通过软件编程来设置,硬件定时器产生的中断信号可以称之为时...
2019-12-30 21:49:24 2110 2
原创 Linux驱动开发——(使用中断处理)gpio(6)
文章目录Linux内核中断编程为什么会有中断机制?中断的硬件触发流程使用中断处理编程Linux内核中断编程的操作步骤驱动开发中断处理相关函数API示例(按键中断触发)代码实现:执行结果:Linux内核中断编程为什么会有中断机制?中断产生的根本原因就是因为外设的数据处理速度远远慢于CPU,比如使用CPU读取UART接收缓冲区的数据,当使用CPU读取UART接收缓冲区的数据时,发现UART接收...
2019-12-29 09:51:56 6423
原创 Linux驱动开发——(次设备号使用及混杂设备驱动开发)gpio(5)
文章目录次设备号使用及混杂设备驱动开发使用次设备号字符设备驱动——struct file数据结构案例:将四个LED灯作为四个相同的设备个体,共享一个驱动,但是对应不同的次设备号。驱动示例代码实现:示例运行:Linux混杂设备驱动开发Linux内核混杂设备特点Linux内核描述混杂设备的数据结构代码示例(gpio-led):执行结果次设备号使用及混杂设备驱动开发使用次设备号之前我们都是使用一...
2019-12-28 22:26:36 706
原创 Linux驱动开发——(Linux内核字符设备文件的自动创建)gpio(4)
文章目录Linux内核字符设备文件的自动创建自动创建字符设备文件概述字符设备文件的自动创建只需要“三个保证”+“四个函数”三个保证四个函数修改之前LED驱动代码运行结果Linux内核字符设备文件的自动创建前面已经描述过通过mknod命令可以手动创建字符设备文件,那么如何实现自动创建设备文件呢?自动创建字符设备文件概述字符设备文件的自动创建只需要“三个保证”+“四个函数”三个保证保证...
2019-12-28 21:07:35 774
原创 Linux驱动开发——(linux内核字符设备硬件操作接口之ioctl)gpio(3)
文章目录linux内核字符设备硬件操作接口之ioctlioctl系统调用函数的使用使用参考:对应的底层驱动的ioctl接口LED灯使用示例:操作流程:linux内核字符设备硬件操作接口之ioctlioctl系统调用函数的使用对于ioctl这个系统调用接口,Linux的创始人在2.0版本之前并没有进行添加,仅有write和read两个接口,但是后来发现当需要去控制文件的某些操作的时候,很显...
2019-12-27 21:45:35 1740 1
原创 QT——键盘事件(捕获按键事件)
qt增加按键事件处理响应在使用qt时,当需要处理按键触发的键盘事件的时候,需要用到事件触发响应。查阅文档,QT已经实现了这一系列的键盘事件
2019-12-27 11:14:37 11261 3
原创 linux嵌入式移植部分配置
取消文件系统登录信息(文件系统自动登录) 开发板网卡IP初始化配置 静态IP配置 DHCP动态指定IP获取 压缩包解压和打包操作 cpio解压和打包 gzip解压和打包
2019-12-24 17:12:55 314
原创 Linux驱动开发——(Linux内核系统调用实现原理)gpio(2)
文章目录Linux内核系统调用实现原理Linux设备驱动相关概念Linux内核设备驱动分类字符设备文件特点及属性字符设备文件创建的方法主设备号、次设备号、设备号Linux相关库函数字符设备相关数据结构配套相关函数编写Linux字符设备驱动步骤定义初始化硬件操作接口对象:定义初始化字符设备对象:最终向内核注册字符设备对象从内核卸载字符设备对象最后编写之前定义的设备接口具体内容示例具体代码:测试执行:...
2019-12-23 22:09:40 1148
原创 Linux驱动开发——(Linux内核GPIO操作库函数)gpio(1)
文章目录Linux内核GPIO操作库函数int gpio_request(unsigned gpio, const char *label)void gpio_free(unsigned gpio)int gpio_direction_output(unsigned gpio, int value)int gpio_direction_input(unsigned gpio)int gpio...
2019-12-23 20:33:08 2100
原创 arm嵌入式gdb移植和搭建远程gdb调试运行环境
文章目录概述gdb移植Linux嵌入式板子上单独运行移植准备编译移植ncurse库:编译移植gdb6.8:测试:gdb远程调试运行环境部署下载gdb编译gdb编译PC端编译开发板端测试实现遇到的问题概述在Linux下调试C/C++执行程序,不可避免需要用到调试工具,有些时候总是依赖打印debug很难快速定位问题,这时候就体现了gdb的重要性了。一般桌面系统如Ubuntu、Centos等可...
2019-12-21 23:08:54 2861
原创 Linux下使用脚本读取参数修改配置文件
文章目录概述清空目标文件并将新内容写入文件并保存。向目标文件中追加新的内容并保存。将目标文件中指定内容进行修改更换并保存。传参指定修改内容将目标文件中指定内容进行修改并保存。将传递参数修改为一个配置文件,每次执行时默认读取配置文件根据区中的内容修改对应的文件信息。添加条件判断,满足条件时执行5的操作。概述在Linux下经常会遇到需要使用脚本来自动修改配置文件内容的需求,针对这种情况,特别整...
2019-12-21 00:38:11 5565
原创 klogd&syslogd与dmesg-嵌入式系统获取linux内核log
文章目录概述klogd&syslogdklogddmesgdmesg获取内核log以及输出原理dmesg与x86中dmesg的区别使用方法内核log在klogd dmesg中的数据流klogd和dmesg的共同点和区别参考资料:概述有的时候运行linux内核的设备(现在市场上有很多智能设备运行android或GNU/Linux)发生了死机、挂起或其他不正常的行为,但是该设备并没有连接...
2019-12-19 22:56:11 3450 1
原创 C基础——使用printf打印各种数据类型的方式(示例)
1.转换说明符 2.特殊标志 3.格式字符串(格式) printf的格式控制的完整格式: 格式字符 关于printf函数的进一步说明: 补充(经常使用的方式):
2019-12-19 11:34:15 37888 3
原创 龙芯2K1000内核及文件系统烧写流程(恢复Boot内核引导配置及分区)
龙芯2K1000内核及文件系统烧写流@[toc](龙芯2K1000内核及文件系统烧写流)恢复龙芯2K1000板子上的/boot/文件内容及配置网络挂载内核及文件系统镜像启动tftp方式下载内核及文件系统镜像配置/boot配置启动目录解压文件系统镜像并保存在硬盘第一分区中。恢复龙芯2K1000板子上的/boot/文件内容及配置由于之前操作失误,将板子上/dev/sda1硬盘分区上的内容格式化了...
2019-12-18 09:30:00 6100 4
原创 ARM嵌入式——制作根文件系统并使用NFS挂载运行。
制作根文件系统并使用NFS挂载运行。上位机准备:准备busybox,安装menuconfig所需依赖的库:sudo apt-get install build-essentialsudo apt-get install libncurses5sudo apt-get install libncurses5-dev在busybox中执行make menuconfigLi...
2019-12-13 16:45:11 528
原创 使用U盘重新烧写龙芯自带系统loongnix
使用U盘重新烧写龙芯自带系统loongnix格式化U盘及将loongnix系统导入U盘。确认U盘文件系统类型为ext3,接下来使用dd命令将loongnix导入U盘中。root@ubuntu:/home/ww/loongson# dd if=loongnix-20190331.iso of=/dev/sdb4等待载入U盘完成。以上操作都是错误的。注意:dd操作后应该输入磁盘...
2019-12-06 17:43:35 2911 1
RK3568 制作kernel层logo分区镜像工具,用于制作kernel层logo动画
2022-11-22
readelf.zip
2021-05-13
SAP服务器安装最强教程.zip
2021-05-12
python生成数据可视化.zip
2020-08-02
UDP聊天室.zip
2020-07-16
基于ARM和OpenCV的增强现实平台研究.pdf
2019-11-03
Python编码报错问题【Ubuntu】
2023-02-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人