[置顶] 本CSDN博主将与北京航天航空大学出版社合作出版<嵌入式C语言技术实战开发>一书

本书作者由以下成员合作编写:    杨源鑫,主编,毕业于广州科技贸易职业学院电子应用技术专业,在校期间一并考取了华南理工大学本科数字媒体艺术专业。2015年7月工作至今,任伟易达集团嵌入式系统工程师一职,主要从事单片机,linux,Android底层开发等相关的技术。   侯继红,副主编,广州科技贸易职业学院电子信息工程技术专业教师,主要担任单片机应用技术、CPLD/FPGA应用技术、PCB应用技...
阅读(417) 评论(2)

[置顶] 欢迎加入嵌入式软件开发QQ群

让我们一起组队战胜拖延症,欢迎加入嵌入式软件开发QQ群:这里将让你每天写代码,每天学点新知识,每个月写一个小项目。4个月后,你也可以成为一名初级的嵌入式软件开发工程师。博主本着开源精神,贡献知识,不收取任何费用!...
阅读(1104) 评论(1)

[置顶] 荣幸成为CSDN学院讲师,正在制作精华课程

今年2月份,受CSDN学院邀请,我很荣幸的成为了CSDN学院的讲师,正在制作优质的课程,帮助更多开发者入门。...
阅读(435) 评论(0)

C语言用fstat函数获取文件的大小

之前获取文件大小总是用死办法,open一个文件,然后lseek,read这样去获取文件的大小,这样的效率实在是低,还有可能粗心大意还会出错。一次偶然在Android的源代码中看到获取文件大小的函数,在以下范例中。用fstat这个函数可以避免这些问题。参考百度:http://baike.baidu.com/link?url=wh6msZkLUlTCx8P6YzujB3YoHaLLVaO68sQIIP...
阅读(37) 评论(0)

Android开发之编写第一个Android应用程序实现按钮和复选框

搞Android系统这么久了,说实话,我连apk怎么写还真是不会,说实话能够看懂,简单改改就不错了,说来惭愧,我是嵌入式出身。最近开始学习Android应用开发,和我的底层结合起来,为了工作,咬着牙也要学下去!!! 首先,我使用的是Android Studio这个软件。 上谷歌中国网就可以下载到了,地址如下: https://developer.android.google.cn/develop/...
阅读(70) 评论(0)

Android系统shell中的df命令实现

当我们在shell中敲击df这条命令的时候,会看到:root@android:/ # df Filesystem Size Used Free Blksize /dev 446.8M 36.0K 446.8M 4096 /mnt/secure 446.8M 0.0 K 446.8M 4096 ...
阅读(39) 评论(0)

Android系统shell中的clear命令实现

之前一直不太清楚,当我们在shell命令行输入很多命令,会在屏幕上输出一些信息,为什么一执行clear这个命令以后,所有的信息就没了呢?现在终于搞明白了,找到了clear命令的源代码clear.c源码如下:#include int clear_main(int argc, char **argv) { /* This prints the clear screen and move c...
阅读(38) 评论(0)

手把手教你Tiny4412 Android5.0 定制 按下开发板上的按键通过广播发送到应用层

首先,处理按键按下后,可以通过发送广播让应用层识别按键事件,那么怎么来发送,可以找到下面这个文件:frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java对应这个文件,我们找到这个方法,代码很多,部分shenglue/** {@inheritDoc} */ @Override ...
阅读(362) 评论(0)

Tiny4412 Android5.0 定制media codecs相关的格式(二)

http://blog.csdn.net/morixinguan/article/details/73149058上一节说到4412的在Android 5.0源代码中支持了许多的格式,那么这些格式最终又是怎么确定的呢?找到以下这个文件:android-5.0.2/frameworks/base/media/java\android/media/MediaFile.java/* * Copyrig...
阅读(365) 评论(0)

获取Android的MAC地址

在Android平台上,如果在开始启动前去加载一个测试程序,该测试程序的功能是去读取wifi的mac地址,然后显示出来,显示的方式可以使用移植recovery源代码的miniui。那么读wifi的mac地址无疑便是要初始化,装载wifi驱动后,通过cat  /sys/class/net/wlan0/address去获取。实例程序如下,这里仅仅只获取mac地址,wifi初始化,装载模块的C程序不便提...
阅读(136) 评论(0)

Tiny4412 Android5.0 定制media codecs相关的格式

tiny4412 4412 Android 5.0系统上,支持以下的media格式,文件位于: device/friendly-arm/tiny4412/media_codecs.xml打开后我们可以看到这个xml包含相关的音视频编解码支持的格式: <!-- Copyright (C) 2012 The Android Open Source Project Licensed unde...
阅读(373) 评论(0)

Tiny4412 Android5.0 定制键值相关的文件

在4412中,开发板上只有四个按键,我们可以根据产品的需求自定义按键的功能。 在KeyEvent.java这个文件中,可以通过发出按键的事件,上报给上层。让上层app或者服务去接收处理。比如,我们可以看到这样的代码: 注释写得非常清楚,按下按键后,可以发出键值,按下的时间等等,也可以通过Android广播的形式去发送这些事件。 /** * Create a new key even...
阅读(411) 评论(0)

Android系统中的LOST.DIR文件夹介绍

LOST.DIR是专门收集Android系统运行时意外丢失的文件而设置的文件夹,其收集的内容包括系统因为意外而没能保存的各类内存、交换、暂存等数据,软件的缓存数据,以及其他各类文件。只要系统发生意外(如在连接电脑拷贝数据过程中拔掉USB线、不小心删除了SD卡里某程序数据文件夹或者软件突然无法正常运行等),便会将发生意外的文件移到此目录下,以数字序列名称代替该文件的扩展名。注意:1、可以删除LOST...
阅读(51) 评论(0)

Android5.0 Recovery源代码分析与定制---recovery UI相关(二)

http://blog.csdn.net/morixinguan/article/details/72858346引用我的代码片 在上一篇文章中,我们大致的介绍了recovery的启动流程,那么,recovery升级或者做双清的时候,那些图形动画又是如何实现的呢?我们来看看代码:      以下这段代码位于recovery/screen_ui.cppvoid ScreenRecoveryUI::I...
阅读(97) 评论(0)

Tiny4412 Android5.0 定制MTP显示的名字

找到frameworks/base/media/java/android/mtp/MtpDatabase.java找到以下方法: private int getDeviceProperty(int property, long[] outIntValue, char[] outStringValue) 对应的一个switch语句,找到以下case分支:case MtpConstants.DEVIC...
阅读(84) 评论(0)

线程等待执行完毕

关于线程等待,有一个很好的例子,代码如下:#include #include #include #include pthread_t tid ; void *thread(void *arg) { printf("1s\n"); sleep(1); printf("2s\n"); sleep(1); printf("3s\n"); sleep(1); } int main(vo...
阅读(48) 评论(0)

Window,Linux应用程序调试法----写文件调试程序法

Linux,一切皆文件,那么在Android系统本身,也是Linux+java罢了,也是在Linux的运行环境下。通常,我们在调试程序的都会使用printf。在Android中,我们会去使用logcat,现在,给大家介绍一种常用的调试方法,debug写文件调试法。在Android系统中,调试一个C应用程序可谓是极其不方便,为了保存log的完整性,于是,写文件调试法可以发挥重大的作用,下面给出一个例...
阅读(73) 评论(0)

Android5.0 Recovery源代码分析与定制(一)

在Tiny4412的Android5.0源代码中: bootable/recovery/recovery.cpp是recovery程序的主文件。 仔细一看,对比了其它平台的recovery源代码,除了MTK对Recovery做了相应的定制外,其它的平台几乎没有看到,关于MTK平台,后续再分析。 关于Android5.0的recovery,有什么功能,在recovery.cpp中开头就已经做了详细的...
阅读(533) 评论(5)

MTK81系列 OTA更新升级路径转换

众所周知,OTA更新有两种方式,一种是网上直接download的线上模式,一种是SD卡升级模式,在MTK中,升级ota的时候传进来的路径需要通过转换成外部SD卡或者内部EMMC的路径,然后recovery会去通过判断command里的参数来执行对应的OTA升级包:对应的,在bootable/recovery/mt_recovery.cpp中找到:这个函数,这个函数的作用就是做路径转换。const...
阅读(113) 评论(0)

Android WiFi--系统架构

1. 系统架构        Android WiFi系统引入了wpa_supplicant,它的整个WiFi系统以wpa_supplicant为核心来定义上层用户接口和下层驱动接口。整个WiFi系统架构如下图所示:   一切尽在上图中,下面将对每部分进行详细分析。1.1 WifiService        由SystemServer启动的时候生成的ConnecttivityService创建,...
阅读(248) 评论(0)

Android下音频的测试程序tinyalsa(录音,放音,查看声卡信息)

audio代码比较复杂,除了音频参数,我们平时客制化的地方不多。所以没有太深入了解。建议先抽空看看如下代码:kernel, linux alsa 架构:kernel-3.10/sound/soc/mediatek/kernel-3.10/Documentation/sound/alsa/soc/android 上层alsa接口external/tinyalsa/hal:vendor/mediate...
阅读(323) 评论(0)

MTK online

issuehttp://www.cnblogs.com/cyqx/category/724281.htmlAudiohttp://blog.csdn.net/gowyz/article/details/6019314Camerahttp://www.ccm99.com/thread-2841-1-1.html...
阅读(87) 评论(0)

Tiny4412上如何解决间断熄屏

最近在模仿RK在Tiny4412上写一个PCBA产测工具的程序,经常出现熄屏的现象,让我头痛不已,因为产测程序在生产测试的时候是不能失去界面显示的,所以,参考以下两篇文章,结合对应的内核代码,解决了问题,感谢两位大神的帮助:http://www.360doc.com/content/14/0611/16/7500195_385729149.shtmlhttp://blog.csdn.net/liu...
阅读(127) 评论(0)
476条 共24页1 2 3 4 5 ... 下一页 尾页
    欢迎加入嵌入式软件开发交流QQ群
    微信
    个人资料
    • 访问:442052次
    • 积分:8758
    • 等级:
    • 排名:第2014名
    • 原创:414篇
    • 转载:61篇
    • 译文:1篇
    • 评论:156条
    我的课程
    新浪微博
    博客专栏
    微信公众号
    扫一扫关注我的微信公众号
    干货分享
    最新评论