自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 使用Wireshark实现串口拦截

    Debug时候有时候需要对串口进行拦截监视,以前在WinXP, Win7 都有几个软件可以使用,比如 AccessPort, Comspy等,但是在Win10上,这些软件都没办法用了,问题是com端口无法重复打开,可能跟Win10对权限管理比较严格有关系。没办法只能继续找解决方案。    忽然灵光一现,想到Wireshark一直专注在网络拦截,是不是有可能会有串口的拦截呢?打开Wiresh...

2018-03-22 14:08:17 17404 2

原创 ctags with depend

目的:在Linux环境里实现类似Windows IDE 环境以project方式查询代码,不会查到project以外代码里的内容。特别是在代码支持很多平台,很多函数定义都有很多份情况下。实现方式:以make编译产生出来的depend (*.d) 文件为基础,用 sed 做格式整理,然后给ctags 做tag.代码:#!/bin/bashfind . -name *.d

2017-12-29 10:07:30 285

原创 博客搬家说明

博客搬家

2017-09-22 09:29:04 376

原创 从Dying gasp功能看Linux的响应速度

前一阵子在做dying gasp功能测试,过程中恰好测试到了Linux的响应速度,特来分享一下。这里的dying gasp是用GPIO(input mode)实现的,在DC掉电的时候,此GPIO会立即被拉低, 而系统的3.3V电压还能维持10ms左右时间,这样在这个时间里便可以做些通知功能告诉外面的设备。GPIO信号侦测用interrupt方式实现,为了量测方便,在 中断服务程序(isr)

2017-09-13 16:19:35 2264

原创 Zephyr简单使用

Zephyr 官网https://www.zephyrproject.org/简介Zephyr 是一个为了IoT设备使用的RTOS, 是 Linux Foundation 开发的。 看到有几个好处: 1.架构和Linux非常相似,使用起来很顺手 2.Apache license, 限制少,适合商用应用SDK环境搭建Follow 官方的文档 https://www.

2017-09-13 15:03:21 3086

原创 ecos vector.S 分析II: exception/interrupt

mips cpu 产生exception/interrupt后,cpu 会跳到特定的几个地址上,BEV=0时,一般的在0x80000180,当然还有些其他地址,详细的要去看mips书籍这里有这样的代码FUNC_START(other_vector)    mfc0    k0,cause        # K0 = exception cause    nop    and

2017-09-13 22:18:24 1023

原创 MIPS CPU 简单分类

分类:- R2000/R3000 MIPS I Intruction set- R4000 MIPS III Intruction set -- MIPS32 4K five-stage pipeline32bit address and data pathscache 16KB 4KE 4KC 4KF -- MIPS32 24K http:/

2017-09-13 22:12:41 5320

原创 旧笔记本改造数码相框

CPU 500MHz 的笔记本还能做什么用?数码相框也许是个不错的选择,15寸的屏幕数码相框够爽吧!

2017-09-13 17:52:57 2925

原创 Cygwin编译可执行文件独立运行

Cygwin编译可执行文件独立运行。

2017-09-13 17:52:39 2174

原创 UrJTAG 使用和扩展

工作需要,时常要通过JTAG 做flash program, 一般的ICE软件也可以做,但是我们手上的几个不同类型的总是不是那么完美,要么因为software license的问题,软件没法用在某些新的芯片上;要么只能支持某一类型的芯片;还有时候莫名其妙就是不能写flash,所以觉得有必要研究一下JTAG的工作原理。  网上有很多这样的小工具和软件,在dd-wrt/open-wrt上面也有很多人在

2017-09-13 17:51:57 4825

原创 Flash erase/program 检查方法

注意:读本篇文章要对flash的操作有些基础知识,或者要找份datasheet来看看。    有两种方法Data polling 和Toggle bitData Polling在erase/programcmd写下去之后,Q7位会变成data取反(因为erase后是0xff,所以这时Q7=0),然后直到erase/program操作结束,Q7才会变成实际的data。也就是flash

2017-09-13 17:51:33 2025

原创 Cache在Driver中的使用简介

1.Cache的两个类型    --Write Through    当写数据进Cache时,也同时更新了相应的Memory里的内容    --Write back    只是写到Cache里,Memory的内容要等到cache保存的要被别的数据替换或者系统做cache flush时,才会被更新。2.Cache的两个函数    --Flush    把Cache内容写回Memory,当Cache为

2017-09-13 17:51:23 1323

原创 ARM 与 MIPS 比较

[前言]        这是一个几年以来我一直想做的“功课”,之所以称之为“功课”,而不能说是“文章”,是因为我觉得自己的知识还远远不够,不管是深度还是广度,也不管是全面性还是透彻性,我都不敢企及。但是我实在是很想把我的一些理解写出来,然后能和其他朋友一起探讨,纠正错误,补充完善,最终目的就是要加深对ARM和MIPS 这两种CPU架构的认识。    这里的目前最多只能算个草稿吧,待以后不断的补充。

2017-09-13 17:51:08 8815

原创 ARM CPU 简单分类

分类:- ARM7 系列 ARMv4T intruction set (but ARM7EJ use ARMv5TE) Core:ARM7TDMI 、 ARM7TDMI-S 、ARM720T 、 ARM7EJ No MMU 三级流水线- ARM9 系列 ARMv4T intruction set Core:ARM920T 、 ARM922T 和 ARM940T 5 级整数流水线- ARM9E 系列

2017-09-13 17:50:50 712

原创 switch芯片上的QoS,VLAN介绍

Switch芯片上的VLAN一般有两种:1.port based VLAN    port就是一个RJ45接口。    以port为基础来定义VLAN组,比如port0,port1是一个VLAN组,port2,port3是一个VLAN组。    这种VLAN一般会用来隔离不同的网络。2.802.1Q VLAN    通过区分802.1Q标签所带的VLAN ID值不同来划分到不同的VLAN组。  

2017-09-13 17:50:35 3943

原创 有线/无线网卡驱动原理简介

网卡里一个概念叫descripter,它是DMA和CPU交换控制的一个固定结构链表。在初始化的时候,申请一定数目的和descripter的结构一样大小的内存给网卡。对于收包方向上,还要申请同样数目的packet buffer挂在这些descripter上。发包方向上,只在要发包的时候把要发送的这个packet buffer挂在当前的descripter上,初始化的时候并不需要申请。    初始化还

2017-09-13 17:50:32 1826

原创 ecos kernel 分析

ecos kernel 是个典型的抢占式多任务的rtos,我这里想从代码上,把它的实现搭个框架出来。    分时的多任务系统是靠定时时间中断实现的,所以我从这里做切入点有kernel 的ecos重写了interrupt 处理代码,原来的在drv_api.c里实现的,现在的在kernel/intr/intr.cxx里,时间中断的注册在kernel/common/clock.cxx里Cyg_RealT

2017-09-13 17:50:17 631

原创 ecos vector.S 分析I: 主干部分

##-----------------------------------------------------------------------------## Hardware supplied vectors        .set    noreorder    .section ".reset_vector","ax"    # Reset vector at 0xBFC00000>>c

2017-09-13 17:50:02 401

空空如也

空空如也

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

TA关注的人

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