![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动
文章平均质量分 83
Pipi_Cat
这个作者很懒,什么都没留下…
展开
-
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 · 972 阅读 · 0 评论 -
ecos vector.S 分析I: 主干部分
##-----------------------------------------------------------------------------## Hardware supplied vectors .set noreorder .section ".reset_vector","ax" # Reset vector at 0xBFC00000>>c原创 2017-09-13 17:50:02 · 382 阅读 · 0 评论 -
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 · 603 阅读 · 0 评论 -
有线/无线网卡驱动原理简介
网卡里一个概念叫descripter,它是DMA和CPU交换控制的一个固定结构链表。在初始化的时候,申请一定数目的和descripter的结构一样大小的内存给网卡。对于收包方向上,还要申请同样数目的packet buffer挂在这些descripter上。发包方向上,只在要发包的时候把要发送的这个packet buffer挂在当前的descripter上,初始化的时候并不需要申请。 初始化还原创 2017-09-13 17:50:32 · 1761 阅读 · 0 评论 -
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 · 3851 阅读 · 0 评论 -
ARM 与 MIPS 比较
[前言] 这是一个几年以来我一直想做的“功课”,之所以称之为“功课”,而不能说是“文章”,是因为我觉得自己的知识还远远不够,不管是深度还是广度,也不管是全面性还是透彻性,我都不敢企及。但是我实在是很想把我的一些理解写出来,然后能和其他朋友一起探讨,纠正错误,补充完善,最终目的就是要加深对ARM和MIPS 这两种CPU架构的认识。 这里的目前最多只能算个草稿吧,待以后不断的补充。原创 2017-09-13 17:51:08 · 8718 阅读 · 0 评论 -
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 · 1264 阅读 · 0 评论 -
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 · 1931 阅读 · 0 评论 -
UrJTAG 使用和扩展
工作需要,时常要通过JTAG 做flash program, 一般的ICE软件也可以做,但是我们手上的几个不同类型的总是不是那么完美,要么因为software license的问题,软件没法用在某些新的芯片上;要么只能支持某一类型的芯片;还有时候莫名其妙就是不能写flash,所以觉得有必要研究一下JTAG的工作原理。 网上有很多这样的小工具和软件,在dd-wrt/open-wrt上面也有很多人在原创 2017-09-13 17:51:57 · 4721 阅读 · 0 评论 -
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 · 5283 阅读 · 0 评论 -
使用Wireshark实现串口拦截
Debug时候有时候需要对串口进行拦截监视,以前在WinXP, Win7 都有几个软件可以使用,比如 AccessPort, Comspy等,但是在Win10上,这些软件都没办法用了,问题是com端口无法重复打开,可能跟Win10对权限管理比较严格有关系。没办法只能继续找解决方案。 忽然灵光一现,想到Wireshark一直专注在网络拦截,是不是有可能会有串口的拦截呢?打开Wiresh...原创 2018-03-22 14:08:17 · 16713 阅读 · 2 评论