原创 C指針的若干複雜問題

指針式真的可以說的C的核心了,很多人詬病指針,也有很多人覺得指針非常厲害和方便。不管怎麼樣,這玩意是真的難,感覺我寧願去和女生聊天也不想碰指針。但是用指針操作數組,函數是真的方便。學習了兩天才歸納了這些,算是勉勵自己。 1.指針全稱指針變

原创 移植三星版本uboot_s5pv210

我自己來移植的步驟: 1.移植前工作 重新編譯的sd_fusing。原版是在64位下編譯的用file查看,需要cd sd_fusing  ;  make clean ; make生成x64文件。 檢查主Makefile中的交叉編譯工具鏈的

原创 位置無關碼的理解和使用

1. 位置無關碼:CPU取指時用相對地址取指令(比如pc +4),只要其相對地址沒有變,都能夠取指並運行。 位置相關碼:利用絕對地址取指並運行,這就需要你存放程序(鏈接過程中)需要按照連接腳本的要求那樣執行(Makefile裏面有 -Tt

原创 S5pv210的x210中的內存裝配

1. 查詢s5pv210用戶手冊中的內存接口: DRAM0:內存地址範圍:0x20000000~0x3FFFFFFF(512MB),對應引腳是Xm1xxxx DRAM1: 內存地址範圍:0x40000000~0x7FFFFFFF(10

原创 變量屬性與存儲

主要學習變量的各種屬性,以及加深了變量與存儲的關係。真的不太熟悉的就是鏈接屬性吧。(存儲類名字不熟悉) 1.程序運行的基本概念:1).存儲類:存儲類就是存儲類型,描述變量在哪裏存放(堆,棧,代碼段(.text),數據段(.data),b

原创 鏈表與狀態機

1.單向鏈表概念以及相應操作:(1).基本概念:結構體允許成員類型不相同,解決數組第一個缺陷。鏈表允許大小可變,解決數組第二個缺陷。(該缺點三個解決思路:拆遷,搬遷(c++/java支持),外部擴展(鏈表))。鏈表就是用來存儲數據的。鏈

原创 linux虛擬機vmware中共享文件夾突然丟失

日常,好不容易弄完簡單的中斷代碼,正準備在虛擬機ubun14.4下編譯時,突然發現/mnt/hgfs/下的winshare不見了!!!!!!!!!!!!!!!!! 嘗試以下方法均無用:重啓虛擬機; 關閉虛擬機並重新設置共享文件夾; 檢查

原创 0-sdram初始化階段代碼

1.在寫簡單的led代碼中: C中定義操作寄存器地址: *( (volatile unsigned int *) ADDR ) 錯誤寫法: 1).忘記加上* 2).寫成   *( volatile (unsigned int * ADDR

原创 uart,iic,spi小結

同步/異步,並行/串行,差分/電平(USB和網絡通信 就是 異步,串行,差分) TTL/CMOS 電平爲0-5V,高爲1,低爲0(芯片之間);RS232電平中-3V~-15V表示1;+3~+15V表示0。

原创 LDD3環境搭建

在LDD3中編譯內核和驅動的的內核版本爲2.6.10。爲了簡便儘量使 正在運行的內核(將來模塊加載進去) 與內核源碼樹 的版本保持一致。便從http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/l

原创 C基本常被初學者忽略的祕密

C語言基本各專題都總結過了,但是還有些基本概念,總是被忽略但還是挺重要的。 1.操作系統的一種理解:1).操作系統負責管理和資源調度,而應用程序實際上來幹活,他們間用API做接口。在裸機下沒操作系統,所有資源都用來幹活,幹活量不大時肯定

原创 深入研究:內存&字符串&結構體&共用體&枚舉

(1).malloc和free:     0).正經步驟;malloc申請:記得判斷p是否爲空使用內存:只是用申請的,別超過範圍;不要改變p的值free釋放內存:還要記得p=NULL,避免野指針;          1).  void

原创 宏與預處理&函數與函數庫

1.由源代碼到可執行程序的過程:1).源碼.c->(編譯)->elf可執行程序2).源碼.c->(編譯)->目標文件.o->(鏈接)->elf可執行程序3).源碼.c->(編譯)->彙編文件.S->(彙編)->目標文件.o->(鏈接)-

原创 arm裸機學習告一段落

在很多個月後,裸機學習終於結束了。。。。學到了很多,但總怕會忘掉很多知識點,但是若不常用,總會忘的,不如總結一下不一樣的東西。 在裸機開發中,很關鍵的是分清層次結構與寄存器操作。 分清層次: 例如在按鍵中斷中,有按鍵層次和系統層次兩種中

原创 位操作小結與宏定義

講道理,在沒接觸arm裸機前一直覺得位運算挺雞肋的,就算是當年的彙編課設也沒怎麼用位操作。但是在統一編址的arm平臺,操作外設主要靠操作寄存器,這時候位操作真的是必不可少,當然位操作和位運算是分不開的。 (1).位運算: 位與&,位或