- 博客(81)
- 资源 (9)
- 收藏
- 关注
原创 EMMC 小工具
@ECHO off@ECHO Please get root permissionrem .\tool\adb wait-for-devicerem .\tool\adb reboot bootloaderrem .\tool\fastboot boot boot.imgrem .\tool\adb wait-for-device@ECHO -------------------...
2019-06-14 00:22:04
6711
1
原创 Vibrator的使用方法
1、MainActivity.javapackage com.example.vibratordemo;import android.app.Activity;import android.os.Bundle;import android.os.Vibrator;import android.view.Menu;import android.view.MenuItem;
2016-09-16 00:09:06
4543
原创 如何成为优秀的驱动开发工程师
作者:刘旭晖 Raymond转载请注明出处Email : colorant@163.comBLOG : http://blog.youkuaiyun.com/colorant/主页: http://sites.google.com/site/rgbbones/ 或许这样的标题,应该是由像Linus或Greg KH这样的大师级的高手才有资格写的吧。但是作为我来说,也许我更
2015-11-15 21:34:04
945
原创 va_list、va_start、va_arg、va_end等利用宏定义实现可变参数
#include //#include //#include //int sum(int n, ...);typedef void* va_list;#define _INTSIZEOF(arg) ((sizeof(arg) + sizeof(int) - 1)&(~(sizeof(int) - 1))) //字节对齐,针对32位系统#define va_start(arg,
2015-01-31 21:13:03
2142
原创 openwrt-安装-驱动-应用-lcd2004a实验
1. 板子f403tech的RT5350的板子和(1)openWRT系统的定义和特点 OpenWrt是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。 OpenWrt支持各种处理器架构,无论是对ARM,X86,PowerPC或者MIPS都有很好的支持。
2014-10-29 23:00:40
4339
原创 Qt 4.6.3移植最终版
1 下载源码: ftp://ftp.qt.nokia.com/qt/source/ 官方源码:qt-everywhere-opensource-src-4.6.3.tar.gz 开发内核: Linux2.6.30 编译链版本:arm-linux-gcc 4.1.22 移植触摸屏sudo apt-get install autoconfsudo apt-get
2014-08-30 21:54:06
2151
原创 分析USB平台设备模型框架(1)
start_kernel rest_init(); kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND); do_basic_setup(); driver_init(); void __init driver_init(void) void __init driver_init(vo
2014-07-19 16:14:36
1337
原创 GEC_LCD实验
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static
2014-07-17 13:57:20
862
转载 Linux下的多线程编程
1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用
2014-06-22 18:58:45
679
原创 LCD深度剖析
LCD 深度剖析来源:http://blog.youkuaiyun.com/hardy_2009/article/details/6922900 http://blog.youkuaiyun.com/jaylondon/article/details/6363741 http://blog.youkuaiyun.com/zhaocj/article/details/5397180
2014-05-18 15:53:30
4949
转载 C语言的存储类和链接
http://hi.baidu.com/isswangqing/item/6fca148a55a9fc53e63d19a1作用域决定了哪一部分的程序可以访问某个数据。链接描述了程序的某个单元定义的变量可以被链接到其他哪些地方。内部链接意味着变量只可在包含变量定义的文件中使用,外部链接意味着变量也可以在其他文件中使用。下面是C语言的5种存储类:自动——在一个代码块内(或在
2014-05-02 22:27:59
801
原创 数码相框——显示图片(缩放功能)
BMP基本 知识参考:http://redwolf.blog.51cto.com/427621/229096一、 bmp.c#if 1#include #include #include #include /*对于结构体一定注意自己对齐*/#pragma pack(push) /*±£´æ¶ÔÆë״̬ */#pragma pack(1) /*É趨Ϊ4×
2014-03-27 17:35:08
1793
原创 增加调试信息串口输出和网络输出功能
一、debug_manager.h #ifndef _DEBUG_MANAGER_H#define _DEBUG_MANAGER_H#define APP_EMERG "" /* system is unusable */#define APP_ALERT "" /* action must be taken immediately */#define APP_CRIT
2014-03-27 17:01:50
1405
转载 C语言嵌入式系统编程修炼之三:内存操作
来源:http://www.gec-lab.org/thread-975660-1-3.html掌握并深入理解关于数据指针、函数指针、动态申请内存、const及volatile关键字等的相关知识,是一个优秀的C语言程序设计师的基本要求。当我们已经牢固掌握了上述技巧后,我们就已经学会了C语言的99%,因为C语言最精华的内涵皆在内存操作中体现。数据指针 在嵌入式系
2014-03-25 21:55:59
1003
原创 增加Input设备功能
支持多种输入方法主要包括三种方法:轮询、slcet、多线程,本节主要介绍轮询方法,这种方法特点是CPU占用率高一、分析源码input/input_manager.c#include #include #include static PT_InputOpr g_ptInputOprHead;int RegisterInputOpr(PT_InputOpr ptInputO
2014-03-15 17:47:01
2000
原创 Makefile通用编写规则
#简单实用的Makefile模板:objs := a.o b.otest:$(objs) gcc -o test $^# .a.o.d .b.o.ddep_files := $(foreach f,$(objs),.$(f).d)dep_files := $(wildcard $(dep_files))ifneq ($(dep_files),) include $(
2014-03-13 10:46:00
2885
1
原创 双向链表的操作
重点实现完成双向链表的操作:#include #include #include #define debug 0typedef struct _tag_Name T_name, *PT_name;struct _tag_Name { char* name; PT_name pre; PT_name next;};static PT_name g_ptName_he
2014-03-12 20:36:09
1123
原创 数码相框——矢量字体原理(7)
这一节,主要实现在LCD的中间显示两行字符来源:http://liu1227787871.blog.163.com/blog/static/2053631972012628101423971/代码如下:#include #include #include #include #include //#include //#include #include
2014-03-06 15:21:00
1077
原创 数码相框——矢量字体原理(6)
这一节,主要实现在LCD上左上角显示两行字符参考:http://liu1227787871.blog.163.com/blog/static/2053631972012628101423971/1 代码如下#include #include #include #include #include //#include //#include #include
2014-03-06 15:05:07
884
原创 字符点阵在LCD上显示
这一节,目的:显示在LCD显示字符(英文和中文)预备知识: 1 知道什么是编码库,内核里面自带的Font_8*16.c文件中,已经包含了ASCII的编码库,其中每个字符用16个字节表示 2 中文编码:有GB2312,BIG5(繁体字使用),GBK ,UTF-8(一直默认使用的都是这种),,Unicode编码等等,因此,需要使用这样的编码库,通过编码查询的方式
2014-03-05 18:31:41
4053
原创 数码相框——矢量字体原理(1)
测试FreeType提供的demo程序一一代码如下/* example1.c *//* *//* This small program shows
2014-03-05 16:25:53
2212
原创 数码相框——矢量字体原理(2)
这一节,通过设置Unicode码,显示打印出“韦abc”一 代码如下/* example1.c *//* *//* This small progra
2014-03-05 16:22:45
904
原创 数码相框——矢量字体原理(3)
这一节,实现宽字符一 代码如下/* example1.c *//* *//* This small program shows how to prin
2014-03-05 16:18:39
1063
原创 数码相框——矢量字体原理(4)
一 在PC平台上,通过使用FreeType库,打印出宽字符信息代码如下:/* example1.c *//* *//* This small prog
2014-03-05 16:15:37
1051
原创 数码相框——矢量字体原理(5)
上一节,介绍了在PC下,使用FreeType库,实现字符输出,这一节,主要实现在控制台下实现字符打印一 代码如下:/* example1.c *//*
2014-03-05 16:09:31
1387
原创 数码相框——矢量字体原理(6)
来源:http://liu1227787871.blog.163.com/blog/static/2053631972012628113620362/前面我们的矢量字体显示的例子是在pc上运行的,这一节里面我们来编写可以再lcd上显示矢量字体的程序,例如显示“hello 嵌入式”2.3.3节_数码相框_在LCD上显示一个矢量字体交叉编译:tar xjf freetype-2
2014-03-05 15:59:43
1559
原创 基于mini440嵌入式boa服务器移植设计
来源:http://www.linuxidc.com/Linux/2011-09/42502.htm http://blog.youkuaiyun.com/mybelief321/article/details/9399193随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌
2014-03-03 16:54:22
1405
原创 基于mini2440的WEB远程视频实时监控系统
基于mini2440的WEB远程视频实时监控系统 2014年3月2号1 本项目是基于申嵌实践项目中的一个 由于官方提供的(光盘)编译之后的代码有问题,在这花费了不少的时间,再次写这篇博客,希望大家在以后的学习中少走弯路, 参考:http://blog.youkuaiyun.com/opencpu/article/details/70169042 开发环境;
2014-03-02 23:27:28
4714
原创 uboot20100移植----揭开UBOOT的来龙去脉
1,编译器:4.3.22 /*************************************ubootversion 1.0 debug*********************/typedef struct { bd_t *bd; unsigned long flags; unsigne
2014-02-24 16:27:43
2463
转载 busybox-1.7.0分析
busybox-1.7.0分析 没有内挂载根文件系统时,内核启动后会出现以下提示:panic("Noinit found. Try passing init= option tokernel.");原因就是没挂载根文件系统 1.在挂载根文件系统后,linux内核的最终目的是运行应用程序,要想了解应用程序是怎么运行起来的,就要分析init_post()函数,其中有如下源码:
2014-02-18 21:07:49
1331
转载 mkimage工具讲解(z)
uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件。mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0x40字节的头,记录参数所指定的信息,这样uboot才能识别这个映象是针对哪个CPU体系结构的,哪个OS的,哪种类型,加载内存中的哪个位置, 入口点在内存的那个位置以及映象名是什么./mkima
2014-02-13 21:26:13
907
原创 解决nfs 挂载文件系统的问题
问题:开发板可以ping 通网关,可以ping 通win7,但是就是ping 不通虚拟机下的linux,原因:可能开发板的IP和win7的可能不在同一个路由器下,解决方法:只需要网线接在同一个路由器下,就可以极大提高挂在的成功率。
2013-10-31 10:40:28
1279
原创 数据结构-链表栈
#ifndef _LINKLIST_H_#define _LINKLIST_H_typedef void LinkList;typedef struct _tag_LinkListNode LinkListNode;struct _tag_LinkListNode{ LinkListNode* next; };LinkList* LinkList_Create();voi
2013-09-02 21:58:37
814
原创 数据结构-顺序栈
#ifndef _SeqList_H_#define _SeqList_H_typedef void SeqList;typedef void SeqListNode;/* 该方法用于创建并且返回一个空的线性表*/SeqList* SeqList_Create(int capacity);/* 该方法用于销毁一个线性表list*/void SeqList_D
2013-09-02 21:55:59
784
原创 数据结构-双向链表
#ifndef _DLINKLIST_H_#define _DLINKLIST_H_typedef void DLinkList;typedef struct _tag_DLinkListNode DLinkListNode;struct _tag_DLinkListNode{ DLinkListNode* next; DLinkListNode* pre; };DLink
2013-09-02 21:50:47
824
原创 数据结构-循环链表
/*国嵌版的循环*/#ifndef _CIRCLELIST_H_#define _CIRCLELIST_H_typedef void CircleList;typedef struct _tag_CircleListNode CircleListNode;struct _tag_CircleListNode{ CircleListNode* next;
2013-09-02 21:38:51
1218
原创 数据结构-静态链表
#ifndef _STATICLSIT_H_#define _STATICLIST_H_typedef void StaticList;typedef void StaticListNode;/* 该方法用于创建并且返回一个空的线性表*/StaticList* StaticList_Create(int capacity);/* 该方法用于销毁一个线性表list
2013-09-02 21:33:49
1227
原创 数据结构-线性表-链表
/*国嵌版的,采用代码复用的思想*/#ifndef _LINKLIST_H_#define _LINKLIST_H_typedef void LinkList;typedef struct _tag_LinkListNode LinkListNode; struct _tag_LinkListNode{ LinkListNode* next; /*Linuxn内核中主要就
2013-09-02 21:26:06
973
原创 数据结构-线性表-顺序表
/**********************顺序表 *********************/ #ifndef _SeqList_H_#define _SeqList_H_typedef void SeqList;typedef void SeqListNode;/* 该方法用于创建并且返回一个空的线性表*/SeqList* SeqList_Create(int
2013-09-02 21:12:15
1253
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人