- 博客(43)
- 资源 (10)
- 收藏
- 关注
原创 unsigned char与unsigned char m_array[5]
#include int main(int argc, char **argv){ unsigned char ch_1 = '1'; unsigned long* ch; unsigned char m_array[5] = {0}; unsigned char test; test = sizeof(ch_1); ch = (unsigned long *)0x0012f
2013-11-01 22:45:31 3593 1
原创 51下是简单的任务调度
此工程实现功能是为3个任务的切换运行与数码管动态显示,任务1:扫描获取按键值,然后通过串口发出对应的数据;任务2:控制led闪烁;任务3:控制蜂鸣器报警。 数据结构关联,如图1所示。Task_stack块由task1_stack、task2_stack、task3_stack三个数组组成,它们结构为0号元素保留,1号元素保存函数入口地址低8位,2号元素保存函数入口地址高8位。Task_sp块中
2013-07-02 12:41:13 2619
原创 操作系统内核框架图整理
Android框架:IOS框架(简):web_os框架:windows NT框架:Minix3框架:linux框架(简):Solaris框架:GNU_Linux_FOSS:linux框架(完整):不管阅读哪一个系统的源码,最为关键的便是要对其大体的框架形成一个宏观的认识,才能更好的阅读其源码
2013-06-22 23:40:26 9746 2
转载 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete
相当好的一篇关于vim编辑器改造的博文。转载文章地址:http://blog.csdn.net/bokee/article/details/6633193=================================================================================== 工欲善其事,必先利其器。一个强大的开发环境可以大大提高
2013-04-17 23:34:46 1178
转载 mjpg-streamer移植
本文的copyright归yuweixian4230@163.com 所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。作者:yuweixian4230@163.com博客:yuweixian4230.blog.chinaunix.net 参考资料:http://blog.21ic.com/user1/4132/arch
2013-04-16 14:20:00 6392
原创 组合两链表,并拷贝至新链表中(C版)
时间渐渐紧张,只能在闲暇时间里写写这类的小程序,不断锻炼编程的思路:compera_list.h:#ifndef __COMPERA_LIST_H__#define __COMPERA_LIST_H__/* * list链表边界值设定 */#define MAXSIZE_A 2#define MAXSIZE_B 3#define MAXSIZE_C 6#in
2013-04-09 15:59:11 1057
原创 input输入子系统源码部分函数分析
/* * 源文件目录: * /drivers/input/input.c */入口函数: static int __init input_init(void)1、 err = class_register(&input_class); /* class设备节点生成 */2、 err = input_proc_init(); /* 为添加到p
2013-04-09 15:28:36 1323
原创 用不同的思路去完成简单的C程序编写
头文件1:func_desc.h#ifndef __FUNC_DESC_H__#define __FUNC_DESC_H__#include #include #include #include "register_mod.h"#define NUMBER_XJ 2struct class_attr;struct func_operations { void (*
2013-03-21 02:00:48 1079
原创 GT2440按键驱动添加fasync机制
完整驱动代码如下:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define
2013-03-04 11:40:12 926
原创 Ubuntu下的samba配置与使用
=============================================================================/* 一般网络流程 */1、sudo apt-get install samba smbfs (samba下载与安装)2、sudo smbpasswd -a XXXX (访问用户创建)3、/etc/samba/smb.conf
2013-01-16 23:25:07 594
转载 Linux驱动修炼之道-SPI驱动框架源码分析(下)
转载自:http://blog.csdn.net/lanmanck/article/details/6895324这篇文档主要介绍spi数据传输过程。当应用层要向设备传输数据的时候,会通过ioctl向设备驱动发送传输数据的命令。如图,向SPI从设备发送读写命令,实际的读写操作还是调用了主机控制器驱动的数据传输函数。transfer函数用于spi的IO传输。但是,transfer
2012-12-28 13:04:58 592
转载 Linux驱动修炼之道-SPI驱动框架源码分析(中)
转载自:http://blog.csdn.net/lanmanck/article/details/6895322这篇来分析spi子系统的建立过程。嵌入式微处理器访问SPI设备有两种方式:使用GPIO模拟SPI接口的工作时序或者使用SPI控制器。使用GPIO模拟SPI接口的工作时序是非常容易实现的,但是会导致大量的时间耗费在模拟SPI接口的时序上,访问效率比较低,容易成为系统瓶颈。这里
2012-12-28 13:03:12 685
转载 Linux驱动修炼之道-SPI驱动框架源码分析(上)
近段时间正在进行一个SPI设备模块的学习,因而转载此篇文章。转载自:http://blog.csdn.net/lanmanck/article/details/6895318SPI协议是一种同步的串行数据连接标准,由摩托罗拉公司命名,可工作于全双工模式。相关通讯设备可工作于m/s模式。主设备发起数据帧,允许多个从设备的存在。每个从设备有独立的片选信号,SPI一般来说是四线串
2012-12-28 12:59:58 648
原创 GT2440下Mplayer的移植
此篇文章的真正出处,我未能找到;此文所提要点涵盖了基本移植是会出现的问题。可说是现网络中移植Mplayer非常好的文档;我花费了将近一天的时间把Mplayer移植到GT2440下,如早找到此篇文章就不会花费那么长的时间。先网络上的大量关于Mplayer的移植文档,都有着存在着编译会出现的问题并不能交代清楚的问题。=========================================
2012-12-18 00:24:12 935
原创 GT2440下madplay的移植
***********************************************************************实验目标:madplay 的移植**日期:2012/12/16**执行人:ToraLoo*********************************************************************tool v
2012-12-17 16:09:31 1866
原创 一个制作“图种”的小程序
今天翻东西的时候,不小心翻到了我上学期,练习文件编程时写的小程序了。感觉有玩头,于是乎就共享出来了。至于“图种”是什么我们不去关心它,就理解成两个不同格式的文件合并就行了(其实经常用cmd的同学肯定会想到copy命令)。写这个程序主要目的还是在于练习文件编程,这也是一个有一定可玩性的小程序。呵呵.........程序运行截图:源码与程序下载地址:http://download.cs
2012-12-16 02:02:58 1427
原创 加密与解密小软件
编译环境:VC++6.0软件包包含:Etora.txt:作者信息与软件描述;Ecryption.exe:主加密与解密软件;PE_KeyCreate.exe:壳密钥加密软件;Encryption与PE_KeyCreate使用手册.doc:为说明文档;此两个软件使用起来不怎么方便,但是可增强对算法与文件操作编程的锻炼,是一个比较好的练手例程。软件包下载地址:ht
2012-12-14 20:23:59 690
原创 基于STC12C5A60S2多功能MP3设计
核心主控:STC12C5A60S2晶振频率:22.1184MHz触屏主控:ILI9320触屏转换主控:TSC2046MP3模块主控:VS1003收音机模块:TEA5767设计中含两个菜单目录,划屏即可进行第一与第二屏的切换;第一屏内容与数码相框相同,只是将setting图标内容修改为:System图标内容跟换:第二屏菜单:
2012-12-04 19:36:23 2345 1
原创 基于STC12C5A60S2的嵌入式数码相框设计
核心主控:STC12C5A60S2晶振频率:22.1184MHz触屏主控:ILI9320触屏转换主控:TSC2046功能与界面展示(比较简朴):系统启动界面:主界面:点击Docment图标后:点击任意选项之后(此处的“文件目录显示”为系统名字的显示):点击Photos图标后:点击任意item之后:点击Dra
2012-12-04 00:03:25 2472
原创 Petit FatFs文件系统移植至STC89C52RC
MCU:STC89C51RC最高主频:80MFlash:4KSRAM:512BEEPROM:4K系统:Petit FatFs集成开发环境:keil 4今天将Petit FatFs成功挂载到STC89C52RC芯片上进行运行,实话说这样做的意义并不是很大,尤其是在你对petit fatfs文件系统代码并不是很了解的情况下。在你并不是很了解p
2012-10-28 23:49:07 4882 1
原创 uc/os-II在STC89C52RC上的移植
MCU:STC89C51RC最高主频:80MFlash:4KSRAM:512BEEPROM:4K系统:uc/os-II集成开发环境:keil 4在起初开始移植时我并没有注意到上面的Flash、SRAM这两个指标的限制,导致移植一直无法成功。最终在starup.a51中对XBPSTACKTOP进行了修改,从而得以运行成功。修改原因主要为一开始XBPSTACKTOP初始
2012-10-27 18:02:39 2857
转载 Bresenham快速画直线算法
转载博文原址:http://www.cnblogs.com/pheye/archive/2010/08/14/1799803.html算法原理的详细描述及部分实现可参考:http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html Fig. 1 假设以(x, y)为
2012-09-12 00:34:23 596
原创 关于一句话的乱想
这句话就是:One more time,One more chance...一天前,看到一朋友的QQ签名改成了上面的那句话。也使得自己想起了以前不少的事情,想了一会觉得反正都想起了那就下一下以这句话作为主题曲名字的《秒速5cm》来重温重温算了。看完《秒5》后,感觉心里很不是滋味。男主的在不同时期经历的感情事件,总给我一种感觉好像原来自己也是这样经历过来的,真是奇怪(呵呵...-_-....
2012-09-02 01:57:43 580
转载 图解ARM Linux的启动全过程
作者:ce123转载博文地址:http://blog.csdn.net/ce123/article/details/7526408图解ARM Linux的启动全过程图解ARM-Linux的启动全过程:内核自解压阶段—>内核引导阶段—>内核初始化阶段—>BusyBox初始化阶段。图片有点大,打开的时候比较慢。大家可以免费下载http://download.csdn.net
2012-09-01 19:34:39 637
原创 关于ubuntu-12.04的安装
系统版本:ubuntu-12.04.1-desktop-i386安装环境:vmware workstation安装完成后会进入如下命令行界面:要启动图形界面则需要输入:startxRoot用户的切换:sudo -s(安装完成后ubuntu-12.04无声音,待解决中.......)同时我也在网上找到了一本叫好的ubuntu-12.04上手教材,网站如下:ht
2012-08-25 00:36:11 833
转载 GPIO驱动相关笔记
这篇文章是我看过的讲解GPIO驱动程序最为详细的文章故将其转载;看了此篇文章后也让我看到了,学习驱动应该想博主那样学才是真正的学驱动。 我尝试了使用ctrl+c加ctrl+v打法后,感觉文章出来的效果很差; 所以决定给出,转载博文的链接地址(相当值得看的文章):http://blog.csdn.net/llxmedici/article/details/6282372
2012-08-14 16:46:32 623
原创 写Makefile粗心的后果
其实,很多人都想搞嵌入式的驱动开发,也会去买各种各样的书籍来研究;书上的驱动程序讲的有理有据、仅仅有条,说的你心悦诚服然后你就会跟别人说“没错一个led驱动就是这么写的,对不会有错的!“,哎,显然我也是这种人(呵呵....);所以,当我第一次尝试把我原来写好(写好的代码指并未编译;也就是说连Makefile都没写的那种)的认为一定不会有问题的驱动程序搞到我够买的GT2440开发上去运行,之后才让我
2012-08-14 16:36:17 16382
原创 51mini板整板测试程序
最近几天朋友一时兴起,居然买了块51最小板来玩;我按他的最小系统板电路绘制了一张仿真图,并设计了一个通过串口调试整板资源的测试程序;其中使用了printf()和getchar()等函数;同时在使用这类函数的基础上也使用的串口中断,个人感觉在使用printf()函数时再开启串口中断其实也是可行的。仿真电路:串口测试界面:源码下载(包涵仿真电路图):http://downloa
2012-08-12 00:44:55 1001
原创 busybox编译错误解决
Busybox版本:1.16.0Arm-linux-gcc版本:3.4.1系统:ubuntu 10.10编译时出现错误:1、fatal error: curses.h: 没有这个文件或目录原因:ubuntu系统中缺少一个套件 ncurses devel 解决方法:apt-get install libncurses5-dev2、O_NOATIME未定义coreu
2012-08-06 01:25:30 2618
原创 GT2440--U-Boot分析(四)
run_command()分析:int run_command (const char *cmd, int flag){ cmd_tbl_t *cmdtp; char cmdbuf[CFG_CBSIZE]; /* working copy of cmd */ char *token; /* start of token in cmdbuf */ char *sep; /
2012-08-02 06:33:58 2205
原创 GT2440--U-Boot分析(三)
第二阶段:board.c入口:start_armboot(void)typedef int (init_fnc_t) (void);void start_armboot (void){ init_fnc_t **init_fnc_ptr; /* 用于调用初始化队列下的初始化函数 */ char *s; /* 指向获取的环境变量 */#ifndef CFG_NO_FL
2012-08-02 06:07:55 1862
原创 GT2440--U-Boot分析(二)
Step3:U-Boot源码分析:第一阶段: 硬件设备初始化为加载Bootloader第二阶段代码准备RAM空间复制Bootloader第二阶段代码到RAM准备好空间中设置栈跳转到第二阶段的C代码;第二阶段: 初始化本阶段使用到的硬件设备;检测系统内存映射;将内核映像和根文件系统映像从Flash上读到RAM中;为内核设置启动参数;调用内核;第
2012-08-02 06:00:18 1619 1
原创 GT2440--U-Boot分析(一)
U-Boot版本:1.1.6单板:GT2440U-Boot源码目录:从目录下文件夹名称应该可大概了解到每个文件夹下的代码作用;Step1:U-Boot编译: 1、配置 2、make配置:make GTStudio_configMake:make ’ ’|all >关于u-boot的编译与约定详见:ROA
2012-08-01 23:54:01 1998
原创 Bootloader分析
Bootloader目的初识:1、加载内核2、启动内核Bootloader目的(功能)细化分析:1、硬件初始化;2、准备软件环境;3、启动内核;Bootloader启动方式:MIPS结构下第一条启动指令地址为:0xBFC00000ARM结构下第一条启动指令地址为:0x000000000Bootloader启动模式:1、启动加载模式(用于成品);
2012-07-30 23:47:32 1273 5
原创 C51下汇编的嵌入
(1)、C51语言中调用汇编语言程序;C51语言调用汇编语言程序要注意以下几点:1:在文件栏选中File Group和C51程序原文件,在配置文件选项中激活“产生汇编(SRC)文件,“编译(SRC)文件”和“创建工程(目标)时包含”三个选项。2:根据选择的编译模式,把相应的库文件(如SMALL模式,库文件为KEIL\C51\LIB\C51S.LIB)加入工程中。3:在C51语言中必
2012-07-28 00:38:30 7426
原创 ARM------ 存储控制器
初入领悟:1、 bank、L-bank的概念2、 s3c2440内部管理SDRAM寄存器配置 Frist part:原理分析S3c2440为32位微处理器,其可访问空间为4G;但其中提供1G外设访问空间,这1G空间有8个bank组成;及平均每个bank有128M的访问空间;其中8bank的特性为:1、 bank0~bank5支持外接SRAM、ROM等,bank6、bank7
2012-07-24 16:07:35 4423 1
原创 ARM—简单操作GPIO入门
初入领悟:1、 程序编译2、 GPIO操作3、 Volatile使用与意义 Test1 ----- 裸板操作代码首先代码有汇编部分与C部分;汇编部分:1、堆栈首地址设置 2、watchdog屏蔽 3、跳转至main()函数 4、停机处理C部分:实现控制4盏led的点
2012-07-23 01:54:29 1358
原创 运用CreateProcess()编写小程序
继续VC++6.0下的线程创建,并通过创建的新线程完成对外部程序的调用。一开始,采用的ShellExecut()函数来实现。测试过程中,完成进程创建并成功调用外部程序的调用。然后悲剧发生,360报木马侵袭,工程悲剧被杀…..之后,了解到有种木马采用的技术内部即为ShellExecut()函数,hack将其扩展为ShellExecutHock()函数,不可杀性极强。通过,研读《windows内核
2012-07-21 22:30:25 806
原创 系统内核扩展完善
7.14----7.18 继续完善系统内核新增如下模块:1、信号量设置模块 ----signal_ctrl.c 2、邮箱设置模块 ----post_box_api.c 3、消息队列设置模块 ----msg_queue_ap
2012-07-19 00:45:52 565
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人