自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注于嵌入式

对所做的事情的理解越深,你就会做的越好。

  • 博客(49)
  • 资源 (5)
  • 收藏
  • 关注

原创 STM32 入门教程 系统时钟 SysTick

STM32 入门教程 系统时钟 SysTick(一) 背景介绍在传统的嵌入式系统软件按中通常实现 Delay(N) 函数的方法为:for(i = 0; i          x  ---  对应于 对应于 N 毫秒的循环值对于STM32系 列微处理器来说,执行一条指令只有几十个 ns,进行 for 循环时,要实现 N 毫秒的 x 值非常大,而且由于系统频率的

2016-08-10 13:55:35 5971

原创 用arm-none-linux-gnueabi交叉编译Linux内核

1.安装arm-none-linux-gnueabi交叉编译器百度一下下载安装交叉编译器export PATH=/arm-2009q3/bin:$PATH (一次性)或者gedit ~/.bashrc 在文件的末尾添加 export PATH=/arm-2009q3/bin:$PATH (永久)2.构造linux内核源码树百度一下下载安装Linux内核然后我

2016-05-31 09:42:04 7786 1

原创 zigbee关联表AssociatedDevList

关联表的操作AssociatedDevList 表为与此设备相关联的设备表,并不是 ZigBee 网络中的所有设备信息表。表中信息的 IEEE 地址是唯一的,每个设备加入它的父节点时会在表中添加一个记录,但是子节点断电离开网络时不会删除该条记录,如果有多个子节点,频繁更换父节点会造成 AssociatedDevList 表满或溢出,使其它子节点无法加入该父节点,因此需要及时的删除一些已离开的子

2016-02-19 09:40:34 8833

原创 contiki dhcpc 笔记

封包格式:struct dhcp_msg {  uint8_t op, htype, hlen, hops;  uint8_t xid[4];  uint16_t secs, flags;  uint8_t ciaddr[4];  uint8_t yiaddr[4];  uint8_t siaddr[4];  uint8_t giaddr[4];  ui

2016-01-29 10:36:54 6878

原创 contiki netstack数据收发结构

摘要本文介绍了contiki netstack的MAC层以下数据收发层次结构,并讨论如何移植新的无线器件做为contiki的无线收发器。正文contiki netstack的数据收发层级 Radio:主要完成物理层无线数据的收发和控制Framer: 完成对数据帧的打包和解析RDC: radio duty cycling, 周期性访问radio

2016-01-28 13:47:27 7268

原创 Contiki packetbuf原理

摘要本文介绍了contiki netstack中在framer,rdc,mac层中b欧诺个uffer数据的packetbuf的构造和原理。正文packetbuf作用contilki netstack发送和接收数据先通过packetbuf缓冲,再进行处理。packetbuf构成packetbuf由header部分和data部分组成 

2016-01-28 13:36:46 6756

原创 改变协调器设备类型

void change_dev_type(sZFrame *frm){   uint8 startUp = ZCD_STARTOPT_DEFAULT_NETWORK_STATE;   osal_nv_read( ZCD_NV_LOGICAL_TYPE,0,sizeof(zgDeviceLogicalType),&zgDeviceLogicalType);   if ( zgDe

2016-01-22 15:40:29 5022

原创 ZIGBee组网流程

ZIGBee组网流程第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络//第一步:Z-Stack  由 main()函数开始执行,main()函数共做了 2 件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统int main( void )                          {  .......// Initiali

2016-01-21 11:51:03 13504

原创 CC2530+CC2591 PA寄存器配置

在TI Ztack 协议栈中,CC2530与CC2591接线方式如下图:CC2591有三个脚与CC2530连接,如果硬件管脚连接的是其他的管脚则需要在协议栈上修改。值得注意的是PA_EN与EN只能连接在P1_0到P1_5,这是由CC2530决定的。HGM可以任意定义。下面说下这三个管脚在协议栈中的修改方式。 1. HGM的修改:如果定义了HAL_PA_LNA那么首先会在初始

2015-12-21 15:11:59 16375 1

转载 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)

作者 : 韩曙亮博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795转载请著名出处相关资源下载 : -- u-boot 源码 : http://download.csdn.net/detail/han1202012/8342761-- S3C2440 文档 : http:

2015-01-14 23:05:50 10002

原创 PAMIE控件功能函数列表

在python下,大家可能需要操作IE访问网站。也许有人要问了,我们有很多优秀的网站访问插件呀,比如之前提到的 mechanize     其实大家仔细看 mechanize 就知道了,它是不支持 js 操作的。虽然我们很多时候可以通过模拟 js 的业务逻辑来模拟。但是也有极端的情况下是无法做到的。比如,你需要向一个网站投递新闻,而同时需要输入验证码。而且这个新闻呢,也必须注意格式,也就是

2012-06-07 09:36:34 6408

原创 python smtp发送邮件

from email.mime.text import MIMEText  from email.mime.audio import MIMEAudiofrom email.mime.image import MIMEImagefrom email.mime.multipart import MIMEMultipart#发送邮件def sendMail(): se

2012-06-01 14:32:34 6002

原创 linux 读写RTC时间

#include #include #include #include #include #include #include #include #include #include int main(void){ int fd, retval; struct rtc_time rtc_tm; time_t timep;

2012-03-30 13:29:24 12215

原创 linux 网络编程

1、客户端源代码: #include #include #include #include #include #include #include #include #include #define BUFLEN 10 int main(int argc, char **argv)

2012-03-07 10:05:21 5370

原创 s3c2410 A/D驱动

#include #include #include #include #include #include #include #include #include #include #include #i

2012-03-05 13:37:04 6195 1

原创 GPIO驱动范例

#include //包含初始化和清楚函数#include //包含可装载模块需要的大量符号和函数#include //dev_t结构,MKDEV,MAJOR,MINOR宏#include //参数#include //包含current 定义 #include //printk#include //mdelay udelay #include #include

2012-03-02 09:22:38 6518 1

原创 Linux输入子系统介绍

在Linux内核中,input设备用input_dev结构体描述,使用input子系统实现输入设备驱动的时候,驱动的核心工作是向系统报告按键、触摸屏、键盘、鼠标等输入事件(event,通过input_event结构体描述),不再需要关心文件操作接口,因为input子系统已经完成了文件操作接口。驱动报告的事件经过InputCore和 Eventhandler最终到达用户空间。通过input子

2012-02-28 15:15:09 4973

原创 an input device driver (Linux 输入子系统)

Programming input drivers~~~~~~~~~~~~~~~~~~~~~~~~~1. Creating an input device driver~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1.0 The simplest example~~~~~~~~~~~~~~~~~~~~~~~~Here comes a ver

2012-02-28 09:07:00 6425

原创 C语言 内存中结构体字节对齐

一、字节对齐作用和原因:对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐,其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一

2011-12-14 15:22:58 14059 2

原创 嵌入式程序员面试问题集锦

这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。  预处理器(Preprocessor)  1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_

2011-12-13 16:14:20 4261 3

原创 进程与线程的区别

进程是程序在计算机上的一次执行活动。线程是指进程内的一个执行单元,也是进程内的可调度实体。与进程的区别:(1)地址空间:线程是进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行.

2011-12-13 10:04:09 2514 2

原创 配置个性化vim

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 一般设定"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 设定默认解码set fenc=utf-8set fencs=utf-8,usc-bom,

2011-10-27 10:41:07 7019

原创 Git 多人协同开发教程

Git 是一个为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。多人协同开发git clone git://www.github.com/xxx/xx.git... 项目开发 ...git add 改动的文件git commit -m

2011-09-14 17:33:09 6535

原创 x-loader启动过程分析

平台:omap zoom21: 从连接文件开始分析: board/omap3430labrador/x-load.ldsOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")OUTP

2011-09-13 17:23:32 2088

原创 Cairo 图形指南 (5) —— 图像

在这一篇里,要讲述图像的处理。先是演示如何在 GTK+ 窗口中显示一幅图像,然后再制造一些特效。图像的显示在第一个例子里,显示了一幅图像。#include#include cairo_surface_t *image; staticgbool

2011-09-13 17:04:21 2716

原创 Cairo 图形指南 (4) —— 裁剪与遮蔽

在这一篇中讲述裁剪(Clipping)与遮蔽(Masking)。裁剪在下面的示例中,对一幅图像进行裁剪。#include #include #include cairo_surface_t *image; staticgbooleano

2011-09-13 17:02:41 2417

原创 Cairo 图形指南 (3) —— 变换

这一篇讲述变换(Transformation) 仿射变换是由一些线性变换与平移构成的。线性变换可以写为单个矩阵的形式。旋转是让一个刚体绕一点运动的变换。缩放变换是让物体的形状扩大与减小,并且在各个方向上的缩放因子都相同。平移变换将每个点沿着指定的方向移动常量距离。错切对于给定轴线

2011-09-13 17:01:35 2642

原创 Cairo 图形指南 (2) —— 文本

本篇讲述如何处理文本。灵魂伙伴第一个示例是在 GTK+ 窗口中显示《灵魂伙伴》的部分歌词。#include #include staticgbooleanon_expose_event(GtkWidget *widget, GdkEve

2011-09-13 16:54:37 3165 4

原创 Cairo 图形指南(1) —— 基本绘图

这一部分讲述如何绘制一些简单的图元,包括直线、填充与笔画操作、虚线、线端(Cap)与线的交合等图形的绘制方法。直线段直线段是非常基础的矢量图形对象。画一条直线段,需要调用两个函数:cairo_move_to() 函数,用于设置线段起点;cairo_line_to() 用于设定线段终点。#include #include double coordx[100];do

2011-09-13 16:50:56 9034

翻译 NAND flash 文件系统制作

BeagleBoardNANDSoftware以下的部分软件可以存储和从NAND启动/运行:X-Loader U-Boot (+ environment/configuration data) Linux kernel Linux file system 这些

2011-09-10 20:05:55 6206

原创 linux文件系统启动流程 ---笔记整理

下面是一张linux启动流程图:在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为:1. /sbin/init2. /etc/inittab3. /etc/rc.d/rc.sysinit4. /etc/rc.d/rcN.d

2011-09-09 14:50:49 9498 2

原创 C语言的那些秘密之---函数返回局部变量

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的

2011-08-17 13:06:58 37558 21

原创 结合typedef更为直观的应用函数指针

“函数指针”的本质是一个指针变量,只不过该指针变量指向函数。1:简单应用形式1:返回类型(*函数名)(参数表)#include char* (*test)(char *);//定义一个函数指针,使用之前对其赋值char* fun(char *ch)

2011-08-12 17:08:19 1979 2

原创 Makefile 模板

# ###################################################################### # # makefile 模版 # # # #####################################

2011-08-10 12:51:33 1803 2

原创 Linux 下模拟键盘输入

基于GTK 与 Fakekey(将模拟键盘与PC机键盘链接在一起)#include #include #include #include Display* disp ;FakeKey *fk;GtkWidget *win = NULL; static char *numkeyboard_display[]={ "1\0", "2\0", "3\

2011-08-08 09:56:48 4714 3

原创 用core dump来调试程序段错误

有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们的调试变得困难起来.1.在一般Linux系统中,默认是不会产生core dump文件的。通过

2011-08-05 08:59:28 3187 2

原创 C语言 多级指针应用

当指针变量pp所指的变量Ip也是一种指针时,pp是一种指向指针的指针,称指针变量pp是一种多级指针。#include char *con10[]={        "hello10", "world10","end10"};char *con11[]={        "hell

2011-07-27 11:53:05 1861 1

原创 Ubuntu 配置tftp服务

tftpd-hpa 是一个功能增强的TFTP服务器。它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统1、sudo apt-get install tftp-hpa tftpd-hpa xinetd2、建立配置文件cd /etc/xinetd.d/vi tft

2011-07-14 18:52:00 5234 1

原创 交叉编译GTK+----Makefile

PATH=/stuff/tmp/sysroots/i686-linux/usr/armv7a/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/gamesCC=arm-angstrom-li

2011-07-14 11:43:16 2511

原创 OMAP uEnv.txt

Newer version's of u-boot now look for a uEnv.txt file to set boot parameter

2011-07-13 12:56:51 13315

常用算法程序集(C语言描述)(第三版)+源代码

常用算法程序集(C语言描述)(第三版)+源代码

2011-07-28

makefile makefile

makefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefilemakefile

2011-07-27

11111111111111111111111111111

阿瑟斯酸酸酸酸酸酸酸酸 aa aa

2011-07-27

Uboot启动流程分析

Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程Uboot启动流程

2011-07-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除