自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hktkfly6的专栏

博客主要记录自己调试和学习中遇到的问题和参考的资料。

  • 博客(29)
  • 资源 (15)
  • 收藏
  • 关注

转载 配置文件中“键=值”(key=val)字符串C语言解析

设有下面的配置文件(1.txt):[cpp] view plaincopy# 简单的“键值”配置文件样例  # 支持“=”和“:”两种赋值方式  # ① 注释语句采用'#'符号顶格写  # ② “键”为由数字或大小写字母组成的串,“值”不限制  # ③ “键”及“值”两边可以有空格、制表符(\t)    # ③ 配置文

2015-01-31 21:40:54 1509

转载 fgets函数的理解

fget函数的原型如下:char *fgets(char *buf, int n, FILE *fp)功能:从文件流读取一行,送到缓冲区,使用时注意以下几点:1.当遇到换行符或者缓冲区已满,fgets就会停止,返回读到的数据,值得注意的是不能用fgets读二进制文件,因为fgets会把二进制文件当成文本文件来处理,这势必会产生乱码。2.每次调用,fgets都会把缓冲

2015-01-31 21:30:34 1026

原创 sscanf函数用法及讲解汇总

sscanf函数和正则表达式此文所有的实验都是基于下面的程序:char str[10];for (int i = 0; i 执行完后str的值为str = "!!!!!!!!!!"我们把str的每个字符都初始化为惊叹号,当str的值发生变化时,使用printf打印str的值,对比先前的惊叹号,这样就可以方便的观察str发生了怎样的变化。下面我们做几个小实验,

2015-01-31 21:22:45 2458 2

转载 linux下C语言实现静态IP地址,网关的设置

linux下C语言实现静态IP地址,网关的设置#include   #include   #include   #include   #include   #include   #include   #include     int SetIfAddr(char *ifname, char *Ipaddr, char *mask,ch

2015-01-30 09:03:02 4261 1

转载 linux 系统获取网络ip, mask, gateway, dns信息小程序

linux 系统获取网络ip, mask, gateway, dns信息小程序net_util.c       #define WIRED_DEV                   "eth0"     #define WIRELESS_DEV                "ra0"               #define PPPOE_DEV            

2015-01-30 09:01:42 2109

转载 GATEWAY获取与设置(Linux C)

GATEWAY获取与设置(Linux C)#include   #include   #include   #include   #include   #include   #include   #include   #include   #include   int set_gateway(unsigned long gw)     {

2015-01-30 08:58:01 1265

转载 使用ioctl SIOCSIFHWADDR设置MAC要使用ARPHRD_ETHER

使用SIOCSIFHWADDR设置MAC要使用ARPHRD_ETHER,且要先停用网络接口。#include stdio.h>#include string.h>#include unistd.h>#include sys/types.h>#include sys/socket.h>#include stdlib.h>#include sys

2015-01-30 08:56:51 7167

转载 sockaddr_in , sockaddr , in_addr区别

sockaddr_in , sockaddr , in_addr区别struct   sockaddr   {                  unsigned   short   sa_family;                     char   sa_data[14];             };    上面是通用的socket地址,具体到Inter

2015-01-30 08:53:56 541

转载 我使用过的Linux命令之hwclock - 查询和设置硬件时钟

用途说明hwclock命令,与clock命令是同一个命令,主要用来查询和设置硬件时钟(query and set the hardware clock (RTC))。RTC=Real Time Clock,也就是硬件时钟。在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中 的时钟。所有Linux相

2015-01-30 08:50:22 608

转载 linux下获取时间的函数

相关函数 time,ctime,gmtime,localtime//--------------------------------------------------------------------------//asctime(将时间和日期以字符串格式表示)#include定义函数char * asctime(const struct tm * ti

2015-01-30 08:46:54 534

转载 Linux中date命令的各种实用方法

在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,自己也曾经为时间的各种表示方法和如何修改时间而困惑,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便,    以下是我在工作中积累的关于date命令的用法,绝大多数都有解释说明,并配有范例,记录了linux中date命令的各种特定时间的表示方法,如何修改为特定的时间等,相信读

2015-01-30 08:44:39 472

转载 Linux时间函数

简介本文旨在为了解Linux各种时间类型与时间函数提供技术文档。1、Linux下常用时间类型Linux下常用时间类型有四种:time_t、struct tm、struct timeval、struct timespec1.1 time_t时间类型time_t类型在time.h中定义:[cpp] view plaincopyprint?

2015-01-30 08:42:07 403

转载 Hwclock用法介绍

Hwclock介绍在Linux中有硬件时钟与系统时钟两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之後系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。hwclock实现了BIOS和linux的时间同步Hwclock语法说明

2015-01-26 23:38:52 11730

转载 zjb_integrated 的BLOG(学习DaVinci的好文章)

DAVINCI DM3730开发攻略——U-BOOT-2010.06的移植 2014-04-21 16:42:30说来惭愧,又很长时间没更新文章了,本来这篇文章可以春节过来搞定的,结果春节回到公司,大客户一直要求抓紧时间设计DM3730平台的720P宽动态低照度相机产品,和另外两款多网口的DM3730产品的样机,南京老客户也..类别:DM3730|阅读(1707)|

2015-01-26 23:11:59 894

转载 DAVINCI DM365-DM368开发攻略——linux-2.6.32的移植

2012年的春节就这样过了,假期期间,在接到的大项目没有进展的情况下(团队的人都回家过年了),利用这三天深圳最冷的时间(5°C):1月25~27号,赶紧完成这篇文章的稿子,毕竟很长时间没有更新博客了,后面一上班就得忙几个客户的大项目;在这里也顺便纪念一下去年故去的C语言之父——丹尼斯·里奇,也是操作系统Unix之父,是他让嵌入式发展如此迅猛,科技发展如此飞速,C语言是如此美丽,简洁,大大提高软件跨

2015-01-26 23:06:27 789

转载 linux 同步IO: sync、fsync与fdatasync

传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写(delayed write)(B

2015-01-26 15:40:00 567

转载 Busybox内置的tftpd, ftpd, telnetd, udhcpd, udhcpc配置

Busybox内置的tftpd, ftpd, telnetd, udhcpd, udhcpc配置Tftpd,ftpd可以由inetd来管理,telnetd理论上也可以由inetd来管理,但是目前开发板上我还没调通,只能telnetd独立运行。1.    Tftpd配置步骤:#mkdir /tftp_ftp_dir  //创建tftp server的根目录#vi /etc/i

2015-01-23 00:18:22 961

转载 C语言文件操作之fgets()

来说一说fgets(..)函数。    原型  char *  fgets(char * s, int n,FILE *stream);    参数:         s: 字符型指针,指向存储读入数据的缓冲区的地址。         n: 从流中读入n-1个字符         stream : 指向读取的流。   返回值:          1. 当n   

2015-01-23 00:15:22 1637

转载 linux 内核与用户空间通信之netlink使用方法

1 引言Linux中的进程间通信机制源自于Unix平台上的进程通信机制。Unix的两大分支AT&T Unix和BSD Unix在进程通信实现机制上的各有所不同,前者形成了运行在单个计算机上的System V IPC,后者则实现了基于socket的进程间通信机制。同时Linux也遵循IEEE制定的Posix IPC标准,在三者的基础之上实现了以下几种主要的IPC机制:管道(Pipe)

2015-01-20 10:24:52 410

转载 netlink的内核实现原理

注:     当用户态进程发送数据时,调用sendmsg实现,其调用内核netlink_sendmsg函数完成,新建了sk_buff,然后给其cb私有缓存中保存了源地址信息,然后把数据拷贝到sk_buff中[nlmsghdr头部已经附在数据部分前面,作为数据部分了]然后利用netlink_unicast发送出去      而当内核态发送时,新建了一个sk_buff,头部填写了nlmsghd

2015-01-20 10:24:02 771

转载 用户空间和内核空间通讯之【Netlink 下】

关于Netlink多播机制的用法        在上一篇博文中我们所遇到的情况都是用户空间作为消息进程的发起者,Netlink还支持内核作为消息的发送方的情况。这一般用于内核主动向用户空间报告一些内核状态,例如我们在用户空间看到的USB的热插拔事件的通告就是这样的应用。       先说一下我们的目标,内核线程每个一秒钟往一个多播组里发送一条消息,然后用户空间所以加入了该组的进程都会收

2015-01-20 10:22:54 505

转载 用户空间和内核空间通讯之【Netlink 中】

今天我们来动手演练一下Netlink的用法,看看它到底是如何实现用户-内核空间的数据通信的。我们依旧是在2.6.21的内核环境下进行开发。      在文件里包含了Netlink协议簇已经定义好的一些预定义协议:点击(此处)折叠或打开#define NETLINK_ROUTE        0    /* Routing/device hook         

2015-01-20 10:22:17 407

转载 用户空间和内核空间通讯之【Netlink 上】

引言         Alan Cox在内核1.3版本的开发阶段最先引入了Netlink,刚开始时Netlink是以字符驱动接口的方式提供内核与用户空间的双向数据通信;随后,在2.1内核开发过程中,Alexey Kuznetsov将Netlink改写成一个更加灵活、且易于扩展的基于消息通信接口,并将其应用到高级路由子系统的基础框架里。自那时起,Netlink就成了Linux内核子系统和

2015-01-20 10:21:26 533

转载 I2C设备驱动注册

四、i2c driver注册        在分析i2c driver的时候,有必要先分析一下i2c架构的初始化,代码如下:static int __init i2c_init(void){    int retval;    retval = bus_register(&i2c_bus_type);    if (retval)        return ret

2015-01-19 00:50:22 585

转载 辉辉308的专栏-- 专注于嵌入式Linux内核和驱动

OpenWrt的主Makefile工作过程2014-05-07 14:51 阅读(360) 评论(0) sourceinsight使用技巧2014-04-16 09:25 阅读(105) 评论(0) [C] typeof2014-04-10 10:32 阅读(190) 评论(0) 第十四章-

2015-01-19 00:45:45 814

转载 Linux I2C驱动分析(一)----I2C架构和总线驱动

一、I2C总线原理 I2C是一种常用的串行总线,由串行数据线SDA 和串线时钟线SCL组成。I2C是一种多主机控制总线,它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以,而 I2C 是基于multi master机制,一条总线上可允许多个master。       系统的I2C模块分为I2C总线控制器和I2C设备。I2C 总线控制器是

2015-01-19 00:41:22 1040

转载 Linux I2C驱动分析(二)----I2C板级设备扫描和数据传输

一、板级设备扫描        针对上一篇博客最后的i2c_scan_static_board_info(adap)函数处,首先先看下在系统启动的时候板级设备的注册。        针对我现在使用的开发板,对于I2C设备注册程序如下:点击(此处)折叠或打开static struct i2c_board_info i2c_devices_info[] 

2015-01-19 00:38:24 580

转载 Linux I2C驱动分析(三)----i2c_dev驱动和应用层分析

一、i2c-dev驱动分析1.1、设备驱动注册        分析这个驱动,还是从module_init()和module_exit()开始,程序如下:点击(此处)折叠或打开static int __init i2c_dev_init(void){    int res;    printk(KERN_INFO "i2c /dev entries d

2015-01-19 00:37:31 553

转载 device_register()分析

这篇文章也是从别的地方转载的,我的目的是搞清楚:当调用device_register()函数向系统注册一个设备的时候,我注册进去的设备是如何和他父设备关联起来的,以及如何加入到他所在的总线设备中的,但针对这个问题,好像通过这篇文章了解的并不透彻。但具体到代码分析的最后关于设备和驱动是如何绑定的,这并不是我这篇文章的重点,但大概看了一下,有点类型i2c总线上设备和驱动的匹配过程。看下图:

2015-01-19 00:35:43 668

windows下的nc命令工具.zip

windows下的nc命令工具.zip

2021-01-20

NVIDIA_Tegra_Linux_Driver_Package_TX2_-32.1 Release文档-很详细

NVIDIA_Tegra_Linux_Driver_Package_TX2_-32.1 Release文档-很详细

2019-04-22

小米、360wifi的ap模式驱动源码

小米、360wifi的ap模式驱动源码,讲解文章参见http://blog.csdn.net/hktkfly6/article/details/72886753

2017-06-06

镜头角度及可视距离

2017-01-03

OV9650之linux驱动和测试程序+资料.rar

OV9650之linux驱动和测试程序+资料.rar

2016-07-24

非常完整与详细的摄像头模块OV9650的资料

非常完整与详细的摄像头模块OV9650的资料

2016-07-24

S5P4418 datasheet

2016-07-16

蓝牙协议及其源代码分析

蓝牙协议及其源代码分析

2016-07-16

bluez.zip的代码

bluez.zip的代码

2016-07-16

bluez-libs-3.36.tar.gz

2016-07-16

Linux下Bluez的编程实现

Linux下Bluez的编程实现

2016-07-16

am4376 datasheet

am4376 datasheet

2016-07-16

S5P4418的datasheet

2016-07-16

空空如也

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

TA关注的人

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