- 博客(23)
- 资源 (114)
- 收藏
- 关注
原创 linux shell (三) Shell脚本调试技术
Shell脚本调试概述Shell脚本调试技术使用trap命令使用tee命令调试钩子使用Shell选项Shell脚本调试就是发现引发脚本错误的原因以及在脚本源代码中定位发生错误的行,常用的手段包括分析输出的错误信息,通过在脚本中加入调试语句,输出调试信息来辅助诊断错误,利用调试工具等
2015-08-30 00:14:23 463
原创 linux shell (二)正则表达式
正则表达式基础(1)元字符(metacharacters)是用来阐释字符表达式意义的字符,简言之,元字符就是描述字符的字符,它用于对字符表达式的内容、转换及各种操作信息进行描述。正则表达式是由一串字符和元字符构成的字符串,简称RE(Regular Expression)。正则表达式的主要功能是文本查询和字符串操作,正则表达式可以匹配文本的一个字符或字符集合。Linux是一套可免费使
2015-08-29 23:11:29 440
转载 Android (Linux) Suspend流程
1. Linux Suspend简介 Linux Suspend主要有以下三步: 1) 冻结用户态进程和内核态任务 2) 调用注册的设备的suspend的回调函数,顺序是按照注册顺序 3) 休眠核心设备和使CPU进入休眠态。 冻结进程(suspend_freeze_processes)是内核把进程列表中所有的进程的状态都设置为停止,并且保存所有进程的上
2015-08-20 23:39:59 764
转载 Android WiFi 应用程序例子
首先需要强调一点的是wifi只能在真机上测试! 在Android里,所有的wifi操作都在android.net.wifi包里,而常用的类也就只用几个,对于一般的开发人员来说,常用的操作也是有限的,不需要刻意的去记,用的时候现查就ok了,下面是《Android应用开发揭秘》里面关于wifi的范例,个人感觉还挺齐全,跟大家分享一下![java] view plain
2015-08-20 23:10:30 917
转载 Android WiFi系统
一、wpa_supplicant是什么? wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过soc
2015-08-20 23:04:44 453
转载 Android WiFi--系统架构(一)
1. 系统架构 Android WiFi系统引入了wpa_supplicant,它的整个WiFi系统以wpa_supplicant为核心来定义上层用户接口和下层驱动接口。整个WiFi系统架构如下图所示: 一切尽在上图中,下面将对每部分进行详细分析。1.1 WifiService 由SystemServer启动的时候生成的Connecttivity
2015-08-20 22:53:53 849
转载 软件开发流程
1. 产品需求定义产品需求定义的目标是:“清楚地描述要做的产品是什么样的?不涉及具体实现方法。”,其定义过程如下图所示。 此产品需求定义包括:软件+硬件。 2. 结构化设计方法的基本思路 按照需求,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务(即接受调用),也接受一个或多个子模块的服务(即调用子模块)。模块的概念,和编程语
2015-08-20 22:48:59 14305
转载 android /linux休眠与唤醒(三)
电源管理始终是手机等移动设备最重要的一个功能,尤其对于Android这种智能手机或者说手机电脑化的设备,电源管理更显得十分重要。Linux一直在传统的PC和服务器市场上有很好的应用,也有了比较好的电源管理框架,但是对于智能手机等嵌入式设备来说,Linux标准的电源管理就显得不是很适用了,有许多需要改进的地方。Android在这方面做了一些比较好的尝试,在这里我们将详细的介绍Android系统的电源
2015-08-15 20:08:24 1016
原创 android /linux休眠与唤醒(二)
如何进入休眠1. 当所有wake_lock被释放,自动进入休眠;2. echo mem > /sys/power/state;(也需要等待wake_lock全部释放才能进入suspend);2.2. 休眠主要步骤1. 冻结用户态进程、内核线程;2. 调用注册的设备的suspend回调,其顺序就是按照注册顺序;3. 休眠核心设备、使cpu进入休眠状态(或者关闭--supp
2015-08-14 20:01:53 3930
原创 linux设备模型(四 platform )
#include #include #include #include #include #include MODULE_AUTHOR("David Xie");MODULE_LICENSE("Dual BSD/GPL");static struct platform_device *my_device;static int __init
2015-08-13 23:27:19 454
原创 linux设备模型(三 device)
#include #include #include #include #include MODULE_AUTHOR("David Xie");MODULE_LICENSE("Dual BSD/GPL");extern struct device my_bus; extern struct bus_type my_bus_type;/*
2015-08-13 23:15:17 446
原创 linux 设备模型(二 driver)
#include #include #include #include #include MODULE_AUTHOR("David Xie");MODULE_LICENSE("Dual BSD/GPL");extern struct bus_type my_bus_type;static int my_probe(struct device
2015-08-13 23:12:19 446
原创 linux 设备模型(一 bus)
#include #include #include #include #include MODULE_AUTHOR("David Xie");MODULE_LICENSE("Dual BSD/GPL");static char *Version = "$Revision: 2.0 $";static int my_match(struct
2015-08-13 23:09:33 486
原创 android /linux休眠与唤醒(一)
请在休眠前,输入如下串口命令。 echo N > /sys/module/printk/parameters/console_suspend 否则控制台会被挂起,看不到休眠后的打印。 #include #include #include #include #include #include #include #include
2015-08-13 09:12:19 2210
原创 堆和栈
int main(){while(1);}BUILD://Program Size: Code=340 RO-data=252 RW-data=0 ZI-data=1632 编译后,就会发现这么个程序已用了1600多的RAM,要是在51单片机上,会心疼死了,这1600多的RAM跑哪儿去了,分析map,你会发现是堆和栈占用的,在startup_stm32f10x_md.s文件
2015-08-11 22:50:55 468
原创 linux 内核调试(一)
要先修改linux kernel 源代码的顶层Makefile CC = $(CROSS_COMPILE)gcc 修改为CC = $(CROSS_COMPILE)gcc -g这样编译的内核模块就带有debug信息 #arm-linux-objdump -S -D opps.ko>log#vi log这样就可以看到汇编和C源文件的混合代码
2015-08-07 22:57:58 1538
转载 Android Vold架构(二)
1. 总体架构2. 流程概览2.1 开启Vold2.2 引导Uevent2.3 处理事件 Vold - Volume Daemon存储类的守护进程,作为Android的一个本地服务,负责处理诸如SD、USB等存储类设备的插拔等事件。1. 总体架构Vold服务由volumeManager统一管控,它将具体任务分别分派给netlinkManager, commandLi
2015-08-06 12:30:43 2516
转载 linux 并发控制
竞态通常是在对共享资源的访问的时候产生的。当两个执行线程需要访问相同的数据结构时,就会出现。所以应该尽量少的使用共享数据。临界区:在任意的时刻,代码只能被一个线程执行。休眠:当linux进程到达某个时间点,此时他不能进行任何处理时,它将进入休眠状态,这将把处理器让给其他执行线程直到将来它能够继续完成自己的处理为止。Linux信号量的实现头文件信号量的声明和初始化:
2015-08-06 11:43:27 472
转载 从应用程序的角度看Binder (十)
从应用程序的角度看Binder一共有三个方面:Native 本地:例如BnABC,这是一个需要被继承和实现的类。 Proxy 代理:例如BpABC,这是一个在接口框架中被实现,但是在接口中没有体现的类。 客户端:例如客户端得到一个接口ABC,在调用的时候实际上被调用的是BpABC1. 本地功能(Bn)部分做的:实现BnABC:: OnTransact() 注册服务:ISer
2015-08-05 15:35:43 444
转载 android binder机制之三 Server Porxy
服务代理对象 上一篇android binder机制之--(我是Service Manager)我们学习了Service Manager(服务管家)在Android Binder中的作用——服务(Service)注册,服务(Service)查询和获取等功能。 我们知道Service Manager既是服务的管理对象,又是一个系统级的服务server(通过向驱动发
2015-08-05 14:54:11 565
转载 android binder机制之二 Service Manager
Service Manager 上篇文章android binder机制之--(我是binder)介绍了binder机制的概念,特点,应用模式和框架组成,这篇文章我们来介绍一下Android系统Binder机制的服务总管--Service Manager,service Manager在android binder机制中的低位那是相当重要了,所有的Server(System Se
2015-08-05 11:36:09 366
转载 android binder机制(一)
(一)什么是binder 随着android移动设备平台系统的发展,Binder机制得到越来越多人的关注的。什么是binder,总体上说,Binder是一个轻量级的IPC组件框架,binder是一个分布式的组件架构,它类似于COM和CORBA。一个叫做open-binder的开源项目,在Android的操作系统上的实现后,就成了现在人们在android上看到的binder。 所以
2015-08-05 10:21:25 449
RISC-V 体系结构原理与编程资料
2022-10-23
FatFs 文件系统在nor flash 移植
2022-09-03
CmBacktrace: ARM Cortex-M series MCU error tracking library
2022-08-28
en.stsw-stm32054_v3-6-0_en.stm32cubef1
2022-05-06
基于Ymodem协议串口升级程序的实现过程
2022-04-07
基于vs2019的lvgl模拟器lv_sim_visual_studio_sdl
2022-03-19
LvglFontTool_V0.3_littevgl
2021-09-26
LittleVGL模拟器环境a(CodeBlocks).rar
2021-09-18
darknet-master开源深度学习框架
2021-05-29
UGUI-master.7z
2021-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人