Andy Pines
码龄8年
关注
提问 私信
  • 博客:207,222
    207,222
    总访问量
  • 85
    原创
  • 170,939
    排名
  • 71
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:你猜啊

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2017-02-20
博客简介:

liaojunwu的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    399
    当月
    7
个人成就
  • 获得131次点赞
  • 内容获得27次评论
  • 获得418次收藏
  • 代码片获得100次分享
创作历程
  • 1篇
    2024年
  • 9篇
    2023年
  • 8篇
    2022年
  • 8篇
    2021年
  • 21篇
    2020年
  • 22篇
    2019年
  • 19篇
    2018年
成就勋章
TA的专栏
  • IMX6ULL学习
    1篇
  • 数据结构
    5篇
  • snprintf
    1篇
  • makefile
    7篇
  • 编译
    1篇
  • 视音频数据处理学习
    3篇
  • C语言基础
    21篇
  • Linux基础
    32篇
  • C++基础
    9篇
  • git学习
    3篇
  • 驱动学习
    21篇
兴趣领域 设置
  • 服务器
    linux
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

替代imx6ull mfgtool的方法

既然都是linux系统,我完全可以参考mfgtool的实现,在自己的ubuntu上实现sd卡的烧写,节省时间。ubuntu系统的磁盘自动挂载功能是由udisks2.service做的,如果你的系统会自动挂载U盘,不妨使用systemctl status udisks2.service看看日志就知道自动挂载是不是它干的,那么怎么禁用它呢?就可以使用了,当然这个脚本我没有使用,有不对的地方日后来改或者你给我留言。,也要禁用系统的自动挂载用能,比如我的单板上的自动挂载功能如下, 禁用即可。
原创
发布博客 2024.03.17 ·
675 阅读 ·
13 点赞 ·
2 评论 ·
9 收藏

重新认识交叉编译

引用正点原子的话来讲就是:说得对,但是不全面,直到最近项目中遇到了一个例子我才重新认识什么是交叉编译。
原创
发布博客 2023.09.16 ·
216 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

shell的两种属性: 交互(interactive)与登录(login)

登录交互: /etc/profile->/etc/bash.bashrc->~/.bash_profile->~/.bash_login->~/.profile->~/.bashrc。展开/etc/profile又可以看到登录交互会去配置/etc/bash.bashrc。非登录交互: /etc/bash.bashrc->~/.bashrc。
原创
发布博客 2023.08.17 ·
487 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

原始套接字编程(AF_PACKET+SOCK_RAW)模拟一个PING

最近看一个客户的代码片段,发现他在用原始套接字编程,一般学习套接字都是流式套接字和数据报套接字,本来也不是搞网络的,原始套接字了解得很少,借着这次机会,自己来学习一下原始套接字编程。
原创
发布博客 2023.08.11 ·
1180 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

APUE学习62章终端(二): stty命令&特殊字符&终端标志

stty命令的英文解释:很明显stty有一个-F参数所以准确的说: stty命令是设置当前终端驱动程序(也有可能直接配置了硬件,这点目前不清楚)的属性,使当前终端的驱动程序能够使能/去使能一些特殊字符的识别与处理等等。
原创
发布博客 2023.08.02 ·
408 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

RS232线序公<->母

基础——DB9九孔母头、九针公头 (RS232)接口定义_db9公母头接口定义_口袋里のInit的博客-CSDN博客什么是RS232协议 - 简书。
原创
发布博客 2023.07.31 ·
978 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

APUE学习62章终端(一): 整体概览

我们又知道,UNIX/Linux连接到系统上的终端会抽象成字符设备比如:/dev/ttyn或者/dev/ttyUSBn, 所以上图又可以这样看: 终端设备交互主机设备的本质就是去操作主机设备上的/dev/ttyn或者/dev/ttyUSBn设备节点,或者说与主机设备的终端驱动程序打交道,而终端驱动就可以理解为一个虚拟的终端设备(因为它对外暴露了设备节点,使人可以对设备节点进行读写操作进而或者主机信息)因为AB用RS232线缆连接,我在设备B上输入信息或者命令并获得设备A的反馈)
原创
发布博客 2023.07.30 ·
187 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

为什么deferred probe将设备挂入延迟链表而不是将驱动挂入延迟链表

需要注意的是按照linux下的设备驱动模型,一个驱动可以匹配多个设备,如果某个probe出问题,用某种方法将驱动挂入链表尝试后续进行延迟probe则会出现问题: 假如dev0,dev1都能匹配drv,恰恰是与dev1匹配时probe出了问题,如果选择延迟probe的话,dev0、dev1都要调一次probe,而我们的期望是dev1与驱动匹配的时候只调一次probe就可以了。所以说综上所述,选择将设备挂入延迟链表是最佳的,既能兼容驱动先注册/驱动后注册的场景,又因为设备与驱动的唯一匹配性,避免发生问题。
原创
发布博客 2023.07.20 ·
1633 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

socket编程代码示例

【代码】socket编程代码示例。
原创
发布博客 2023.07.19 ·
1399 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

linux driver probe deferral 机制

在偶然的一次实验中(具体是pinctrl实验),我发现有些平台的pincontroller驱动起得很晚,而pinctrl client驱动却起得很早,在设备驱动模型中probe之前又会进行管脚复用的相关设置,按照常理来讲,这就产生了某种依赖性: pincontroller必须尽早启动,否则pinctrl client无法使用管脚复用功能,但实际上的效果并非如此,尽管pincontroller驱动起得很晚,但是client仍然能够正常使用pinctrl子系统提供的复用功能,这就是延迟probe机制。
原创
发布博客 2023.07.18 ·
1862 阅读 ·
5 点赞 ·
0 评论 ·
12 收藏

为什么Linux不支持中断嵌套

参考博客与资料FreeRTOS系列(1):基础知识——中断嵌套_猪哥-嵌入式的博客-CSDN博客_中断嵌套Linux中断管理 (1)Linux中断管理机制 - ArnoldLu - 博客园Linux支持中断嵌套吗?_denglin12315的博客-CSDN博客_linux中断嵌套linux kernel的中断子系统之(三):IRQ number和中断描述符1. 什么是中断嵌套中断嵌套指中断系统正在执行一个中断服务L时,有另一个优先级更高的中断H触发,这时中断系统会暂时中止当前正在执行
原创
发布博客 2022.05.28 ·
2163 阅读 ·
9 点赞 ·
0 评论 ·
24 收藏

中断上下文中的preempt count

参考博客:Linux上下文切换[转]_thonmin的博客-CSDN博客_linux 上下文切换中断子系统1. 背景<linux kernel的中断子系统之八:softirq>中讲到:softirq在同一个CPU上是串行的,这点体现在代码的哪里呢?./kernel/softirq.cwowo科技的文章中讲了两种场景,其中中断嵌套由于Linux不支持,所以暂时不讨论,只讨论下面的一个场景: softirq中的中断假设一个中断下半部softirq(随便什么..
原创
发布博客 2022.05.25 ·
402 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Linux抢占是如何发生的(3)?

参考博客:ARM V8指令集https://news.eda365.com/tech/cxsheji/12008119151469.htmlhttps://news.eda365.com/tech/cxsheji/12008119151469.htmlARM V8异常Linux ARMv8 异常向量表-BugMan-ChinaUnix博客本章接着《http://blog.chinaunix.net/uid-69947851-id-5830546.html[注]本文主要紧接上一篇文章,主要想说
原创
发布博客 2022.05.02 ·
466 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux抢占是如何发生的(2)?

参考博客:Linux CFS调度器之选择下一个需要调度的进程_liuhangtiant的博客-CSDN博客前言CFS调度器选择下一个要执行的进程时,基本原则是选择vruntime最小的进程,vruntime小意味着应该受到CPU的优待。但是在某些情况下,会对该原则有所违背,比如某个进程睡眠了一段时间,时间到了以后理应尽可能快的被调度,这个过程可能会导致当前进程被抢占,好端端的被抢占了,CPU在补偿了刚刚醒来的进程后,理应再补偿下被抢占的进程。发生在进程唤醒过程中的抢占事件进程睡眠和进程唤醒的...htt
原创
发布博客 2022.04.26 ·
266 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux抢占是如何发生的?

参考博客:抢占是如何发生的 - 云+社区 - 腾讯云抢占是如何发生的。相应的调度器核心层代码是sched_fork(),它再通过调度类的task_fork方法触发抢占:4进程修改nice值的时候如果进程修改nice值导致优先级高于CPU上的当前进程,也会触发抢占。执行抢占的时机触发抢占通过设置进程的TIF_NEED_RESCHED标志告诉调度器需要进行抢占操作了,但是真正执行抢占还要等内核代码发现这个标志才行,而内核代码只在设定的几个点上检查TIF_NEED_RESCHED标志,这也就是执行抢占的时机。
原创
发布博客 2022.03.12 ·
2483 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Race condition between wait_event and wake_up

参考资料 Stack Overflowlinux kernel - Wait queue and race condition - Stack Overflowhttps://stackoverflow.com/questions/62887408/wait-queue-and-race-conditionlinux kernel - race condition between wait_event and wake_up - Stack Overflowhttps://stackoverflow.c
原创
发布博客 2022.03.04 ·
179 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【编译错误】:对‘__aeabi_idivmod未定义的引用‘,对‘__aeabi_idiv‘未定义的引用

参考博客:解决undefined reference to `__aeabi_uidivmod\'和undefined reference to `__aeabi_uidiv\'错误-草根老师-ChinaUnix博客自己写裸机驱动程序时,使用了除法,在链接的时候出了如下错误:使用的编译器是:后来上网搜了一下原因,由于编译器不支持除法运算,但是也没有搜到解决方案。看了一下http://blog.chinaunix.net/uid-26833883-id-3282967.html1. 问题背景及...
原创
发布博客 2022.02.27 ·
1990 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

Makefile自动生成头文件依赖

【参考博客】:Makefile自动生成头文件依赖_hitwlh的专栏-CSDN博客以makefile编译c工程为例进行解释。在网上搜到的相关教程如下:http://blog.sina.com.cn/s/blog_4b3c1f950102dxh4.htmlhttp://blog.csdn.net/liangkaiming/article/details/6267357http://luzhi1024.blog.51cto.com/8845546/16507https://blog.csdn.net/hit
原创
发布博客 2022.02.12 ·
3186 阅读 ·
2 点赞 ·
0 评论 ·
9 收藏

互斥与同步之完成量

参考资料 《深入Linux设备驱动程序内核机制》参考资料《Linux Device Driver 3rd Edition》参考资料《Linux设备驱动开发详解4.0内核》参考资料《Documentation\scheduler\completion.txt》1. 完成量概述1.1 完成量与等待队列的关系完成量completion是基于等待队列实现的内核同步机制1.2 什么是完成量完成量用于一个执行单元等待另一个执行单元执行完成某事,该机制用来在多个执行路径之间作同步使
原创
发布博客 2021.11.17 ·
456 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux内核进程栈的两种架构

参考博文:Linux进程内核栈与thread_info结构详解--Linux进程的管理与调度(九)_OSKernelLAB(gatieme)-CSDN博客_thread_info浅析Linux下的task_struct结构体_lc_29503203的博客-CSDN博客_task_structlinux 进程内核栈 - 知乎ThreadInfo结构和内核栈的两种关系_半月旋空-CSDN博客一. 内核进程栈是什么1. 什么是进程进程是程序的一个执行实例,进程是一种动态描述,但需要注意的.
原创
发布博客 2021.09.24 ·
413 阅读 ·
2 点赞 ·
0 评论 ·
7 收藏
加载更多