- 博客(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
6047
原创 用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
7847
1
原创 zigbee关联表AssociatedDevList
关联表的操作AssociatedDevList 表为与此设备相关联的设备表,并不是 ZigBee 网络中的所有设备信息表。表中信息的 IEEE 地址是唯一的,每个设备加入它的父节点时会在表中添加一个记录,但是子节点断电离开网络时不会删除该条记录,如果有多个子节点,频繁更换父节点会造成 AssociatedDevList 表满或溢出,使其它子节点无法加入该父节点,因此需要及时的删除一些已离开的子
2016-02-19 09:40:34
8911
原创 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
6964
原创 contiki netstack数据收发结构
摘要本文介绍了contiki netstack的MAC层以下数据收发层次结构,并讨论如何移植新的无线器件做为contiki的无线收发器。正文contiki netstack的数据收发层级 Radio:主要完成物理层无线数据的收发和控制Framer: 完成对数据帧的打包和解析RDC: radio duty cycling, 周期性访问radio
2016-01-28 13:47:27
7320
原创 Contiki packetbuf原理
摘要本文介绍了contiki netstack中在framer,rdc,mac层中b欧诺个uffer数据的packetbuf的构造和原理。正文packetbuf作用contilki netstack发送和接收数据先通过packetbuf缓冲,再进行处理。packetbuf构成packetbuf由header部分和data部分组成
2016-01-28 13:36:46
6810
原创 改变协调器设备类型
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
5062
原创 ZIGBee组网流程
ZIGBee组网流程第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络//第一步:Z-Stack 由 main()函数开始执行,main()函数共做了 2 件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统int main( void ) { .......// Initiali
2016-01-21 11:51:03
13715
原创 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
16623
转载 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)
作者 : 韩曙亮博客地址 : http://blog.youkuaiyun.com/shulianghan/article/details/42462795转载请著名出处相关资源下载 : -- u-boot 源码 : http://download.youkuaiyun.com/detail/han1202012/8342761-- S3C2440 文档 : http:
2015-01-14 23:05:50
10119
原创 PAMIE控件功能函数列表
在python下,大家可能需要操作IE访问网站。也许有人要问了,我们有很多优秀的网站访问插件呀,比如之前提到的 mechanize 其实大家仔细看 mechanize 就知道了,它是不支持 js 操作的。虽然我们很多时候可以通过模拟 js 的业务逻辑来模拟。但是也有极端的情况下是无法做到的。比如,你需要向一个网站投递新闻,而同时需要输入验证码。而且这个新闻呢,也必须注意格式,也就是
2012-06-07 09:36:34
6450
原创 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
6036
原创 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
12328
原创 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
5409
原创 s3c2410 A/D驱动
#include #include #include #include #include #include #include #include #include #include #include #i
2012-03-05 13:37:04
6296
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
6555
1
原创 Linux输入子系统介绍
在Linux内核中,input设备用input_dev结构体描述,使用input子系统实现输入设备驱动的时候,驱动的核心工作是向系统报告按键、触摸屏、键盘、鼠标等输入事件(event,通过input_event结构体描述),不再需要关心文件操作接口,因为input子系统已经完成了文件操作接口。驱动报告的事件经过InputCore和 Eventhandler最终到达用户空间。通过input子
2012-02-28 15:15:09
5013
原创 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
6482
原创 C语言 内存中结构体字节对齐
一、字节对齐作用和原因:对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐,其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一
2011-12-14 15:22:58
14139
原创 嵌入式程序员面试问题集锦
这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_
2011-12-13 16:14:20
4592
1
原创 进程与线程的区别
进程是程序在计算机上的一次执行活动。线程是指进程内的一个执行单元,也是进程内的可调度实体。与进程的区别:(1)地址空间:线程是进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行.
2011-12-13 10:04:09
2541
1
原创 配置个性化vim
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 一般设定"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 设定默认解码set fenc=utf-8set fencs=utf-8,usc-bom,
2011-10-27 10:41:07
7055
原创 Git 多人协同开发教程
Git 是一个为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。多人协同开发git clone git://www.github.com/xxx/xx.git... 项目开发 ...git add 改动的文件git commit -m
2011-09-14 17:33:09
6638
原创 x-loader启动过程分析
平台:omap zoom21: 从连接文件开始分析: board/omap3430labrador/x-load.ldsOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")OUTP
2011-09-13 17:23:32
2169
原创 Cairo 图形指南 (5) —— 图像
在这一篇里,要讲述图像的处理。先是演示如何在 GTK+ 窗口中显示一幅图像,然后再制造一些特效。图像的显示在第一个例子里,显示了一幅图像。#include#include cairo_surface_t *image; staticgbool
2011-09-13 17:04:21
2852
原创 Cairo 图形指南 (4) —— 裁剪与遮蔽
在这一篇中讲述裁剪(Clipping)与遮蔽(Masking)。裁剪在下面的示例中,对一幅图像进行裁剪。#include #include #include cairo_surface_t *image; staticgbooleano
2011-09-13 17:02:41
2521
原创 Cairo 图形指南 (3) —— 变换
这一篇讲述变换(Transformation) 仿射变换是由一些线性变换与平移构成的。线性变换可以写为单个矩阵的形式。旋转是让一个刚体绕一点运动的变换。缩放变换是让物体的形状扩大与减小,并且在各个方向上的缩放因子都相同。平移变换将每个点沿着指定的方向移动常量距离。错切对于给定轴线
2011-09-13 17:01:35
2806
原创 Cairo 图形指南 (2) —— 文本
本篇讲述如何处理文本。灵魂伙伴第一个示例是在 GTK+ 窗口中显示《灵魂伙伴》的部分歌词。#include #include staticgbooleanon_expose_event(GtkWidget *widget, GdkEve
2011-09-13 16:54:37
3382
4
原创 Cairo 图形指南(1) —— 基本绘图
这一部分讲述如何绘制一些简单的图元,包括直线、填充与笔画操作、虚线、线端(Cap)与线的交合等图形的绘制方法。直线段直线段是非常基础的矢量图形对象。画一条直线段,需要调用两个函数:cairo_move_to() 函数,用于设置线段起点;cairo_line_to() 用于设定线段终点。#include #include double coordx[100];do
2011-09-13 16:50:56
9190
翻译 NAND flash 文件系统制作
BeagleBoardNANDSoftware以下的部分软件可以存储和从NAND启动/运行:X-Loader U-Boot (+ environment/configuration data) Linux kernel Linux file system 这些
2011-09-10 20:05:55
6357
原创 linux文件系统启动流程 ---笔记整理
下面是一张linux启动流程图:在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为:1. /sbin/init2. /etc/inittab3. /etc/rc.d/rc.sysinit4. /etc/rc.d/rcN.d
2011-09-09 14:50:49
9643
原创 C语言的那些秘密之---函数返回局部变量
一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的
2011-08-17 13:06:58
38804
6
原创 结合typedef更为直观的应用函数指针
“函数指针”的本质是一个指针变量,只不过该指针变量指向函数。1:简单应用形式1:返回类型(*函数名)(参数表)#include char* (*test)(char *);//定义一个函数指针,使用之前对其赋值char* fun(char *ch)
2011-08-12 17:08:19
2042
原创 Makefile 模板
# ###################################################################### # # makefile 模版 # # # #####################################
2011-08-10 12:51:33
1846
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
4826
3
原创 用core dump来调试程序段错误
有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们的调试变得困难起来.1.在一般Linux系统中,默认是不会产生core dump文件的。通过
2011-08-05 08:59:28
3265
1
原创 C语言 多级指针应用
当指针变量pp所指的变量Ip也是一种指针时,pp是一种指向指针的指针,称指针变量pp是一种多级指针。#include char *con10[]={ "hello10", "world10","end10"};char *con11[]={ "hell
2011-07-27 11:53:05
1905
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
5349
原创 交叉编译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
2577
原创 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
13379
makefile makefile
2011-07-27
Uboot启动流程分析
2011-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人