- 博客(21)
- 资源 (5)
- 收藏
- 关注
转载 Linux内核中用到do while(0)的用途
linux内核和其他一些开源的代码中,经常会遇到这样的代码:do{…}while(0)这样的代码一看就不是一个循环,do…while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{…}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:1、辅助定义复杂的宏,避免引用的时候出错:举例来说,假设你需要定义这样一个宏:#define D...
2020-03-27 00:20:37 241
原创 linux内核中等待队列和poll轮训
linux内核中等待队列和poll轮训等待队列阻塞与非阻塞的概念与区别总结异步和同步概念与区别 (五大io模型)休眠机制:使用过程1.创建等待队列头2.在需要休眠的地方调用休眠操作3.在满足条件的地方唤醒等待队列4.提前知识等待队列阻塞与非阻塞的概念与区别阻塞:非阻塞:总结异步和同步概念与区别 (五大io模型)五大io模型休眠机制:使用过程1.创建等待队列头2.在需要休眠的地...
2020-03-26 22:43:48 567
原创 LINUX内核中断编程及等待队列
今天学习关于内核的中断抛砖引玉:提出问题:1.请简述中断的处理过程贴上一个百科知识中断还找了一个关于异常和中断的关系的中断与异常的区别 CPU对中断处理的流程我们首先必须了解CPU在接收到中断信号时会做什么。没办法,操作系统必须了解硬件的机制,不配合硬件就寸步难行。现在我们假定内核已被初始化,CPU在保护模式下运行。 CPU执行完一条指令后,下一条指令的逻辑地址存放在cs...
2020-03-25 21:57:42 406
原创 linux高级内核函数接口使用(二)
前一篇文章介绍了 open read write 的基本使用方法今天学习lseek和release的使用:同昨天一样是系统应用层与内核层相互配合使用的lseek函数系统层:所需要头文件:#include <sys/types.h>#include <unistd.h>参数:fd 表示要操作的文件描述符offset是相对于whence(基准)的偏移量wh...
2020-03-24 17:21:06 315
原创 3.23linux内核中函数接口的使用
以之前学习的杂项设备,早期经典字符设备,和标准字符设备来看,其中有一个很重要的,也被称为设备核心数据结构中的file_operations。 这个结构体中提供了多个函数接口我们去把他分析分析看:/** * author:hasen * 参考:《linux设备驱动开发详解》和sunsea1026的CSDN博客 * 作用:方便自己参考查阅 */struct file_operations...
2020-03-23 16:29:39 324
原创 嵌入式LINUX和stm32下的嵌入式差异
想到这个问题,毕竟是选择入行的岔路口,然后就查找一下资料下面附上 查看过后有用的链接:从四个方向介绍了差异还找到一个帖子讨论讨论stm32与linux驱动当然难度越大,待遇越丰厚吧,需要好好学习linux了,...
2020-03-20 00:29:23 1471
原创 为何说在LINUX中一切皆文件?
关于linux下一切皆文件的思考linux和windows的区别了解一切皆文件的内容文件解析图虚拟文件系统VFS文件系统linux和windows的区别今天突然想到 在linux中 我们所熟知的一句话叫做,“linux下一切皆文件”于是乎就查找在windows中 是什么样子的通过链接:Linux一切皆文件(包含好处和弊端)里明白了 linux和window的区别以及各自的优缺点了解一切皆...
2020-03-20 00:11:16 2416
原创 linux面试题解答_NOTE
C语言部分:1、C语言中sizeof和strlen的区别答:sizeof:计算所占内存空间的大小,不受存储内容的影响。strlen:计算字符串的长度,以”\0“不计入字符串长度。sizeof是运算符,在编译时计算,参数是数组、指针、类型、对象、函数等;strlen是函数,在调用时计算,参数只能是字符型指针。2、C语言中的malloc和free与c++中的new及delete有什么区别答:...
2020-03-17 20:48:06 911
原创 引入模块化编程的原因
有一个帖子讨论了模块化编程的优缺点:模块化编程优缺点是什么?l来自百科搜索:下面内容摘自模块化编程思想为什么?看到一个在刚开始学习编程时候的知识点:程序遵循的标准是“低内聚高耦合”降低耦合度的方法1、 多使用模块化编程的思想,在编写之初,模块需要做什么功能、以后需要做哪些扩展,需要长时间的考虑。2、模块的功能化分尽可能的明确。也可以参考生成动态库的原则,删除一个模块(在不调...
2020-03-16 21:28:07 349
转载 mount和umount指令学习
下面是man mount和 man umount后的 linux系统说明1、mount命令在Linux系统下,mount命令用于加载文件系统到指定的加载点。加载指定的文件系 统;mount可将指定设备中指定的文件系统加载到 Linux目录下(也就是装载点)。可将经常使用的设备写入文件/etc/fastab,以使系 统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中...
2020-03-16 21:07:24 558
原创 根文件系统和内核的关系
明儿要开始学习根文件系统的制作,先了解一下内核和根文件系统的关系:过于复杂直接贴 大佬总结的把。详细生动具体》,《Linux内核与根文件系统的关系详解此外还要大致了解一个linux系统的内核组成及其结构也来一个链接吧linux系统组成及结构至于制作过程,明儿更新...
2020-03-15 22:46:05 704
原创 概述U-BOOT启动流程
在看过一系列的文档后:据我所知u_boot原本是bootloader的一种:BootLoader分类有所以他的启动流程与大体的相似但又会因为他的发展(即越来越多的人完善使他的代码量超过了 本来预定的,其启动流程也随着改变)我学习的板子是tiny4412用的是armv7架构 所以今儿说这个其大体分为两个阶段arch级的初始化关闭中断,设置svc模式禁用MMU、TLB关键寄存器的设...
2020-03-13 00:24:43 428
原创 内存的分类以及各自特征
先说内存的含义:内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。 内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定...
2020-03-11 21:04:05 11669
原创 查找arm的相关资料
ARM在1990年成立,当初的名字是“Advanced RISC Machines Ltd.,”(进阶精简指令集机器)查找ARM架构的分类有哪些先明白架构和内核的关系,有一个大佬形象的总结了给贴 ARM内核和架构的关系(超形象)查一下采用Exynos4412处理器生产的手机...
2020-03-09 16:30:49 338
原创 嵌入式驱动组成概论3.9
嵌入式系统的组成:嵌入式设备的组成:硬件CPUi/o内存软件系统软件:应用软件:未来工作方向:硬件软件:1.嵌入式系统工程师:设计、开发嵌入式系统;构造嵌入式系统的框架结构、内核原理; 负责编写整体系统设计方案;分配嵌入式硬件工程师和嵌入式软件工程师工作,并对其进行技术指导;对客户进行系统技术支持。2.嵌入式驱动工程师:编写和意志各种处理器芯片...
2020-03-09 16:04:27 166
原创 开始学习qt
qt的安装一个是在linux上安装因为虚拟机是32位 但是其他只有在5.6之前版本才有32位的版本所以在虚拟机上安装的是5.5这里附上一个国内镜像源路径:https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.5/5.5.0/ 一个是在win10上这个是在这个清华源里应该也可以找到之后打开QTcreator 就可以开始你的qt学习之旅...
2020-03-05 23:42:24 151
原创 c++多态的续集
编程四大件??????++++++++++++++++++++++++++2.27回想一下多态的依赖类需要存在继承关系存在虚函数virtual派生类中存在和基类中相同的虚函数通过指针和引用访问类内的虚函数成员I对象的模型分类:简单对象模型:最为简单,在此模型下对象是由一系类的指针组成,均指向类内成员的方法或成员属性,每个数据成员和成员方法的在类中所占大小相同,指针大小,很容易...
2020-03-01 19:04:17 237
qt-everywhere-opensource-src-4.8.6.tar.gz
2020-11-06
qtopia-core-opensource-src-4.2.0.tar.gz
2020-11-06
挂载脚本与使用的udev规则
2020-07-24
Mysql(MariaDB).rar
2020-02-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人