- 博客(178)
- 资源 (6)
- 收藏
- 关注
原创 OpenWrt编译系统(3)之深入探究库依赖错误:Package XXX is missing dependencies for the following libraries
原文迁移至:OpenWrt编译系统(3)之深入探究库依赖错误:Package XXX is missing dependencies for the following libraries
2019-01-09 20:07:35
3097
原创 OpenWrt/Android编译系统
原文迁移至:OpenWrt编译系统(1)之make之前OpenWrt编译系统(2)之lunch函数的细节OpenWrt编译系统(3)之深入探究库依赖错误:Package XXX is missing dependencies for the following libraries...
2018-12-12 21:59:02
1084
原创 Qt串口通信
一、简介随着物联网、智能化的浪潮,加上嵌入式设备硬件资源的限制,越来越多的通信模块开始倾向于串口,比如WiFi模块、BT模块、ZigBee模块等等。 串口的特点:1、通用。由于串口的悠久历史,就连8位机51都必含串口。2、易用易调试。硬件上来说,Rx/Tx/GND搞定;软件上,读写串口同样相当简易。而且,由于串口的普及,我们可以极其方便的结合PC上的串口工具辅助调试。3、稳定。基于以上原因,在开发...
2018-03-02 15:42:00
2150
原创 Linux内核好文推荐
http://www.wowotech.net这时2017年遇到的最好的博客网站,博客内容专注于Linux内核各个子系统的论述,着重分析解释框架及其背后的思想,当然也有示例佐证。首先,这里有知识:其次,这里的问答及讨论氛围也相当友好,重点突出,阅读他们也不失愉悦。其实非常想专注于做某一方面的事情,做到“知行合一”。毕竟学海无涯、余生短暂、又无天赋,就退而求术业专攻。毕竟,做出一件事很容易,而要做好...
2018-02-10 08:49:18
658
原创 vim去除^M及dos文件改为unix格式
http://blog.youkuaiyun.com/u013686019/article/details/79268994常识:Unix及类Unix系统里,每行结尾只有换行“\n”,Windows系统里面,每行结尾是换行+回车“\n\r”。利用Linux下的vim编辑器,可以方便的在dos文件、unix文件之间进行切换,且可以便利的去除恼人的^M符。vim file然后,:s
2018-02-06 11:50:48
14789
1
原创 Linux下挂载新的磁盘
http://blog.youkuaiyun.com/u013686019/article/details/792146281、# fdisk -l 查看分区表/dev/sda 磁盘大小53.7 GB,被分成了两个分区;/dev/sda 磁盘大小214.7 GB,尚无法使用,之后需要我们挂载它2、# cfdisk /dev/sda 查看sda磁盘的分区信息3、# cfd
2018-01-31 11:06:14
500
原创 R16开发板tina音频系统测试及tinyalsa移植
一、硬件上面红框是耳机插口,下面红框是Speaker插口。首先,接上Speaker后,在Android 4.4上,耳机和Speaker都可以正常工作;但是,烧录R16开发板tina系统LCD调试编译的最新Tina系统,不工作。二、调试表面上,执行命令:# cat cards /proc/asound/cards 0 [audiocodec ]: a
2018-01-19 18:19:26
2776
1
原创 R16开发板tina系统LCD调试
http://blog.youkuaiyun.com/u013686019/article/details/78934023一、环境准备1、开发板简介一款名为PARROT的板子,长相如下:LCD的基本参数:1280*800,LVDS接口,具体参数参见:tina/target/allwinner/astar-parrot/configs/sys_config.fex
2017-12-29 19:16:13
3564
转载 互斥锁陷阱:优先级反转、死锁
A higher priority task being delayed by a lower priority task in this manner is called ‘priority inversion’.
2017-12-24 19:32:41
2609
原创 STM32中断及其优先级
1、异常与中断2、优先级分组,NVIC_PriorityGroupConfig3、抢占优先级,NVIC_IRQChannelPreemptionPriority4、子(亚)优先级,NVIC_IRQChannelSubPriority5、中断号定义,NVIC_IRQChannel6、优先级配置的寄存器实现,NVIC_Init()的实现
2017-12-15 08:12:18
2138
转载 linux的进程优先级
为什么要有进程优先级?这似乎不用过多的解释,毕竟自从多任务操作系统诞生以来,进程执行占用cpu的能力就是一个必须要可以人为控制的事情。因为有的进程相对重要,而有的进程则没那么重要。
2017-12-03 20:43:20
1585
原创 进程间通信(3)本地socket
进程间通信(3)socket关于socket的基本知识参见Linux Socket编程。本文通过分析Telephony子系统学习Android如何使用本地socket进行IPC的。一、socket的创建在网络通信的世界中,socket通过"IP+协议+端口"连接彼此。1、socket声明在init.rcsocket rild stream 660 root radio字段规
2017-09-17 20:05:45
1610
原创 进程间通信(1)进程及通信需求来源
进程间通信(1)进程及通信需求来源一、进程在涉及进程间通信之前,我们需要稍叙下进程的概念。多角度看待进程:1、从操作系统的角度:进程是一段正在运行的程序,包括:一段可执行的代码一些必需的资源,如堆栈空间、文件、信号、内存等等2、从用户的角度:对用户来说是不存在进程概念的,用户看到就是一个个独立运行的应用程序,如浏览器、播放器等。3、从进程创建
2017-09-16 11:52:22
509
原创 Android更改源码后编译错误unknown package name of class file
最近往core_minimal.mk(build/target/product/)的PRODUCT_BOOT_JARS变量中加了一个自己的模块,编译报错:unknown package name of class file
2017-08-13 10:06:20
4477
原创 Android 6.0 开启Pre-optimization出现ClassNotFoundException异常
开启Pre-optimization功能只需在板级文件BoardConfig.mk设置:WITH_DEXPREOPT := true
2017-08-10 15:33:14
2738
1
原创 Linux内核Notifier机制
notifier是kernel的一种异步通信机制,用于告知某些模块产生了一个事件event。notifier涉及:1,publisher,类比于server、provider等概念,负责:提供一个notifier head链表供subscriber注册handler遍历head链表逐一告知subscriber发生了某个事件2,subscriber,类比于client
2017-07-24 15:06:52
5738
1
原创 Android 6.0 弹出"SD卡不受支持"通知的前因后果
1、"SD卡不受支持"通知的来源StorageNotification.java (frameworks\base\packages\systemui\src\com\android\systemui\usb)private void onDiskScannedInternal(DiskInfo disk, int volumeCount) { if (volumeCount == 0 &
2017-07-10 11:41:04
3174
原创 SDIO驱动(16)使用DMA传输数据2
DMA控制器驱动框架中的第二个函数:s3c24xx_dma_order_set(&s3c2440_dma_order);参数s3c2440_dma_order是一个全局变量,抽象的是下图物理channel和逻辑channel及其互相关系:static struct s3c24xx_dma_order __initdata s3c2440_dma_order = { .channe
2017-07-02 17:25:34
2178
原创 SDIO驱动(15)使用DMA传输数据1
硬件支持的数据传输方式:Normal:tasklet_init(&host->pio_tasklet, pio_tasklet, (unsigned long) host);最终调用pio_tasklet()函数完成数据的收发。DMA:即Direct Memory Access,在数据的传输的过程中不需要CPU直接参与。CPU坐镇中央、发号施令,具体的数据“搬运”工作由DMA这
2017-07-02 14:24:30
4459
原创 Android框架之Camera(3)透过Camera服务看Binder进程间通信
Android 6.0Android Binder用来管理Android进程,用途有两个:1、IPC(Inter Process Communication)工具,用于进程间通信。2、RPC(Remote Procedure Call)远程函数调用,使得当前进程调用另一个进程的函数就像调用自身的函数一样。当然,她也属于IPC范畴。
2017-06-18 16:30:14
1384
原创 Android框架之Camera(2)HAL及so库的加载
HAL层作为纽带,把Framework层的APIs和底层驱动连接起来。简言之,上层需要什么操作接口,HAL层就负责实现之。
2017-06-01 21:33:31
3226
原创 Android框架之Camera(1)Camera服务的前世今生
Android中Camera服务名称为“media.camera”,它是通过写到init.rc脚本文件、由脚本解析进程启动。
2017-05-31 17:05:13
2480
原创 SDIO驱动(12)card的扫描流程
在"SDIO驱动(9)Host注册"中提到,一旦host设备注册成功,接下来会启动一次扫描好获取并管理挂在该host上的card。如果是一张可以热插拔的card,当card插入/拔出时触发中断,同样启动扫描流程。
2017-05-28 22:08:47
3883
原创 SDIO驱动(11)Host是如何把数据发出去的
通过“SDIO驱动(10)Host的operations实现”的s3cmci_send_command函数知道了命令的发送方式,接下来分析数据的发送实现
2017-05-26 16:16:49
1747
原创 SDIO驱动(10)Host的operations实现
在“SDIO驱动(9)Host驱动probe实现”中简单介绍了host操作card的接口mmc_host_ops一些成员函数的作用,接下来分析下各个函数的实现。
2017-05-24 15:59:56
1381
原创 SDIO驱动(9)Host注册
如果系统支持debugfs,在/sys/kernel/debug/下有host的目录,可以查询host的信息。目录名称就是dev_set_name(&host->class_dev, "mmc%d", host->index)设置的device name。
2017-05-19 16:32:10
2038
原创 SDIO驱动(8)Host驱动实现
看C/C++的源码,我们从main函数开始,因为这是代码的入口;在driver的世界里,这个功能的担当是module_init
2017-05-17 21:42:16
2361
原创 Linux驱动中remove和shutdown的区别
remove/shutdown回调时机:(1)卸载驱动的时候,remove调用;(2)设备移除的时候,与设备关联的驱动需要移除,remove调用;(3)系统关机/重启的时候,shutdown调用.
2017-05-17 21:24:14
7407
原创 SDIO驱动(7)sdio总线结尾
1、uevent是什么?user event的缩写,用于kernel和user之间热插拔事件通信的机制。2、通信如何实现?内核中的netlink模块,即socket通信。3、典型例子:udev,Android等。
2017-05-12 14:47:44
1273
原创 SDIO驱动(5)sdio总线上的probe
sdio总线上driver和设备的match成功只是软件之间的”切口“,但是硬件的连通性、能不能工作还不知道,所以要probe探测一下。
2017-05-07 17:19:22
6131
IEEE802.11-2012
2018-01-24
Understanding the I2C Bus
2017-12-19
Linux_NFC_Subsystem
2017-10-17
Android Binder本地服务例程
2017-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人