![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作记录
文章平均质量分 51
taina2008
非常热衷linux手机开发,目前从事网络信息安全相关工作
展开
-
已经工作了2个星期了
我接到的第一个任务就是51编程说是51编程基本是让我熟悉设备功能,没有写什么代码,所以比较简单。两个星期的任务一个星期就做完了。感觉如果没有工作还真不知道干点什么好呢,呵呵。我是底层软件组 ,可以说是嵌入式,我比较喜欢,虽然工资不高,但是记住现在就是学习,不要浪费每一分钟,不能觉得这个小项目做完了就可以休息了,必须每时每刻的学习,只有学习我才能进步,我现在想买个液晶显示器,最好是苹果的,呵呵,原创 2006-07-21 11:11:00 · 1190 阅读 · 0 评论 -
Linux操作系统内核编码风格
第 1 章: 缩进 Tabs(制表符)是8个字符的大小。 现在,有些人说8个字符大小的缩进导致代码太偏右了,并且在一个80字符宽的终端屏幕上看着很不舒服。对这个问题的回答是:如果你有超过3个级别的缩进,你就有点犯糊涂了,应当修改你的程序。 简而言之,8个字符的缩进使程序更易读,而且当你把功能隐藏的太深时,多层次的缩进还会对此很直观的给出警告。要留心这种警告信息。 第 2 章:转载 2007-05-09 08:45:00 · 673 阅读 · 0 评论 -
初始化就这么难吗?
今天遇到了几个和初始化相关的问题。tftp下载时需要设置download,还是upload,这个变量我没有初始化,所以现象很奇怪,每次运行后第一次总是upload,随后就是download了。同样的程序在不同的设备中,现象不一样,很有可能是初始化问题,因为如果有的变量没有初始化就会根据ram状态不同出现随机状态,这种bug很难发现,而且很致命。如果随机状态和需要的值是相同的(就像之前我需要的是s原创 2007-08-16 19:38:00 · 805 阅读 · 0 评论 -
嵌入式软件设计中查找缺陷的几个技巧
大部分软件开发项目依靠结合代码检查、结构测试和功能测试来识别软件缺陷。尽管这些传统技术非常重要,而且能发现大多数软件问题,但它们无法检查出当今复杂系统中的许多共性错误。本文将介绍如何避免那些隐蔽然而常见的错误,并介绍的几个技巧帮助工程师发现软件中隐藏的错误。 结构测试或白盒测试能有效地发现代码中的逻辑、控制流、计算和数据错误。这项测试要求对软件的内部工作能够一览无遗(因此称为"白盒转载 2007-05-17 10:52:00 · 902 阅读 · 0 评论 -
sourceinsight使用技巧
1 sourceinsight screen font 的默认字体是Verdana的,它是一直变宽字体。在Document style中可以将字体改为定宽的Courier 2 勾掉indent Open Brace和Indent Close Brace的效果: 继上一段,在相对缩进行里, 如果输入"{"或"}", 则自动和上一行列对齐 3 今天把一个用sourceinsight排版整齐的原创 2007-05-22 00:38:00 · 5334 阅读 · 1 评论 -
rabbit cpu学习笔记
1 Details on Rabbit Microprocessor Features The EIR register is used to point to a table of interrupt vectors for the externally generated interrupts. The IIR register its function is to point to原创 2007-05-23 23:58:00 · 836 阅读 · 0 评论 -
组播协议和组播路由
一、什么是组播1. 什么是组播?组播是一种数据包传输方式,当有多台主机同时成为一个数据包的接受者时,出于对带宽和CPU负担的考虑,组播成为了一种最佳选择。2. 组播如何进行工作?组播通过把224.0.0.0-239.255.255.255的D类地址作为目的地址,有一台源主机发出目的地址是以上范围组播地址的报文,在网络中,如果有其他主机对于这个组的报文有兴趣的,可以申请加入这个原创 2007-05-29 23:01:00 · 5192 阅读 · 0 评论 -
串行flash驱动,我写的代码与库中代码的对比
好的代码一定有好的数据结构typedef struct{ int port; char *shadow; char mask;} sf_cspin;typedef struct sf_device_st{ struct sf_device_st *next; //next element in linked list long pages; //number of usable原创 2007-06-01 14:23:00 · 1219 阅读 · 0 评论 -
库中调用user function
1在库函数中添加userfunc的好处,方便用户在库的适当时候处理接收到的数据,例如iphandler,和tftptick中都有调用userfunc typedef struct tftp_state { int (*udhandler)(); unsigned char tcmode; byte state; }; if ( (ts->udhandler =原创 2007-06-06 20:26:00 · 982 阅读 · 0 评论 -
web在线升级方案遭否定
研究了3天,今天终于可以通过web下载文件到串行flash中了,这个虽然很简单,但是首先得理解代码然后修改,其实我总共也就改了1行代码而已。毕竟基本框架已经有现成的了。但是组长还是坚持用tftp方式实现在线升级,目的是方便以后维护,添加板子测试。web难于维护,而且占地大。虽然很多道理,但是我想所有的应用都应该给予用户角度考虑,我在做EtherMux V4在线升级时,让客户使用过在线升级,操作起来原创 2007-06-04 22:47:00 · 1131 阅读 · 1 评论 -
rabbit 在线升级
首先loader把DLM程序搬移到ram中,然后跳转到DLM_WEB,DLM_WEB负责接受image程序到serial flash。第一步骤:image moto sflash。但是为什么要把sflash进行分区呢?为什么要做文件系统呢?flash先要擦除4k,然后再写,擦除的起始地址只能是4k的整数倍。在跳转之前要copy跳转代码到ram的顶部,原因是:当切换MBXCR时,x原创 2007-06-04 00:13:00 · 998 阅读 · 0 评论 -
xmem与root速度测试
#define MAX_NUM 1000typedef struct{ unsigned long SrcAddr; unsigned char SrcPort; unsigned short FrmNo; unsigned long Timer;} stDrNeInfo;stDrNeInfo pTmp2[MAX_NUM];unsigned long p原创 2007-04-24 17:00:00 · 981 阅读 · 0 评论 -
IEEE 802.1P:有关流量优先级
IEEE 802.1P:有关流量优先级的 LAN 第二层 QoS/CoS 协议 IEEE 802.1P 规范使得第二层交换机能够提供流量优先级和动态组播过滤服务。优先级规范工作在媒体访问控制(MAC)帧层(OSI 参考模型第二层)。802.1P 标准也提供了组播流量过滤功能,以确保该流量不超出第二层交换网原创 2007-04-23 23:39:00 · 10543 阅读 · 0 评论 -
远程桌面+自动登录
上班时有时带笔记本,很需要用别的自己进行远程登录访问,但是远程桌面要求必需有密码的用户才可以使用,但是平时自己使用的机子一般都是自动登录的,所以不设密码,如果再另设一个带密码的用户用起来很不方便,所以给自己的超级用户添加一个密码,然后修改注册表让xp可以自动登录,可以一举两得。 第1步:运行注册表编辑器,依次展开[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/原创 2007-03-21 22:12:00 · 3992 阅读 · 0 评论 -
V4 vlan 远端无法监控问题 解决全过程
当远程访问时是否能够拆掉tag给rabbit? 发现问题:通过一端监控不到同一vlan的对端设备。表示到了对方后并没有untag。 从data1口进入的数据出来时已经打上tag。 从uplink带tag的包进入后rabbit回应的包没有打tag。 从uplink无tag的包进入后tabbit回应包带tag。 开始原创 2007-06-21 13:49:00 · 1319 阅读 · 0 评论 -
lmhub连续丢帧问题
现象:总是出现一段时间接收不到帧的情况。然后又恢复了。发现问题原因:查看代码突然发现如果在读第一片的时候长度和片数错了,比如本来应该是4片,读出来变成了30片,那么就会直到30片后才会从新读帧头,那么就会丢真多帧。所以现在添加了检验,读出帧长度计算应该得片数,然后和读出的进行对比,如果不等认为是坏帧。那么如果读错最多错一帧,不会出现连续丢帧的情况。总结:必需对每一个外界读入的关键数据进行有原创 2007-06-22 18:53:00 · 1086 阅读 · 1 评论 -
VLAN 学习笔记
一: VLAN概述 VLAN技术允许网络管理者将一个物理的LAN逻辑地划分成不同的广播域(或称虚拟LAN,即VLAN),每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。但由于它是逻辑地而不是物理地划分,所以同一个VLAN内的各个工作站无须被放置在同一个物理空间里,即这些工作站不一定属于同一个物理LAN网段。一个VLAN内部的广播和单播流量都不会转发到其他V原创 2007-03-27 01:17:00 · 802 阅读 · 0 评论 -
vlan 经验总结
组长说如果能把一个概念很完整清晰的给别人讲明白,那自己才算真正的明白,如果自己都不清楚更别提给别人讲了。所以当接触了一个新的东西,一定要总结,每天总结是很有必要的。就当是自己在给别人讲解今天所学到的新知识。正好也可以作为技术报告使用。还能锻炼自己的总结表达能力,:-)smartbit是非常专业的以太网测试仪。而且配置十分的简单灵活。 设置好目的mac,原mac,目的ip,原ip。可以测试带宽流原创 2007-04-02 23:05:00 · 751 阅读 · 0 评论 -
c语言写的程序里,调用C++写的库里的函数
在C语言程序当中使用C++编写的函数,关键是函数名字解析问题。 使用关键字 extern "C" 可以使得C++编译器生成的函数名满足C语言的要求例子如下: 链接库头文件: //head.h class A { public: A();原创 2007-07-05 10:56:00 · 1929 阅读 · 0 评论 -
专家教您如何在C语言中巧用正则表达式
专家教您如何在C语言中巧用正则表达式 如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生。由于它可以极大地简化处理字符串时的复杂度,因此现在已经在许多Linux实转载 2007-07-04 00:22:00 · 929 阅读 · 0 评论 -
使用位段类型快速进行位分解
位段以位为单位定义结构体(或共用体)中成员所占存储空间的长度。 含有位段的结构体类型称为位段结构。位段结构也是一种结构体类型,只不过其中含有以位为单位定义存储长度的整数类型位段成员。采用位段结构既节省存储空间,又可方便操作。位段结构中位段的定义格式为: unsigned :例如:struct bytedata{unsigned a:2; /*位段a,占2位*/ unsi转载 2007-04-07 08:47:00 · 781 阅读 · 1 评论 -
调试在线升级,发现调试代码的重要性
bug3:版本回退无法完成。版本更新正常。现象:cgi.bin(P) ssi2.bin (S) 成功cgi.bin(S) ssi2.bin (P) 成功ssi2.bin从flash2中交换到了sf中,这时cgi.bin(P) ssi2.bin (S) 失败这里很重要的一个细节是cgi.bin文件比ssi2.bin小。很像当ssi2.bin从pf中搬移到sf中时损坏了。所以当再次从sf中搬原创 2007-07-05 10:53:00 · 839 阅读 · 0 评论 -
终于发现lmhub的瓶颈了
上次修改了广播的缺陷,直接写入所有通道来发送片,目的是可以同时接收对端发送的帧。(因为广播使能是不能发送片应答)现在更主要是问题,当然不是致命问题,却是最难解决的问题。lmhub目前最大的瓶颈就是搬移片的速度太慢。如果一次接收了所有路的片,并且假设都是接收了4片,那么就要搬移很长时间,而且搬移的过程中是关中断的。这样必然造成丢片。呵呵,当初脑子没转过来,为什么早没有想到关中断搬移原创 2007-04-19 00:53:00 · 718 阅读 · 0 评论 -
此次V4升级的经验教训
由于IGMP组播是去年12月份添加的,当时对于程序的整体把握还不是很好,所以添加新变量影响了在线升级的兼容性,增大了每个用户信息的存储长度,导致第二个用户以后读取参数都会发生错位了,尤其是ip地址,mac地址都改变了,所以很严重。甚至造成无法访问。用户参数保存时应该直接把数据结构copy到flash中,可以预留一些空间,并且在数据的最后要有检验和,当检验和不对时需要恢复默认参数。这样方便以后升原创 2007-06-14 00:01:00 · 2147 阅读 · 0 评论