- 博客(44)
- 资源 (13)
- 收藏
- 关注
原创 Linux中断简述
一 Linux中断机制由来:内核空间和用户空间是现代操作系统的两种工作模式,内核模块运行在内核空间,而用户态应用程序运行在用户空间,他们代表不同的级别,对系统资源有着不同的访问权限,内核模块运行在最高级别(内核态),这个级别下的所用操作都受系统信任,而应用程序运行在比较低级别的(用户态)。处理器总是处于以下状态中的一种:内核态:运行于进程上下文,内核态代表进程运行于内核空间内核态:运行于中...
2020-04-13 14:07:43
458
原创 面试题目积累
题目一:如何配置寄存器(1)通过手册:一、找到要操作IO口的基地址二、找到端口输入寄存器的地址偏移三、找到输入数据寄存器中具体的端口数据位(2)操作IO口一、找到基地址二、找到偏移地址,主要是以下几个寄存器:配置时钟使能:------RCC_APB2ENR端口配置高/低寄存器:CNF位、MODE位 -----GPIOx_CRH/GPIOx_CRH 端口输出数据寄存器: ...
2019-11-13 11:25:33
497
转载 面试积累——嵌入式软件工程师面试题
预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如...
2019-10-22 15:16:39
707
转载 大小端模式详解
1.问题引入加3g实验室的艰难之旅,遇到一道这样的实验室面试题:阅读以下代码,计算结果。int main(){ int a[5] = {1,2,3,4,5}; int *ptr2 = (int *)((long int)a+1); printf("%x",*ptr2); return 0;}**输出结果为2000000**原题对a强制...
2019-10-21 16:32:50
418
转载 static在C语言中的用法
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容复制代码代码如下:char a = 'A'; // global v...
2019-10-21 16:09:12
4414
转载 linux下简单模拟文件系统
整体思路:文件系统基于一个大文件实现大文件数据分为几个区域来模拟简单的文件系统1.User:username and password2.SuperBlock:blockSize,blockNum,inodeNum,blockFree3.blockBitmap:the use state of block area4.inodeBitmap:the use state of ...
2019-06-14 17:09:44
3336
转载 ADB 操作命令详解及用法大全
一、ADB是什么?二、ADB有什么作用?三、ADB命令语法单一设备/模拟器连接多个设备/模拟器连接四、ADB常用命令4.1 基本命令4.1.1 查看adb的版本信息4.1.2 启动adb4.1.3 停止adb4.1.4 以 root 权限运行 adbd4.1.5 指定 adb server 的网络端口4.1.5 查询已连接的设备/模拟器列表4.2 设备连接管理4.2.1...
2019-05-31 14:23:45
1975
转载 Android日常开发总结的技术经验60条
1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。2. 数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架LiteOrm库,超级清晰且重心可以放在业务上不用关心数据库细节。3. 全局变量放全局类中,模块私有放自己的管理类中,让常量清晰且集中.4. 不要相信庞大的管理类...
2019-05-31 09:57:17
470
原创 Android模拟事件keycode对照表
1.例子://这条命令相当于按了设备的Backkey键adb shell input keyevent 4 //可以解锁屏幕adb shell input keyevent 82//在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)adb shell input swipe 50 250 250 250 500//在屏幕上点击坐标点x=50 y=2...
2019-05-31 09:52:22
5895
转载 repo工具的使用
1.关于reporepo是Google开发的用于管理Android版本库的一个工具。repo并不是用来取代Git,而是用Python对Git进行了一定的封装,简化了对多个Git版本库的管理。对应repo管理的任何一个版本库,都需要使用Git命令进行操作。repo的使用过程大致如下:l运行repo init命令,克隆Android的一个清单库。这个清单库是通过XML技术建立的版本...
2019-05-28 14:53:15
2287
1
原创 system.img的打包和解压
1、解压system.img先用file命令查看system.img的文件类型ronny@ronny:~/tmp$ file system.imgsystem.img: data 我还没用simg2img转换ronny@ronny:~/tools/simg2img system.img s.img然后再用file命令ronny@ronny:~/tmp$ file s.imgs...
2019-05-20 11:31:02
3693
转载 各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解
一、编码历史与区别一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们。Let's go! 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 ...
2019-05-06 16:55:14
326
转载 爬取豆瓣top250
直接看代码吧:import requestsfrom bs4 import BeautifulSoupimport reimport pandasheaders = { 'Host':'movie.douban.com', 'Origin':'movie.douban.com', 'User-Agent':'Mozilla/5.0 (Linux; Androi...
2019-04-29 17:57:17
272
转载 Binder通信实例
服务端:#include <stdio.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <sys/mman.h>#inclu...
2019-04-03 15:06:17
515
原创 linux常用命令
dd、cpio、mount、ps、df、du一、dddd可以读取磁盘设备的内容(几乎是直接读取扇区),然后将整个设备备份成一个文件。dd if="input file" of="output file" bs="block size" count="number" skip="number"参数解析:if :就是输入源(文件或者设备)of :就是输出(文件或者设备)bs :规划一...
2019-03-19 17:03:04
396
原创 shell基本语法(一)
你在Linux环境下多试下就明白了:$0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个。$# 这个程式的参数个数$$ 这个程式的PID(脚本运行的当前进程ID号)$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误...
2019-03-06 17:53:39
112
原创 Linux调试宏的使用
Linux几个调试宏__FUNCTION__、 __TIME__ 、__LINE__、 __FILE__、 __DATA__(注意:前后都是两个下划线)这几个宏是编译器内置的,不是在哪个头文件中包含的直接上最简单的例子就好了,没必要多说。测试代码:test_time.c#include <stdio.h>int main(){ printf("The ...
2019-03-06 14:07:22
712
原创 bat脚本的一些小知识(不定时更新)
1.简单打印:@echo ------------------ 会打印一条线出来注:为了直观表示,可以加上双引号,如:@echo "------------------"2.时间打印:@echo %date%-%time% 打印结果为:2019/03/05 周二-16:59:44.373.等待输入...
2019-03-05 16:59:37
615
原创 bat脚本设置窗口颜色
比较简单,直接上代码:@echo offcolor 78echo ___________________________________________________________echo 设置默认的控制台前景和背景颜色(color)。 echo 指定控制台输出的颜色属性 ...
2019-03-05 16:50:56
6885
原创 python实现解压打包
直接上代码:#coding=utf-8import tkinterimport tkinter.filedialogimport zipfileimport osimport tkinter.simpledialogimport tkinter.messageboxclass Compress : def __init__(self): self.lis...
2019-02-28 15:06:33
723
转载 ZIP压缩算法详细分析及解压实例解释
原文:https://www.cnblogs.com/esingchan/p/3958962.html最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据压缩,两者本质上没啥区别,在数学家看来,都是映射。一方面在进行通信的时候,有必要将待传输的数据...
2019-02-26 13:42:24
507
原创 shell实现配置文件解析
需求:解析一个特定格式的文件(这个文件可以成为一个配置文件),逐行读取,并打印出来。 方案:while实现读取,然后用awk进行读取相应的值。 第一步:用while读取文件。 while read filedo………done < config.txt 这里file是一个变量,代表读的那一行,shell是弱数据类型语言,所以file这个变量是...
2019-02-22 10:30:50
3003
转载 拉普拉斯变换的本质意义(好文!通俗易懂)
转载:https://blog.youkuaiyun.com/ciscomonkey/article/details/85067036本文将从通俗的角度看待拉普拉斯变换。发明者奥列弗.赫维赛德,维多利亚时期英国人,全靠自学,听力残疾。很多人熟悉赫维赛德是因为MATLAB有一个赫维赛德(Heaviside)函数。赫维赛德简化了麦克斯韦方程组:即变化的电场产生磁场,变化的磁场产生电场。让20个方程组便...
2019-02-20 15:13:05
3702
转载 傅里叶变换
转载:https://blog.youkuaiyun.com/wenzhilu/article/details/79079183记得上大学的时候的机械振动还有工程测试利用的傅立叶变化,当时感觉云里雾里的,感觉好难,也就没有去搞,浑水摸鱼也就过来了,然后现在到了研究生阶段,发现傅立叶变换呀,卷积呀非常的重要,也是学术研究最基础的工具。在做人脸识别的时候刚好用上,所以静下心来学习一下,找了一些资料,感觉不错,...
2019-02-20 14:52:14
1089
转载 zip文件解析与利用
原文:https://blog.youkuaiyun.com/hp910315/article/details/77717746 我们知道android的apk文件实质就是一个zip文件,所以对于zip文件的研究是非常有必要的。一、Zip文件结构1、Zip文件可以包含多个使用不同压缩方式甚至不压缩的文件。 2、File Entry表示一个文件实体,一个压缩文件中有多个文件实体 3、文件实体由一...
2019-01-23 11:39:46
1496
转载 Android签名与校验过程详解
原文:https://blog.youkuaiyun.com/gulinxieying/article/details/78677487 目 录 一、签名与校验原理概要 21、数字签名简介 22、CMS简介 2二、signapk工具签名过程 4三、OTA校验过程 6 Android签名与校验过程详解一、签名与校验原理概要1、数字签名...
2019-01-23 11:35:39
3214
转载 Android签名机制之签名过程详解(一)
转载自:http://blog.youkuaiyun.com/jiangwei0910410003/article/details/50402000 一、前言 又是过了好长时间,没写文章的双手都有点难受了。今天是圣诞节,还是得上班。因为前几天有一个之前的同事,在申请微信SDK的时候,遇到签名的问题,问了我一下,结果把我难倒了。。我说Android中的签名大家都会熟悉的,就是为了安全,不让别人修...
2019-01-23 11:33:44
3752
转载 linux获取文件大小
原文:https://blog.youkuaiyun.com/qq_26093511/article/details/60109316 一、C语言fstat()函数:由文件描述词取得文件状态头文件:#include <sys/stat.h> #include <unistd.h>定义函数:int fstat(int fildes, struct stat *buf);...
2019-01-23 11:17:31
589
转载 zip文件格式
原文:https://blog.youkuaiyun.com/xiaobing1994/article/details/78367035 zip文件格式说明本人根据自己的学习过程,适当理解,并作下笔记,以便查阅。这里暂不包含zip64部分。整体结构简单归纳总结下,zip文件格式由文件数据区、中央目录结构,中央目录结束标志组成。其中中央目录结束节又有一个字段保存了中央目录结构的偏移。整体结构如下图...
2019-01-23 11:13:04
2514
转载 net use的用法
转自:https://blog.youkuaiyun.com/baidu_27474941/article/details/78495974 建立到远程主机的连接net use \\ip\ipc$ "password" /user:"username"建立新用户net user username password /add修改用户密码net user username newpassw...
2019-01-23 10:28:00
4653
转载 samba配置(二)
转自:https://www.cnblogs.com/zoulongbin/p/7229004.html需求:某公司销售部门提出一个文件共享需求,要求部门共享目录有三个,第一个共享目录所有销售部门人员都具有可读可写权限;第二个共享目录所有销售人员只读权限,经理级别的销售人员具有可读可写权限;第三个共享目录要求隐藏起来,只允许销售部门总监可见,并且具有可读可写权限,其他销售人员不可见。分...
2019-01-23 10:24:00
267
转载 samba 配置(一)
samba是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件。转自:https://www.cnblogs.com/zoulongbin/p/7216246.htmlsamba软件结构:/etc/samba/smb.conf #samba服务的主要配置文件/etc/samba/lmhosts ...
2019-01-23 10:21:53
851
原创 linux调试技巧
如果使用gcc作为编译器,那么开发过程中一定离不开使用与之配套的一个工具集(tool chain),即binutils。工具集中的部分工具除了被gcc在后台使用为我们创建程序文件外,其他的则有助于方便开发和调试。一些常见的嵌入式软件开发工具如下:as 是汇编编译器,用于将汇编代码转换为目标文件。addr2line 用于得到程序指令地址所对应的函数,以及函数所在的源文件名和函数。ar...
2019-01-03 17:17:57
2308
转载 vim操作大全
转载:https://blog.youkuaiyun.com/weixin_37657720/article/details/806459911. 关于Vimvim是我最喜欢的编辑器,也是Linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境不是中文,而你想使用中...
2018-12-12 16:50:51
195
转载 vim的使用教程
本文转自:https://blog.youkuaiyun.com/sumword_/article/details/53011463(vim从入门到放弃)vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有...
2018-12-12 13:58:34
119
原创 python 中pack和unpack的用法
Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典。通过这六种数据类型,我们可以完成大部分工作。但当Python需要通过网络与其他的平台进行交互的时候,必须考虑到将这些数据类型与其他平台或语言之间的类型进行互相转换问题。打个比方:C++写的客户端发送一个int型(4字...
2018-11-12 16:56:22
7318
原创 Python下实现按任意键继续
问题:如何在python中实现按任意键退出?分析:要实现此功能,思路是让程序处于暂停状态,等待并捕捉用户的一个键盘输入,然后继续执行。方案:我们可以利用python的内建库来实现,下面分别就Windows和linux给出具体实现。Windows:msvcrt 中的getch()方法,其作用是获取一个按键响应并返回对应的字符。如下:import msvcrtprint ord...
2018-11-12 11:25:22
23631
转载 函数指针与软件设计
转载自:https://blog.youkuaiyun.com/absurd/article/details/761943函数指针与软件设计 记得刚开始工作时,一位高手告诉我,说,longjmp和setjmp玩得不熟,就不要自称为C语言高手。当时我半信半疑,为了让自己向高手方向迈进,还是花了一点时间去学习longjmp和setjmp的用法。后来明白那不单是跳来跳去那样简单,而是一种高级的异常处理机...
2018-10-30 16:37:09
346
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人