原创 U_boot 的 bootcmd 和bootargs參數詳解

 轉自 :http://linux.chinaunix.net/bbs/archiver/tid-1111568.html     U-boot的環境變量值得注意的有兩個: bootcmd 和bootargs。 u-bootcmd  

原创 簡單的彙編實例註釋

ARM是RISC結構,數據從內存到CPU之間的移動只能通過L/S指令來完成,也就是ldr/str指令。 比如想把數據從內存中某處讀取到寄存器中,只能使用ldr 比如:   ldr r0, 0x12345678   就是把0x1234567

原创 diff和patch詳解與例子

轉載自:diff和patch使用指南diff和patch是一對工具,在數學上來說,diff是對兩個集合的差運算,patch是對兩個集合的和運算。 diff比較兩個文件或文件集合的差異,並記錄下來,生成一個diff文件,這也是我們常說的pa

原创 lua與C/C++

目錄(?)[+] 頭文件例一簡單運行Lua代碼例二與Lua交換數據例三在C中調用Lua子函數例四在Lua代碼中調用C函數 閉包closure僞索引函數庫 例五與Lua交換自定義數據 使用metatable提供面向對象調用方式 例六使

原创 vim常用命令(全)

鍵盤移動 (Move) 一切都從鍵盤的移動k -> 上 upj -> 下 downh -> 左 leftl -> 右 rightz -> 重畫屏幕,當前光標變成屏幕的第一行 (redraw current line at top of

原创 kmalloc分配內核堆空間

kmalloc函數的原型是: [cpp] view plaincopy #include <linux/slab.h>   void *kmalloc(size_t size, int flags);   kmal

原创 U-BOOT源碼分析及移植

 本文從以下幾個方面粗淺地分析u-boot並移植到FS2410板上: 1、u-boot工程的總體結構 2、u-boot的流程、主要的數據結構、內存分配。 3、u-boot的重要細節,主要分析流程中各函數的功能。 4、基於FS2410板

原创 makefile簡單實例

key_led.bin : crt0.S key_led.c # 生成的key_led.bin依賴與兩個源文件crt0.S和key_led.c # -g生成可調試的程序 -c只編譯不連接 -o編譯後生成的文件生成crt0.o a

原创 新型的按鍵掃描程序,僅三行程序

新型的按鍵掃描程序 不過我在網上游逛了很久,也看過不少源程序了,沒有發現這種按鍵處理辦法的蹤跡,所以,我將他共享出來,和廣大同僚們共勉。我非常堅信這種按鍵處理辦法的便捷和高效,你可以移植到任何一種嵌入式處理器上面,因爲C語言強大的可移植性

原创 __asm__ volatile 之 C語言嵌入式彙編

  在linux/include/unistd.h中定義的系統調用嵌入彙編宏函數_syscall0。 其實展開不難發現就是一個函數,只不過用宏定義了。其中關鍵的是怎麼理解 __asm__ volatile這個語法。對於__asm_

原创 static inline內聯函數

 內聯函數有些類似於宏。內聯函數的代碼會被直接嵌入在它被調用的地方,調用幾次就嵌入幾次,沒有使用call指令。這樣省去了函數調用時的一些額外開銷,比如保存和恢複函數返回地址等,可以加快速度。不過調用次數多的話,會使可執行文件變大,這樣

原创 strcpy strcmp memcpy源碼

好久沒有自己寫博客了,現在把一些庫函數的實現寫一下,寫在CSDN上,就當做收藏吧 char *strcpy(char *dest, const char *src) // strlen(dest) >== strlen(src)

原创 C語言中可變參數的用法——va_list、va_start、va_arg、va_end參數定義

 cC可變參 目錄(?)[+] C語言可變參簡介 寫一個簡單的可變參數的C函數  可變參數在編譯器中的處理  可變參數在編程中要注意的問題  小結  C語言可變參簡介     我們在C語言編程中會遇到一些參數個數可變的

原创 Linux 操作系統 SIGTERM等信號意義

SIGHUP     終止進程     終端線路掛斷 SIGINT     終止進程     中斷進程 SIGQUIT   建立CORE文件終止進程,並且生成core文件 SIGILL   建立CORE文件       非法指令 SIGT