自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jalen_king

记录点滴,分享沉淀

  • 博客(104)
  • 资源 (13)
  • 收藏
  • 关注

原创 网络单线复用vlan设置及iptv卡顿看不了直播的解决

房间只布了1根网线,现在光猫iptv和上网要共用这根网线,需要用到vlan管理型交换机。这里使用了2台水星S105 pro千兆管理型交换机。通过配置802.1q vlan来隔离2路网络。端口1用于iptv端口2用于上网端口5用于连接汇聚的那根网线端口3-4配置如下:...

2020-11-29 17:31:01 16099 10

原创 设置tortoiseGit拉代码去掉自动CRLF

window换行符CRLF,linux换行符LF,win拷贝到linux会编译出错。解决办法:设置如下,然后删掉本地代码重新拉新代码即可,新代码会看到换行符变为了LF

2020-09-29 16:11:53 2180

原创 Virtualbox虚拟Ubuntu共享文件夹设置

# 虚拟机--设备--安装增强功能如果安装报错, 找到光驱图标,把光盘Eject。在次重复之前操作。会看到自动启动一个终端,自动安装。# 设置好虚拟机的 共享文件夹#linux中手动挂载:mkdir /mnt/sharesudo mount -t vboxsf share /mnt/share其中 share改成你设置的共享文件夹的名字,/mnt/share是linux...

2018-07-16 18:44:34 1355

原创 SpiFlash同步/异步读写单片机裸机实例

单片机裸机开发中会经常遇到外设速度过慢,长时间读忙等待,但CPU又不能长时间阻塞的问题。这种问题可以通过实现一个状态机来异步处理。异步状态机代码结构示例:enum{ eIDLE = 0, eSTART, eWAIT, eSUCCESS};static uint8_t stage = 0;//启动异步处理 void DoSomethingRequest(){

2017-11-23 16:58:22 2232 6

转载 对 jiffies 溢出、回绕及 time_after 宏的理解

转载地址:http://blog.csdn.net/dlutbrucezhang/article/details/9919453关于jiffies变量:     全局变量jiffies用来记录自启动以来产生的节拍的总数。系统启动时会将该变量初始化为0,此后,每当时钟中断产生时就会增加该变量的值。jiffies和另外一个变量息息相关:HZ。HZ是每秒系统产生的时钟中断次数,所以jiffi

2017-11-23 15:50:32 710

转载 匈牙利命名法(全)

匈牙利命名法(全)匈牙利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。它是由微软内部的一个匈牙利人发起使用的,结果它在微软内部逐渐流行起来,并且推广给了全世界的Windows开发人员。下面将介绍匈牙利命名法,后面的例子里也会尽量遵守它和上面的代码风格。还是那句话,并不是要求所有的读者

2017-10-28 09:25:06 13066

原创 linux配置静态路由实现路由转发和quagga实现动态路由实验

一、linux配置静态路由实现路由转发二、quagga实现动态路由。

2017-08-16 17:48:59 2423

转载 笔试题strcpy写法

[精华] 出现频率最高的笔试题strcpy写法http://www.chinaunix.net 作者:HopeCao  发表于:2008-10-30 15:49:14【发表评论】 【查看原文】 【C/C++讨论区】【关闭】题目:     已知strcpy函数的原型是:         char * strc

2017-07-06 10:48:39 549

转载 xargs详解

Xargs用法详解(原创)博客分类: Shell 简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如:这个命令是错误的find /sbin -perm +700 |ls -l这样才是正确的find /sbin -perm +700 |xargs ls -l 

2017-06-14 10:16:24 417

转载 Linux下Sniffer程序的实现

Linux下Sniffer程序的实现作者:Gianluca Insolvibile整理:Seal(永远的FLASH)出处:http://www.nsfocus.com日期:2003-04-02嗅探——Sniffer技术是网络安全领域里一项非常重要的技术!对于“Hacker”来说,他们可以以非常隐蔽的方式得到网络中传输的大量的敏感信息,如Telnet,ftp帐号和密码等等

2017-06-12 11:22:25 808

转载 判断IP及子网掩码是否合法(C语言实现)

http://blog.csdn.net/dxdxsmy/article/details/7237955工作中经常碰到IP及子网掩码是否合法的判断,虽然可以google出答案,还是整理下记录下来,以后用时方便。 一 原理1.       IP合法关于IP地址的合法性验证很简单,方法也很多,比如字符串分解、正则表达式等。2.       子网掩码是

2017-05-22 11:20:41 14834 1

转载 Word2007文档中插入或删除分隔符、页码

我们在编辑WORD文档的时候会经常使用分隔符,今天来讲一下怎样在Word2007文档中插入或删除分隔符。工具/原料Word2007步骤/方法1在WORD2007中插入分隔符很简单,首先将光标定位到需要插入的分隔符地方。然后点击分隔符,再选择插入的符号,例如,选

2017-02-24 14:45:27 3079

转载 捕捉信号SIGSEGV并回溯栈帧backtrace

引出问题在嵌入式应用程序开发过程中,调试一直是个老大难问题 -- 由于环境的限制,当程序发生段错误时不能很好的定位到底是哪里出现了错误,如果在程序发生段错误时能够清晰明了地看到程序的栈帧链,那无疑是雪中送炭。本文就捕捉信号SIGSEGV并在该信号的处理函数中打印出函数栈帧链来帮助我们调试程序。本文的程序适合ARM和X86平台。回溯栈帧原理理解函数栈帧的布局后,那么自

2016-11-25 10:32:46 1904

原创 插拔串口,linux系统提示OOM异常,提示内存用尽Out of memory: Kill process

插拔串口serial,linux系统提示OOM异常,提示内存用尽并杀死进程的问题。SysRq : Manual OOM execution Out of memory: Kill process

2016-11-18 17:27:49 2688

原创 awk笔记

awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。awk应用实例:(1)查找指定进程PID,并kill进程。 # ps | awk '{ if($4 == "/us

2016-10-12 11:12:25 272

原创 通过shell脚本生成C代码例程

通过shell脚本生成C代码例程:#!/bin/shtarget=$1BUILDER_VERSION_BRANCH=${VERSION_BRANCH}BUILDER_VERSION_MAJOR=${VERSION_MAJOR}BUILDER_VERSION_MINOR=${VERSION_MINOR}BUILDER_VERSION_EXTRA=${VERSION_EXT

2016-08-16 10:29:06 1785

转载 sysinfo结构体

sysinfo结构体Linux中,可以用sysinfo来获取系统相关信息。Linux中,sysinfo是用来获取系统相关信息的结构体。函数声明和原型:#include int sysinfo(struct sysinfo *info);结构体信息:在Linux 2.3.16中,结构体的信息是(单位是字节):[cpp] view

2016-08-10 09:08:21 1075

原创 Makefile学习实例1

知识1:#在Makefile中书写在同一行中的多个命令属于一个完整的shell命令行,书写在独立行的一条命令是一个独立的shell命令行。#因此:在一个规则的命令中,命令行“cd”改变目录不会对其后的命令的执行产生影响。就是说其后的命令执行的工作目录不会是之前使用“cd”进入的那个目录。#如果要实现这个目的,就不能把“cd”和其后的命令放在两行来书写。而应该把这两条命令写在一行上,用分

2016-08-09 17:04:21 520

原创 net-snmp移植记录

移植目标:把net-snmp开源snmp软件移植到嵌入式linux系统中。1.编译源码net-snmp版本下载最新的net-snmp-5.7.3我们采取静态编译,通过LDFLAGS="-static"指定编译静态库,留给应用程序调用。CC=powerpc-e300c3-linux-musl-gcc指定交叉编译工具连。root@ubuntu:/home/gjt/net-s

2016-06-30 16:36:38 3080

转载 官方保留的特殊MAC地址

下面是官方保留的特殊MAC地址,收藏参考:转载:http://blog.csdn.net/shanzhiziIEEE Std 802.1D and IEEE Std 802.1Q Reserved AddressesGroup MAC address valueOrganizationusing the valueStanda

2016-01-12 17:29:28 2786

转载 __attribute((aligned(n)))与#pragma pack (n)详解

原文地址:http://blog.chinaunix.net/uid-25445243-id-2354324.html字节对齐的方式第一种形式:#pragma pack (n)  //指定编译器按照n字节对齐每个变量或数据单元。#pragma pack ()   //取消自定义对齐方式。另一种方式:__attribute((aligned(n)))__attribute

2015-10-09 19:32:52 3208

原创 linux驱动编程的makefile文件编写与环境搭建

linux驱动编程的makefile文件编写:# 模块被编译时会前后两次进入该目录进行编译。# 在该目录下(即模块所在的目录)执行make命令时,第一次根据该Makefile# 进行编译,此时KERNELRELEASE变量的值为空,所以ifeq条件成立。# KERNELRELEASE是在内核源码树的顶层Makefile中定义的一个变量,其值为# 内核的版本号。ifeq ($(KERN

2015-10-05 03:13:43 801

转载 新版UBOOT启动流程

转载请注明地址:http://blog.csdn.net/zsy2020314/article/details/98240351.关于启动流程1.1 启动阶段分为3个,bl0,bl1,bl2。下面只是就功能方面对它们做说明,实际设计的时候,也许会对其具体功能做出调整,也就是说,这几个阶段的划分是就功能而言的,不能看得太死。      bl0:出厂的时候就固化在irom中一段

2015-10-04 22:49:15 3607

原创 uboot串口与标准输入输出代码详解

这里我们来分析下uboot串口设备初始化和串口stdio标准输入输出设备的初始化过程。一、display_banner与print_cpuinfouboot从启动开始,第一句打印就是调用display_banner,打印出我们期待已久的“U-Boot 2012.10-xxxx”信息。接着调用print_cpuinfo打印出cpu信息。const char version_string[] = U_B

2015-09-23 17:52:37 7433

转载 左值的定义和i++,++i

转载:http://blog.csdn.net/zlhy_/article/details/8349300算下来已经很久以前了,大概有那么几个星期了吧。看到了帖子上有人问为什么下面的语句的对错原因int i = 0;int *ip = &(i++); //错误int *ip = &(++i); //正确看到上面的语句,当时以为两个都是是对的啊,可是当我用

2015-09-17 22:26:25 669

原创 contiki_protothread源码

contiki_protothread下载地址:http://dunkels.com/adam/pt/download.html/* * Copyright (c) 2004-2005, Swedish Institute of Computer Science. * All rights reserved. * * Redistribution and use in source and bin

2015-08-22 15:47:27 930

原创 一个最简单的CLI命令行界面实现

#include "system.h"#include "utils/ui.h"#include "appl/cli.h"/*cli命令行界面,一共可以注册MAX_CLI_COMMANDS 个命令,命令名字可以是[A-Z,a-z,0-9]的某个字母。运行效果:CMD> F - Flash utilities f - Write factory mac address n - W

2015-07-25 15:17:48 4942

原创 裸机驱动模板

编写裸机驱动,一般都比较随意。这通常导致代码不统一,移植性差。本例以SPI FLASH来分析一种优秀的裸机驱动编写模板。 1.      首先定义一个设备类。 /*  *flash device class */typedef struct flash_dev_s{ const struct flash_dev_funs *funs;          /* F

2015-07-25 10:48:56 853

原创 spi flash驱动代码分析(二)

一、spi flash裸机驱动代码void W25q64_Init(void){ ......}/******************************************************************************** Function Name : W25q_ReadWriteByte * Description : W2

2015-07-19 12:37:19 3234

原创 spi flash驱动代码分析(一)

一、       spi_flash uboot驱动的一个应用实例1.      spi应用程序在操作之前调用spi_flash_probe去初始化spi_flash2.      初始化完毕即可读写spi flashvoid spl_spi_load_image(void){         //初始化SPI FLASH         flash =spi_flash_p

2015-07-17 18:19:37 12321

原创 利用/dev/mem实现用户空间驱动

/dev/mem是物理内存的全映像,可以用来访问物理内存,一般用法是open("/dev/mem",O_RDWR|O_SYNC),然后mmap,接着就可以用mmap的地址来访问物理内存,这实际上就是实现用户空间驱动的一种方法。它的好处参见博文:http://blog.csdn.net/gujintong1110/article/details/46684589#include #in

2015-07-15 10:57:09 1586

转载 开关中断与cpsid/cpsie指令

开关中断与cpsid/cpsie指令在汇编代码中,CPSID   CPSIE  用于快速的开关中断。CPSIDI;PRIMASK=1,;关中断CPSIEI;PRIMASK=0,;开中断CPSID 

2015-07-13 22:24:10 2332

原创 基于ucosii+x86pc的俄罗斯方块源码

闲着没事,写的俄罗斯方块。运行于ucosii+x86pc。/**description: 基于ucosii+x86pc的俄罗斯方块*create data: 2015.7.12*author: jalen_king*/#include "includes.h"#ifndef NULL#define NULL 0#endif#ifndef TRUE #define T

2015-07-12 13:58:10 1445

原创 多维数组的指针类型转换和参数传递

总结: 一维和多维数组的数组名,是一个指针,这个指针指向的是该数组的第一个“元素”。例1: char *p0; char buf0[2] = {1}; p0 = buf0;char *p0; 表示定义一个指向char型的指针。便于理解可以写成char (*p0); *p0是指针,指向 char类型。例2: char (*p1)[4]; char

2015-07-10 11:05:15 1013

转载 利用mmap /dev/mem 读写Linux内存

使用 hexedit /dev/mem 可以显示所有物理内存中的信息。 运用mmap将/dev/mem map出来,然后直接对其读写可以实现用户空间的内核操作。以下是我写的一个sample[cpp] view plaincopy#include  #include  #include  #include  #include

2015-06-29 17:26:56 4982

转载 通过printf设置Linux终端输出的颜色和显示方式

通过printf设置Linux终端输出的颜色和显示方式转载自:http://www.cnblogs.com/clover-toeic/p/4031618.html     在Linux终端下调试程序时,有时需要输出大量信息。若能控制字体的颜色和显示方式,可使输出信息对比鲜明,便于调试时观察数据。     终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式

2015-06-29 11:52:30 575

转载 Linux终端配置输入输出(termios)函数

termios系列函数-tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow, cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed, cfsetspeed等,用以获取/设置终端设备的属性/控制/速度。1. 函数声明函数声明#include #

2015-06-29 11:47:00 1642

转载 C语言宏定义中的字符串替换

## 是连接符号,连接两个字符串#是把名字代替成参数中的字符串#define PRINTF(value) printf( #value " = %d/n", value );#define FUNC(arg)void print##arg(void) { printf(#arg " = %d", arg);}FUNC(size);

2015-06-28 21:10:51 2588

原创 74HC595供电与逻辑电平选择不当导致输出异常

最近在调74HC595,单片机IO直连控制74HC595,单片机输出3.3v, 而74HC595是5.5v供电。发现74HC595输出时好时坏,不正常。解决:把74HC595的供电改为3.3v就OK了。网上查了下,说74HC595供电降到4.5v以下就可以了。可能跟芯片内部具体硬件实现有关,一般情况下,TTL电平电压范围,规定输出高电平>2.4V,输出低电平

2015-05-16 22:26:01 9698 1

原创 printf写入标出输出的缓冲区刷新条件

printf缓冲区刷新条件:    1 缓冲区填满    2 写入的字符中有‘\n’ '\r'    3 调用fflush(stdout)手动刷新缓冲区    4 调用scanf要从缓冲区中读取数据时,也会将缓冲区内的数据刷新  printf为例,在printf的实现中,在调用write之前加入了IO缓冲区,这是一个用户空间的缓冲,首

2015-05-15 15:08:13 2289 1

freescale imx bootlets bootstream elftosb介绍

Secure Boot with i.MX28 HAB.imx bootlets bootstream elftosb介绍

2015-10-05

MyCalc.exe

MyCalc.exe 程序员计算器

2015-04-03

mysql_refman-5.6-en.a4.pdf

mysql_refman-5.6-en.a4.pdf

2015-02-27

ncurses.tar.gz

ncurses.tar.gz ncurses.tar.gz ncurses.tar.gz

2015-02-27

MySQL 5.1参考手册 (HTML)

MySQL 5.1参考手册 (HTML)

2015-02-11

PONCat 手册

PONCat 手册

2014-05-12

VxWorks下设备驱动程序及BSP开发指南

VxWorks下设备驱动程序及BSP开发指南

2014-04-22

vxworks+reference+manual函数手册

vxworks+reference+manual

2014-04-22

VxWork开发相关书籍合集

VxWork开发相关书籍合集

2014-04-22

uboot最详细资料.pdf

uboot最详细资料.pdf

2014-04-22

嵌入式.VxWorks.系统开发与应用

嵌入式.VxWorks.系统开发与应用

2014-04-22

深入理解linux内核(中文第三版)

真正中文第三版,经典好书,找了好久才找到的好资源

2014-03-15

unix网络编程第二卷进程间通信

unix网络编程第二卷进程间通信

2014-02-22

空空如也

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

TA关注的人

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