- 博客(9)
- 收藏
- 关注
原创 Linux性能分析专题之vmstat 解析
vmstat命令从字面上理解是虚拟内存统计,其实可以统计的信息不止这些vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。它能够对系统的整体情况进行统计,无法对某个进程进行深入分析。vmstat 工具提供了一种低开销的系统性能观察方式。(1)用法用法: vmstat [选项参数]或 vmstat [选项参数] [数字] [数字](2)功能:功能: 报告虚拟内存的统计信息,关于进程、内存、I/O等
2021-03-13 23:46:39
749
原创 Linux open系统调用的完整调用流程分析
系统调用,中断,异常是3种Linux用户空间切换到内核空间的方法今天以open系统调用为例,分析从用户空间层到内核空间层的完整流程我以安卓8.1源代码为例,对应的Linux内核版本是4.15.0谷歌专门为android定制了C库叫做bionic库给安卓系统层的c/c++代码调用,open()函数定义在下面:bionic/libc/bionic/open.cppint open(const char* pathname, int flags, …) {mode_t mode = 0;if ((f
2021-01-04 19:10:24
1685
原创 RT-Thread完整版如何使用Watchdog总结
今天在RT-Thread完整版开发过程中引入watchdog,踩到一个坑,系统一直重启,喂狗一直失败,搞了一天才解决,总结一下。我的RT-Thread完整版系统是最新版4.0.3(截止2020年12月30日),版本信息如下:\ | /- RT - Thread Operating System/ | \ 4.0.3 build Dec 30 20202006 - 2020 Copyright by rt-thread team我去官网参考例程,写了一个watchdog ...
2020-12-30 18:13:34
2957
1
原创 下载Linux内核并且编译系统然后用Qemu运行系统
从国内镜像下载Linux内核http://mirrors.aliyun.com/linux-kernel/v4.x/我下载的是tar zxvf linux-4.15.1.tar.gz然后tar zxvf linux-4.15.1.tar.gz命令解压内核然后进入内核源代码目录,执行下面的操作,分别制定架构以及对应的内核配置文件的使用以及在单核cpu与多核cpu里面的实现区别
spinlock_t lock1;spin_lock(&lock1);…临界区代码…spin_unlock(&lock1);还有其他一些自旋锁操作: spin_lock_irqsave不仅获得自旋锁,还停用本地CPU的中断,而spin_lock_bh则停用softIRQ(软中断)。用这两个操作获得的自旋锁必须用对应的接口释放,分别是spin_unlock_irqsave和spin_unlock_bh。spin_lock的初始化kernel/include/linux/spin
2020-10-12 17:18:42
7101
2
原创 裸机编程的延时函数与RT-Thread的延时函数的区别
在裸机(以stm32为例)编程中,常用的延时方法如下:1.循环法void delay_us(u16 time){u16 i=0;while(time–){i=10; //自己定义while(i–) ;}}//毫秒级的延时void delay_ms(u16 time){u16 i=0;while(time–){i=12000; //自己定义while(i–) ;}}2.SysTick定时器中断机制SysTick-系统定时器是CM3内核中的一个外设,内嵌在NVIC
2020-10-09 17:48:24
3832
原创 Android反汇编技术
我把RKExplorer.apk文件解压后得到如下:META-INF:存放的是签名信息,用来保证apk包的完整性和系统的安全的res:存放资源文件(图片,视频,音频)AndroidManifest.xml:程序全局配置文件classes.dex:Dalvik字节码resources.arsc 编译后的二进制资源文件APK包的完整打包流程:.java文件被javac编程成.class文件,然后通过DX工具被编译成.dex文件,最后使用Android打包工具(aapt)将.dex文件,资源文件以及
2020-10-09 12:02:25
989
原创 安装Ubuntu 20.04系统后只能识别4GB RAM里面的一半
Ubuntu20.04系统只能识别4G RAM里面的2GB今天用U盘给电脑重新安装Ubuntu 20.04系统,ram是4GB的,但是在系统安装好后free命令查看,发现只能识别到2GB,做了交叉实验发现ram没有坏,是正常的。如上图free命令只能识别到4GB物理内存的一半但是bios中可以识别到4GB,如下图:下面是各种排查过程的记录:通过uname -a命令查看cpu是X86_64的也就是64位的,同时我安装的ubuntu也是64位的,那么肯定可以支持4GB RAM,同时就算cpu是32位
2020-10-02 22:34:47
2963
2
原创 一种基于安卓系统的双屏异显技术的实现
一.技术的背景随着电梯广告传媒行业的飞速发展,双屏广告机应运而生,客户可以根据自己的需求,制作两个屏幕的内容,分别播放适合屏幕显示方式播放的内容,如上面播放视频,下面播放图片,使得宣传的效果多样化。基于市场的需求,研发出了基于rk3288平台的双屏异显广告机。二.技术方案的具体实现1.硬件层面的实现原理RK3188 PX3 RK3288 RK3399 的 SOC 内部,都有集成两个 LCD...
2020-10-02 16:48:45
678
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人