中国程序员
rastevil
Be free to the world.
展开
-
mantis配置纪要
听到这个mantis,很多人或许会不知所云.这也是我上个星期第一次听到这个名词的感觉.什么是mantis?没有必要解释,google上一大把.需要说明的就是,mantis是螳螂的意思(今天还告诉老大是蟑螂,晕.).是一个开源的bug管理系统. 因为突然要配置这个,在不知它为何物的时候,在google上到处搜索,资料看似很多,不原创 2007-08-01 22:56:00 · 1154 阅读 · 0 评论 -
linux同步论
1 同步概要在计算机中或生活中,经常遇到这样一种情况:多个访问者对同一个资源进行访问、操作,这里面涉及到的一个关键内容就是如何同步,即怎么保证该次访问的内容是所期待的。简单的例子,甲希望访问一个资源,该资源更新日期为昨天,但乙却在甲访问前的插了一脚,对资源做了修改,那么甲访问到的就不是所期待的内容了,后续的操作可能就会出现问题。这个例子可能不太合适,你可能会说,那甲应原创 2009-11-14 16:48:00 · 500 阅读 · 1 评论 -
avr的应用程序启动我都做了啥(head.S)
由于我们的firmware不希望用到C库,所以链接器脚本和c-runtime都需要自己写,其实也没写,无非就是把C库的拿来改了几行。这没什么好说的,就把avr c-runtime主要做了写啥记录记录: 1. 设置中断向量表(vector),这在datasheet中是有定义的,每款芯片不同,向量个数亦不同,为了做到通用,这里定义了100+的向量,实际上,单独芯片通过定义_VECTORS_SI原创 2010-04-16 23:02:00 · 602 阅读 · 1 评论 -
avr的应用程序启动我都做了啥(enrty.S)
avr(at90...)的中断处理函数"注册"流程: head.S中设置了默认中断处理(即:not_defined -> reset),同时注意到,这些位置的标记(symbol)都是弱的(.weak指明),也就是说,可以在程序中替换这些默认中断处理,也就是正常的方式,通过编译器定义好的方式写中断函数就可以了,编译器将我们自定义的中断处理函数做如下处理:1. 保存现场(prologue);原创 2010-04-23 07:49:00 · 766 阅读 · 2 评论 -
奇怪的UNION现象
struct test_1 { int (*t1)(void); int (*t2)(void); }; struct test_2 { int (*t1)(void); }; struct test { union { struct test_1 t1; struc原创 2010-05-17 10:55:00 · 634 阅读 · 1 评论 -
精彩BUG人生[1] -- 开篇:费力的2周
BUG,程序员生活的一部分,相互离不了,互相不欢喜。也许你有精彩的人生,你有精彩的BUG吗?原创 2010-07-27 22:27:00 · 2463 阅读 · 0 评论 -
您看过多少文档?
您看过多少文档?还记得吗?原创 2010-08-07 18:47:00 · 576 阅读 · 3 评论 -
精彩BUG人生[2] -- 不对齐的精彩
精彩BUG人生[2] -- 不对齐的精彩原创 2011-01-06 22:09:00 · 436 阅读 · 0 评论 -
精彩BUG人生[3] -- 潜伏期很长
相同的硬件,相同的软件,一个能跑,一个不能跑,为什么?原创 2011-03-13 22:11:00 · 449 阅读 · 0 评论 -
如何走进嵌入式开发[2] -- bootloader
bootloader,嵌入式上,很多人选择的是U-BOOT,确实不错。其他的,比如VIVI啥的我也只闻其声,未见其人,也就不好评论了. 见过几个BSP,里面带的bootloader也都是U-BOOT。 感觉U-BOOT和内核很像,一部分汇编代码部分,特定的BOARD和CPU,初始化操作等;另一部分就是C代码,也有很多初始化工作;具体它们的功能如何,没有规定,有的CPU汇编部分做很多事原创 2009-10-30 23:11:00 · 495 阅读 · 0 评论 -
如何走进嵌入式开发[1] -- 基本组成
首先需要申明的是,本人也还是X鸟级,说的只是现阶段粗浅想法,可能明年就不是这样想了,一个朋友让我给介绍下如何入门,在此就总结关于这个话题的经验。 记得毕业设计时,觉得嵌入式这个名字比较高级,主要是以前没怎么听过,毕设就选了个相关题目,结果那叫惨不忍睹呀,只能靠文档充数。 鬼使神差,第一份工作做的竟然也是嵌入式相关,我就带着从学校里学得的XX理论,加入嵌入式新兵行列。 感觉,原创 2009-10-29 22:31:00 · 637 阅读 · 3 评论 -
u-boot memory layout
我们板子的 u-boot memory layout,这也算是看了u-boot好像就得到这个了。其实大多数系统类似,FYI。原创 2009-11-04 15:54:00 · 1373 阅读 · 0 评论 -
记录小代码
/**//** NO.1* KEY : printf 的参数 s ,设置输出范围的方法。* NOTE : 一直以来不看重这些基础,认为分析这样的代码没啥意义,拿机器里面跑一下就可以了,现在看来有点错误,这些是最基本* 的常识,应该很轻松就看到点上才得,所以本主题将记录一些基础的代码,来打牢基础知识。*/#define N 10main()...{ int i; for原创 2007-09-23 17:29:00 · 570 阅读 · 0 评论 -
[RFC NOTE]2661 -- 2.0 拓扑结构
2.0 拓扑结构L2TP的目标是:用隧道承载PPP帧。从拓扑图我们可以看到有两种情况:1. 远程主机通过电话网络创建与LAC的PPP连接,之后LAC通过隧道与LNS连接以达到访问HOME LAN的目的。HOME LAN通过PPP 的NCP 协商为其分配地址。HOME LAN的管理域提供AAA就好像用户是直接与NAS连接一样。2. 一个LAC 客户端(一个主机自身运行着L2TP)加入原创 2007-12-02 16:25:00 · 563 阅读 · 0 评论 -
USB CCID "复杂"命令拾零
本文记录 USB CCID 标准中几个"复杂"的命令,复杂在于在这些命令身上花的时间较之简单的命令多许多或者是理解的时间比较晚,可能就是刚才。主要有以下几条:ccid_T0APDU();ccid_Secure();ccid_Escape();ccid_Abort();ccid_Mechanical();ccid_SetDataRateAndClockFrequency(); ccid_T0APDU原创 2009-09-08 13:00:00 · 1445 阅读 · 0 评论 -
分组密码工作模式简述
这篇随笔将介绍对称加密中分组密码的工作模式 -- RT。工作模式:其实很愚钝,今天才突然明白这个模式是什么意思?所谓模式,就是方法,就是加密的方法,既然是对称加密,解密方法也包括在内了。在分组密码理论上,简单的说就是一个分组经过加密,产生一个对应的分组密文,至于如何加密,没有限制,模式就对应这里的“如何加密”,从A点到B点,我们可以有多种走法,供君选择,可以是直接A到B,也可以是A到C再到原创 2009-09-08 13:01:00 · 1842 阅读 · 0 评论 -
linux kernel bridge entrance
好久没有随笔了,帖下昨天的一部分笔记吧,现在在研究 linux bridge 部分,希望实现与硬件switch的完美结合。以下是内核 bridge 模块初始化部分分析,内核版本是 2.6.23.9。只涉及到入口点,STP部分及其他细节部分没有在这里谈及。通过这些入口,大致可以了解 linux bridge部分的流程了。Hope its useful. Any comment is welcome.原创 2009-09-08 13:02:00 · 2425 阅读 · 1 评论 -
PIN初探
这篇随笔是在许多疑问的驱使下完成的,当然也都是一些关于Personal Identification Number(PIN)的基础概念,可能比较白,反正我昨天还是处于发晕的状态。 问题1:常看到一些输入PIN的机器,用户直接在终端输入,这些PIN码存在哪里?怎么去运算比较呢?问题2:一般智能卡都有2个PIN,一个称之为SO-PIN(securiy officer PIN),另一个为U原创 2009-09-08 12:59:00 · 528 阅读 · 0 评论 -
arm linux clock implement
随性写的,不够完整,暂时先记着,还有一些没搞清楚呢!~ 近日在做新版内核的移植工作,将原来的BSP弄进最新内核2.6.31-rc7中(已经又出新的了)。 在改写系统定时器(sys_timer)部分时,发现总缺少什么东西,我也不知道少什么,老大的提议+参考大牛的代码,发现这个BSP竟然没有clock管理的代码,不过也对,他们是本着能跑的理念来完成这个BSP,没有用到的就省略了,也不能原创 2009-09-09 23:20:00 · 1110 阅读 · 1 评论 -
hrtimer小记
入正题,其实在arch下加入硬件相关的高精度时钟代码并不复杂,不过这个概念倒是让我费了不少力气,前几天的文档丢失事件也在其中。 Q:老结构的timer框架能用,为什么还要用hrtimer?A:相对old来说比较new,比较帅。 Q:真的能高精度吗?以前不行吗?A:能否高精度取决硬件的时钟源,也就是内核需要一个 clock source,这个的精度决定了你的精度,你的精度是原创 2009-09-26 01:05:00 · 1571 阅读 · 1 评论 -
精彩BUG人生[4] -- bug free or not
一晃几年,最近找回了帐号,来上一篇。原创 2014-08-25 15:29:50 · 563 阅读 · 0 评论