
嵌入式linux
文章平均质量分 87
likeping
这个作者很懒,什么都没留下…
展开
-
POLL原理分析(RT-Thread源码)
1.相关函数poll测试值常量 说明 备注 POLLIN 数据可读 POLLRDNORM 普通数据可读 POLLRDBAND 带数据可读 POLLPRI 高优先级数据可读 POLLOUT 数据可写 POLLWRNORM 普通数据可写 POLLWRBAND 带数据可写 错误常量 POLLERR 发生错误转载 2022-05-31 18:45:30 · 809 阅读 · 0 评论 -
ARM-GCC-LD脚本
从以前的经验,链接脚本是嵌入式开发,单片机开发相当重要的一个东西。它完成的工作是做PC机软件的同志们不用关心的,但是也是很复杂的一项工作。总结来看链接脚本要告诉连接器1:输出什么2:输入是什么,那么obj文件3:要用什么库,库放在什么地方4:内存分布地址5:提供启动代码一些全局地址变量一般来说链接脚本需要搞清楚这几样事情后才能编写,那arm-gcc-ld的脚本也...转载 2020-02-11 19:52:48 · 1095 阅读 · 0 评论 -
[转]Linux下的lds链接脚本详解
一、 概论每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制.链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情.连接器有个默认的内置连接脚本, 可用ld –verbose查看. 连接选项-r和-N可以影响默认的连接脚本(如何影响?).-T选...转载 2020-02-11 19:46:57 · 503 阅读 · 0 评论 -
对于蓝牙Profile的理解
什么是Profile?众所周知,蓝牙中有很多的profile,我们接触和学习蓝牙相关的开发不可避免的需要弄懂什么是Profile ,但它对于新手而言似乎没那么容易弄懂,即使是有经验者也很难形象的描述profile的含义,这里我尝试写下自己的理解,以便记录和总结,日后有新的理解不断更新。Profile中文译名有很多,比如配置文件,剖面,应用协议,轮廓等,每一种翻译代表了一种对于profile...转载 2019-06-26 17:19:09 · 4508 阅读 · 0 评论 -
Linux和Windows进程
《Unix编程艺术》倡导多进程架构,书中认为“相对独立地址空间的轻量级进程,线程是个糟糕的替代;线程是那些进程生成昂贵、IPC功能薄弱的操作系统的概念”;“基于线程的程序不仅产生普通的竞争问题,而且产生了新一类bug:时序依赖。”。确实Unix对线程确实不怎么看重,属于Unix文化范畴的Nginx、Python和Chrome都采取多进程的策略。Nginx默认情况下使用多进程模型,在生产环境下也不开转载 2015-07-31 17:42:16 · 704 阅读 · 0 评论 -
Android跟蓝牙耳机建立连接有两种方式
Android 跟蓝牙耳机建立连接有两种方式。 1. Android 主动跟蓝牙耳机连BluetoothSettings 中和蓝牙耳机配对上之后, BluetoothHeadsetService 会收到BONDING_CREATED_ACTION,这个时候BluetoothHeadsetService 会主动去和蓝牙耳机建立RFCOMM 连接。if (action.equa转载 2015-01-21 16:52:12 · 4116 阅读 · 0 评论 -
linux下 DMA管理
make menuconfig后,生成新的配置.config。make时候,把新配置文件转化为autoconf.h,使用时候一般应用为include/linux/autoconf.h->mmdebug.h->mm.h。可以直接引用。kconfig文件为menu的配置选项文件,功能设置比较简单,如下:config DMA_MEM tristate "DMA Reserver Me转载 2014-12-29 10:22:02 · 2792 阅读 · 0 评论 -
调试Bluetooth时的一些札记
LCL层是BT的链路控制功能的一部分,它从软件或被命令配置或控制的其他控制器上取命令,然后执行链路控制任务。蓝牙技术的系统结构分为三大部分:底层硬件模块、中间协议层和高层应用。底层硬件部分包括无线跳频(RF)、基带(BB)和链路管理(LM)。无线跳频层通过2.4GHz无需授权的ISM频段的微波,实现数据位流的过滤和传输,本层协议主要定义了蓝牙收发器在此频带正转载 2015-01-12 18:57:10 · 5213 阅读 · 0 评论 -
详解Linux内核之双向循环链表
本文详解了内核中面向对象的list结构的原理,以及如何以list为内嵌对象来构造自己的链表结构,如何从内嵌list对象获得自定义的对象指针;探讨了各种宏或者函数的详细使用方法及怎样以通用list结构来操作自定义对象。 【关键字】双向循环链表,list,list_entry,typeof,containerof,list_for_each, list_for_each_entry转载 2015-01-09 13:01:22 · 529 阅读 · 0 评论 -
深入分析 Linux 内核链表
深入分析 Linux 内核链表本文详细分析了 2.6.x 内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。 原来作者:杨沙洲 (pubb@163.net)国防科技大学计算机学院杨沙洲,目前在国防科技大学计算机学院攻读软件方向博士学位。对文中存在的技术问题,欢迎向 pubb@163.net质疑。转载 2015-01-08 15:27:48 · 437 阅读 · 0 评论 -
container_of()宏
在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointe转载 2015-01-06 17:31:48 · 371 阅读 · 0 评论