嵌入式Linux,
BSP软件工程师
展开
-
使用monkey命令来打开一个app
Knowin inSight10:/ # pm packge listadb shell monkey -p com.aispeech.player.eng -v 1原创 2021-04-19 17:12:30 · 1654 阅读 · 0 评论 -
android性能测试工具之dumpsys
补记: MAT(memory analyzer tool )是google 推荐的进行内存使用量分析的工具. 功能全面而强大!!!首先看一下dumpsys有哪些功能:dumpsys 用来给出手机中所有应用程序的信息,并且也会给出现在手机的状态。dumpsys [Option]meminfo 显示内存信息cpuinfo 显示CPU信息account 显示accounts信息activity 显示所有的activities的信息window 显示键盘,窗口和它们的关系wifi 显示wifi信息转载 2021-04-15 15:02:08 · 671 阅读 · 0 评论 -
stdout字符串过滤输出
功能把stdout的内容重定向到一个文件,然后从文件里面读取数据,再把数据对应的字符串给过滤掉,重新输出到stdout中代码// gcc xx.c -lpthread && ./a.out#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <fcntl.h>#include <sys/types.h>#include <sys/s原创 2021-02-25 18:08:37 · 666 阅读 · 0 评论 -
20210122发文补充截图
原创 2021-01-22 10:58:10 · 412 阅读 · 0 评论 -
【文章汇总】嵌入式Linux公众号
据悉,深圳某工程师沦为C语言笔试枪手修改cmdline 把内存改成512MB上拉电阻的作用剖析C语言是如何画出这样的三角形的c语言画谢宾斯基三角形Linux字符设备驱动实例哦,这是桶排序回答一个微信好友的创业问题Linux-C编程 / 多线程 / 如何终止某个线程?想要学好C++有哪些技巧?单片机外围模块漫谈之二,如何提高ADC转换精度多重 for 循环,如何提高效率?Linus 在圣诞节想提前放假做了这些解释,哈哈哈一步步分析-C语言如何面向对象编程测试内存对齐对运行速度的影响原创 2021-01-08 16:55:54 · 15121 阅读 · 0 评论 -
Android apk签名
set in_pk8="D:\MTK\key\security\platform.pk8"set in_x509_pem="D:\MTK\key\security\platform.x509.pem"set out_name=out.keystore.platformset out_alias="is05"set storePassword=12345678set keyPassword=12345678set tmp_file1=platform.p12set tmp_file2=pla原创 2020-07-23 18:15:14 · 584 阅读 · 0 评论 -
思必驰算法库录音日志~
130|Knowin inSight13:/ # ^C130|Knowin inSight13:/ # ^C130|Knowin inSight13:/ # logcat |grep AudioHal05-06 11:53:59.660 1620 1620 D AudioHal_VoiceRecorder: onCreate(), mDurationMinute=005-06 11:5...原创 2020-05-06 15:06:10 · 969 阅读 · 0 评论 -
Linux下 aw9523-gpio口控制Led驱动
/* * linux/drivers/leds/leds-aw9523b.c * * aw9523b i2c led driver * * Copyright 2020, Howrd <howrd@21cn.com> * */#include <linux/module.h>#include <linux/delay.h>#include ...原创 2020-03-14 20:16:45 · 3071 阅读 · 5 评论 -
Linux 通用gpio口驱动,rockchip
dts文件 gpio_rs485: gpio_rs485 { status = "okay"; compatible = "gpio,px30-gpio"; cname = "rs485"; en-gpio = <&gpio3 12 GPIO_ACTIVE_HIGH>; };驱动文件#include &l...原创 2020-03-11 17:11:11 · 1695 阅读 · 0 评论 -
linux一些基础知识
linux面试题及答案一.填空题:1. 在Linux系统中,以 文件 方式访问设备 。2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。3. Linux文件系统中每个文件用 i节点来标识。4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。5. 链接分为: 硬链接 和 符号链接。6. 超级块包含了i节点表转载 2013-04-09 21:56:04 · 3149 阅读 · 0 评论 -
linux模块加载和模块卸载时出现的问题
在编写驱动程序的时候有时候会出现这种情况,模块加载之后不能卸载或卸载之后不能在加载,cat /proc/devices 后发现设备还占用着设备号,这种情况下,再次加载驱动模块肯定不会成功,必须重新启动才可以解决。最近仔细看书后发现自己在驱动程序的卸载函数中少写了两个函数调用,以至于在加载模块的时候申请或添加的设备没有被释放或删除。解决方案:第一步、在/lib/modules/目录中建立转载 2013-04-10 10:31:22 · 2548 阅读 · 0 评论 -
嵌入式linux文件系统
嵌入式linux文件系统操作系统中最重要的莫过于“进程管理”和“文件系统”两大部分,而linux从一开始就把外部设备当成是“文件”处理。从某种意义来讲,凡是能够产生或接受消息的都是“文件”以下是几种文件的含义1、一种特定的文件格式,如FAE32,EXT2,EXT3等;2、按特定的格式格式化了的存储介质,嵌入式系统中的安装卸载文件系统就是这个意思;3、操作系统用来管理文件系统以及原创 2013-04-21 15:18:19 · 1476 阅读 · 1 评论 -
linux我回来了
如题我想说、linux我又要回来了、不是为了什么就是为了原先刚开始喜欢你的感情一样离开了这么久、学了几行JAVA、搞了一下安卓、不过我还是回到了linux庆幸的是、当初我把我的系统备份了下来、没有删除、所以一切都感觉很熟悉原创 2013-04-15 21:44:20 · 1488 阅读 · 2 评论 -
驱动程序操作IO口API函数
驱动程序总会操作一些CPU的IO口下面列一些常用函数int check_region(unsigned int from,unsigned int extent);这个函数查看系统的I/O表,看是否有别的驱动程序占用某一段的I/o口参数1:端口基地址参数2:端口占用范围返回:0为没有占用 非0 为已经有驱动占用void request_region(unsi原创 2013-04-24 19:57:20 · 1863 阅读 · 0 评论 -
建立交叉编译环境
做什么之前没有编译器是不行的、1、打开终端运行arm-linux-gcc -v如果提示这个命令不存在,好吧、照着下面的步骤安装一个吧在Linux 平台下,要为开发板编译内核,图形界面Qtopia ,bootloader,还有其他一些应用程序,均需要交叉编译工具链。 之前的系统,要使用不同的编译器版本才能正常编译各个部分,因此要在开发过程不断切换设置,这十分不利于初学原创 2013-04-16 22:24:51 · 1525 阅读 · 1 评论 -
三星的S3C2440A 存储器控制器
对存储器的BANK那个东西我一直是一知半解,感觉很模糊、关于ARM的体系结构可能学得不够深入三星S3C2440A的存储器控制器s3c2440A 的存储器控制器提供访问外部存储器所需的存储器控制信号。s3c2440A 的存储器控制器有以下特性:- 大小端(通过软件选择)- 地址空间:每个bank有128M 的字节(总共1G 字节/8 个banks )- 可编程的访问位原创 2013-04-16 20:28:53 · 2433 阅读 · 4 评论 -
linux Hello World 模块编程
折腾了差不多一个晚上:1、关于在前面加上TAB,这个是有必要的、2、Makefile的编写也是有些差异的3、关于内核的版本可以通过uname -r来查看一下我不想粘贴代码上来、用截图比较好、因为里面的写法有写地方需要tab键、http://hi.baidu.com/wstone_h/item/8c9bc8256035bc8a9d63d1e7原创 2013-04-17 22:17:15 · 1002 阅读 · 0 评论 -
VMware 下Linux无法上网 新增支持WIFI方式 无线连接
试过很管用、如果宿主机可以上网、不管是有线还是无线、只在在连接网络那里是.net的方式就可以正常上网的ADSL-VMware 共享上网单机环境,ADSL拨号上网,安装VMware后,客户机如何与宿主机共享上网?网友经常问这个问题,其实已经不是什么新问题了。为了方便大家还有新手,今天有功夫就写下来,希望方便大家参考。为了具有针对性,我就拿自己的机器做为参照对象。上网方式1:北京网通A转载 2013-04-18 23:02:17 · 2327 阅读 · 0 评论 -
linux下的字符设备驱动
Linux字符设备驱动程序的一个简单示例一.开发环境:主 机:VMWare--Fedora 9开发板:友善之臂mini2440--256MB Nandflash 编译器:arm-linux-gcc-4.3.2 二.驱动源码:该源码很浅显易懂,非常适合初学者。memdev.h#ifndef _MEMDEV_H_#define _MEMDEV_H_转载 2013-04-18 21:23:31 · 1157 阅读 · 0 评论 -
查看linux IO地址范围
端口统一编址原理是把IO控制器中的端口地址归入存储器寻址空间范围内,因此这种编址方式也成为存储器映像编址。CPU访问一个端口的操作与访问内存的操作一样,也使用访问内存的指令。在linux下可以查看设置的IO地址范围原创 2013-05-02 15:44:42 · 2348 阅读 · 0 评论 -
Ubuntu通过修改配置文件进行网络配置
Ubuntu系统进行网络配置有的时候用图形界面不起作用,这种情况下可以直接修改某些启动脚本或配置文件Ubuntu系统进行网络配置涉及到几个配置文件1./etc/network/interfaces 2./etc/resolv.conf操纵步骤:1.打开ubuntu的/etc/network/interfaces文件默认的内容如下:auto loiface l转载 2013-05-06 09:25:57 · 2931 阅读 · 0 评论 -
samba
已经有人做得非常好的点击打开链接 http://blog.csdn.net/xxuanwan/article/details/2891523如果挂载不成功的话,你试试重起一下系统,再挂一下,再或者你mount /dev/cdrom /mnt/cdrom 如果/mnt/下面没有cdrom文件夹的话也会出错当然网络的话选桥接原创 2013-05-12 23:40:12 · 991 阅读 · 0 评论 -
mkimage command not found
UIMAGE arch/arm/boot/uImage"mkimage" command not found - U-Boot images will not be built Image arch/arm/boot/uImage is readycp: 无法获取"arch/arm/boot/uImage" 的文件状态(stat): 没有那个文件或目录使用make uIma转载 2013-05-20 22:56:58 · 1184 阅读 · 0 评论 -
linux内核下载 编译
linux内核下载网址今天去看了一场电影“疯狂的原始人”----回来的车上看到一个老奶奶传教士,我想对自己多,加油,加油学习,深思深思我们现在用的安霸系统,每搞一次我都会进行一次备份,一个系统加上GUI一起都有差不多一G多,而今天下载了最新的linux内核版本,才不80M左右、现在知道对于图像处理,所需要的东西真的是真多、解压mini2440的linux-2.6.32.2,然后原创 2013-05-19 19:10:34 · 1584 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(16)之LED 驱动程序移植
LED 驱动程序移植编者;对于led的驱动程序,很多文章都有详细的介绍,我的博客里面有一篇专门详解这个的。需要看的,可以找下。led灯的驱动其实就代表了I/O口的驱动。在linux系统下,操作一个I/O口,可以说实在是麻烦至极与裸机操作相比较的话。这里简介移植过程,没写分析。1 LED 驱动原理这个就给个图就够了,搞驱动要连这个都搞不懂,那就完了。转载 2013-05-09 11:04:59 · 1342 阅读 · 0 评论 -
linux目录树(书本上看到)
LINUX的目录树 /bin bin 是binary 的缩写。这个目录是对UNIX 系统习惯的沿袭,存放着使用者最经常使用的命令。例如:cp,ls,cat。 /boot 这里存放的是启动LINUX 时使用的一些核心文件。 /dev dev 是device(设备)的缩写。这个目录下是所有LINUX 的外部设备,其功能类似DOS 下的.sys 和Win 下的.vxd。在LIN原创 2013-05-10 20:47:00 · 976 阅读 · 0 评论 -
U-boot移槙
1、我是照着这里去移植的 http://blog.chinaunix.net/uid-26306203-id-3716785.html2、然后make 出现问题,到这里去有解决办法:http://blog.csdn.net/zjt289198457/article/details/6854177原创 2013-05-23 22:11:57 · 1087 阅读 · 0 评论 -
LCD驱动移植(二)
LCD驱动的话会在MINI2440里是向Plaform注册的一个驱动Plaform的话可以在网上查查这方面的资料,主要要注意这两个函数,如下:(1)platform_device_register()注册平台XX设备。(2)platform_driver_register()注册平台XX驱动。下面贴出LCD驱动在MINI2440里面的代码注册驱动的函数int __init原创 2013-05-13 21:19:55 · 1077 阅读 · 0 评论 -
mini2440驱动分析之LCD
mini2440集成了lcd控制器的接口,板子上接的lcd硬件是统宝240*320,TFT型lcd。lcd驱动对应的文件为s3c2410fb.c。要读懂这个驱动必须了解linux platform子系统的知识。因为这个驱动是以platform驱动的形式注册到内核。而且还需要frambuffer驱动的知识,因为这个驱动还是frambuffer接口的。lcd驱动在模块初始化的时候,调用platform原创 2013-05-14 22:54:10 · 1120 阅读 · 0 评论 -
LCD驱动移植(一)
一、种类LCD的种类比较多,有以下四种,不过现在我们用的大多是TFT液晶显示屏1、TN型显示器2、STN型彩色显示器3、DSTN型显示器4、TFT显示器二、LCD参数(1)尺寸 一般液晶屏使用对角线的长度表示屏幕的大小,单位是英寸.(2)分辨率(Resolution) 一幅图像被称作一帧(frame),每帧有若干行、列的像素数组成,常见的分辨率如原创 2013-05-09 11:15:47 · 1595 阅读 · 0 评论 -
linux platform 驱动模型分析
一. 概述 platform设备和驱动与linux设备模型密切相关。platform在linux设备模型中,其实就是一种虚拟总线没有对应的硬件结构。它的主要作用就是管理系统的外设资源,比如io内存,中断信号线。现在大多数处理器芯片都是soc,如s3c2440,它包括处理器内核(arm920t)和系统的外设(lcd接口,nandflash接口等)。linux在引入了platform机制之后转载 2013-05-14 22:43:02 · 853 阅读 · 0 评论 -
GIT非常好的整理
初始化配置C代码 #配置使用git仓库的人员姓名 git config --global user.name "Your Name Comes Here" #配置使用git仓库的人员email git config --global user.email you@yourdomain.example.com #配置到缓存 默认1转载 2013-08-20 14:32:53 · 1777 阅读 · 0 评论 -
linux驱动层获取当前的系统时间
#include #include #include /*添加到合适位置*/struct timex txc;struct rtc_time tm;do_gettimeofday(&(txc.time));rtc_time_to_tm(txc.time.tv_sec,&tm);printk(“UTC time :%d-%d-%d %d:%d:%d /n”,tm.tm_year原创 2013-08-13 17:36:01 · 3541 阅读 · 0 评论 -
安卓JNI传结构体
安卓层代码:package com.demouhf.uhfjni;import android.util.Log;class Foo { protected int len; protected String name;}public class Demouhf { static { try { Log.i("JNI", "wqf原创 2013-08-15 12:03:56 · 3046 阅读 · 2 评论 -
linux简单的字符设备驱动
#include #include #include #include #include MODULE_LICENSE("WQFDual BSD/GPL");MODULE_AUTHOR("WQFDriver Monkey");struct mmap_dev_t{ dev_t dev_num; char *dev_name; struct class* cls; ch原创 2013-08-30 20:46:47 · 981 阅读 · 0 评论 -
Linux多线程——使用互斥量同步线程
前文再续,书接上一回,在上一篇文章:Linux多线程——使用信号量同步线程中,我们留下了一个如何使用互斥量来进行线程同步的问题,本文将会给出互斥量的详细解说,并用一个互斥量解决上一篇文章中,要使用两个信号量才能解决的只有子线程结束了对输入的处理和统计后,主线程才能继续执行的问题。一、什么是互斥量互斥量是另一种用于多线程中的同步访问方法,它允许程序锁住某个对象转载 2013-09-06 16:53:10 · 1203 阅读 · 0 评论 -
无法连接上 cn.archive.ubuntu.com:80 (123.129.214.98)。 - connect (111: 拒绝连接)
今天用sudo apt-get install flex的时候出现了标题上的问题,不能连接。先ping了一下这个域名,发现能够ping的通,就是不懂为什么不能链接。接着从网上找相应的解决方法,有网友说是源出问题拉,权且认为是这个源的主机down了。然后从网上搜到与OS相对应的版本的源,我的是10.04,然后更改了源,就没问题了。具体如下:1. sudo gedit /etc/a转载 2013-09-10 21:53:40 · 28763 阅读 · 5 评论 -
ubuntu start
首先用你当初装ubuntu的方法进入live cd打开终端 输入以下命令:1:sudo -i2:fdisk -l (找一找你的ubuntu安装在那个分区)下面挂载原系统的根目录: mount /dev/sdax /mnt(x代表你Ubuntu所在分区编号) grub-install --root-directory=/mnt /dev/sda (注意:/mnt后面有 空格键原创 2013-09-06 21:43:24 · 2079 阅读 · 0 评论 -
linux下的I2C驱动记录(RK)
现在做的是RK平台的I2C驱动,不是说linux每个外设对设对应一个设备文件吗?可是找了一下一直没找到,今天特别搞了一下。I2C设备是注册为platform平台驱动的。下面看几个图。下面是我用adb命令查看的 linux的设备文件不一定只在dev/这个目录下面,像sys/ 目录下面也会有一些设备文件的MID下面的I2C设备的设备文件1|root@android:/ # ls sys原创 2013-09-04 16:49:48 · 6381 阅读 · 2 评论 -
在Ubuntu下安装jdk解压出现问题:./jdk-6u30-linux-i586.bin: 113: ./install.sfx.3631: not found
在Ubuntu下安装jdk解压出现问题:./jdk-6u30-linux-i586.bin: 113: ./install.sfx.3631: not found。Failed to extract the files. Please refer to the Troubleshooting section ofthe Installation Instructions on the d转载 2013-09-11 15:01:08 · 8558 阅读 · 2 评论