原创 分析一下PPPOE用戶上網的過程

分析一下PPPOE用戶上網的過程,首先用戶會在主機上運行PPPOE撥號程序(如ETHERNET600或XP自帶的撥號程序),撥號的主要目的就是拿到IP地址,請求到達BAS後,在BAS上會配置的PPPOE Server負責迴應請求,進行認證

原创 【轉】s3c2410 NandFlash K9F1208U0A/K9F1208U0B的讀取操作

  【轉】s3c2410 NandFlash K9F1208U0A/K9F1208U0B的讀取操作 我的板子上使用的是SAMSUNG的K9F1208U0B,下面我將對此型號的NandFlash讀取操作做一個講解。    首先我們先從物理

原创 一種可用來測試算法效率的足夠精確的計時方法【轉】

在實驗中經常要測試算法的效率,這時就必要要用到精確的計時方法,常用的方法如clock()等根本不起作用,因爲這些算法執行的時間實在太小了,一般都是毫秒級,甚至更低,前幾天在網上轉悠,終於找到了一種方法,如下,從MSDN Online看到的

原创 arm-linux東東之nand之2:3c2440_nand_probe

二  3c2440_nand_probe 如果你沒有意見.我們開始進入3c2440_nand_probe.這人函數可是幹活的傢伙.故事就是從這裏開始的. static int s3c2440_nand_probe(struct plat

原创 關於CPSR_cxsf

關於CPSR_cxsf msr cpsr_cxsf,r1 ;這裏的cxsf表示從低到高分別佔用的4個8bit的數據域 指令中有時還有出現cpsr_cf, cpsr_all, cpsr_c等,這裏: c 指 CPSR中的control fi

原创 VIM總能給你驚喜 之 顛倒行序

今天用vim寫代碼,其中有個比特域,由於他們在大小端不同的情況下定義不同。 如 struct test { #if defined(__LITTLE_ENDIAN_BITFIELD) uint8_t a:1,

原创 畢業了。結束了四年大學生涯。

好久沒有寫博客了,一直在忙畢業答辯,辦離校手續的事情。現在兩證到手,學校,再見!學生生涯,再見! 一件事情,告一段落總要做個總結,尤其是這麼大的事情。首先要感謝我的學校,感謝他們如此的重視畢業率,才讓我這麼輕鬆的就混到了畢業證。再感謝我的

原创 透明是一切設計的最高目標

透明是設計的最高目標。 比如: 多用戶操作系統,每個用戶都認爲自己獨立擁有這臺電腦。 NFS網絡文件系統,你察覺不到網絡的存在,像操作本機文件一樣操作網絡文件。 分佈式文件系統,你感覺不到文件存在多個主機上。 IM即時通訊軟件,抽象出在線

原创 netstat -i 和ifconfig -s的輸出解釋

caikelun@debian:~$ netstat -ni Kernel Interface table Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-D

原创 vim 編譯系統剪切板 支持

最近在家裏的電腦上發現vim用不了系統剪切板。+寄存器不管用。 下vim7.3的代碼來編譯,--with-features=huge編譯之後。系統剪切板還是用不了。 一直以爲是編譯的問題,調各種選項都沒用。。 後來才發現,是缺少Xorg庫

原创 用sed將C++註釋(//) 替換成存 C(/* ... */)註釋

先將//...替換成/* //... */ 在vim中可以這樣 :%s/\/\/.*$/\/* & *\//g 命令行 sed "s/\/\/.*$/\/* & *\//g" 再刪除// :%s/\/\///g 命令行 sed "s/\

原创 搞段好玩的代碼玩玩

#include <stdio.h> // 用 gcc -z execstack 選項編譯 int main(void) { unsigned char funtest[] = { 0x55, 0x48,0x89,0xe5,

原创 struct 內存對齊

字節對齊的細節和編譯器實現相關,但一般而言,滿足三個準則:1) 結構體變量的首地址能夠被其最寬基本類型成員的大小所整除;2) 結構體每個成員相對於結構體首地址的偏移量(offset)都是成員大小的整數倍,如有需要編譯器會在成員之間加上填充

原创 linuxcode_turing

linuxcode_turing

原创 arm寄存器別名

APCS,ARM 過程調用標準(ARM Procedure Call Standard),提供了緊湊的編寫例程的一種機制,定義的例程可以與其他例程交織在一起。最顯著的一點是對這些例程來自哪裏沒有明確的限制