自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

董文会的博客

啥都不会的嵌入式工程师

  • 博客(6)
  • 收藏
  • 关注

原创 poll机制浅谈

本文在韦东山老师的教程基础上做了自己一些剖析,linux内核版本是2.6,如有错误欢迎指正系统调用poll的定义位于fs/select文件中,poll的系统调用采用SYSCALL_DEFINE3这个宏来定义, 先解释一下这个宏,我们知道老版本的内核系统调用的入口一般是在函数名称前加上sys_,新版本的系统调用均采用SYSCALL_DEFINEx宏来定义,x代表参数的接收的输入参数数量,宏的定义可以在syscalls.h文件中找到,其实细究的话发现这个宏会将poll函数最终也展开成sys_poll,具体这

2021-12-07 14:18:48 731 1

原创 Linux 实时性措施探讨

Linux 实时性措施探讨文章目录Linux 实时性措施探讨内核抢占主线版本和CONFIG_PREEMPT_RT补丁硬件选型和实时性内存管理内存映射和按需分页(Demand Paging)和内存锁定(Memory Locking)过需分配内存(overcommit memory)系统调用和缺页异常定时器软件时钟和高性能时钟定时器懒惰(timer slack)进程调度和CPU隔离调度策略和优先级实时策略普通策略CFS调度器异步任务应该用普通还是实时策略?调度事件调度延迟休眠还是忙等待?实时带宽限制控制组和实

2021-08-19 08:14:17 937 1

原创 X86-Linux下高精度延时方案的实现

问题描述最近项目上在开发Ethercat主站,需要用到高精度的延时机制,设计需求是1000us周期下,误差不能超过10%。由于项目硬件方案是X86,intel的处理器,熟悉linux的人都知道这个很难实现,当时评估方案的时候有些草率,直接用的PREEMPT_RT补丁+内核hrtimer+signal通知的方式来评估的。当时验证的结果也很满意,于是兴冲冲的高速领导说方案可行,殊不知自己挖了一个巨大的坑。。。实际项目开始的时候,发现这个方案根本行不通,有两个原因:signal通知只能通知到进程,而目

2021-08-13 08:35:14 797 2

原创 C/C++函数调用约定

[部分参考自https://blog.csdn.net/wenqiang1208/article/details/53163788]最近工作中遇到了一些动态库对接的问题,查了下C语言函数调用约定的相关内容,做一下总结:函数调用方式主要约定了关于函数参数入栈的顺序,以及栈资源回收的责任问题,因为这种原因,调用约定也直接影响了函数名修饰的方式函数的名字修饰就是编译器在编译期间创建的一个字符串,比如一般的_cdecl约定,假设一个函数名为func(int a),那它展开后的名字修饰为的为_func。用来指明

2021-04-29 09:44:04 232 2

原创 imx6ull非标准波特率的内核修改和应用配置

最近工作上需要用到非标波特率187500,以前用单片机的时候都是直接配置寄存器,所以没有觉得有什么区别。现在需要在linux的环境下开发应用程序,发现linux原生并不支持这种特殊的波特率。打开内核目录下drivers/tty/tty_ioctl.c,可以看到如下两组数组baud_table[]和baud_bits[]的值必须一一对应。baud_bits[]的成员定义在头文件inclue/uapi/asm-generic/termbits.h文件中,这里说明一下:这个文件因为有多个,对应到不同的板级目

2020-12-19 21:34:22 968 2

原创 使用git rebase进行多分支的开发工作

平时的开发过程中,经常需要单独开辟分支来维护某些细小的功能,比如修复bug,优化功能等。这些细微的改动可能在一周之内能产生十几个commit,如果用传统的merge来合并的话,分支会变得很乱,非常难看。最近经高人指点了解到可以用rebase来实现合并commits之后主分支是一条干净的线,所以今天试了试,总结一下。rebase原理rebase很多人翻译成变基,简述一下大概的原理,假设你现在在fixbug分支上做了两次commit,需要合并到master分支上。而目前master分支上已经有团队的成员做了

2020-12-07 23:13:32 1180 2

空空如也

空空如也

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

TA关注的人

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