原创 S3C2440移植uboot之支持NANDFLASH

  上一節我們移植了uboot,S3C2440移植uboot之支持NORFLASH。這節我們繼續移植,支持NANDFLASH。 文章目錄編譯報錯拷貝s3c2410_nand.c,修改宏定義支持SC32440修改NFCONF,NFC

原创 S3C2440移植uboot之支持NAND啓動

文章目錄1.去掉 "-pie"選項2.修改之前的init.c3.修改start.s重定位部分4.修改鏈接腳本5.報錯修改6.重新修改鏈接地址   上一節S3C2440移植uboot之新建單板_時鐘_SDRAM_串口移植uboot初

原创 S3C2440移植uboot之支持NORFLASH

  上節S3C2440移植uboot之支持NAND啓動修改了代碼支持了NAND啓動。這節我們分析uboo使其支持NORFLASH的操作。 1.分析啓動錯誤   上一節啓動uboot出現如下所示,我們搜索下錯誤代碼Flash:   

原创 S3C2440移植uboot之啓動過程概述

文章目錄1.分析start.S2._start會跳轉到start_code處3.然後進入第一個C數:board_init_f()4.接下來進入重定位5.清除bss段   上節S3c2440移植uboot之編譯燒寫uboot燒寫了u

原创 S3C2440移植uboot之編譯燒寫uboot

移植環境 主 機:VMWare–ubuntu16.04 開發板:S3C2440 編譯器:arm-linux-gcc-4.3.2.tgz u-boot:u-boot-2012.04.01.tar.bz2 獲取uboot   進入h

原创 S3C2440移植uboot之新建單板_時鐘_SDRAM_串口

上一節S3c2440移植uboot之編譯燒寫uboot分析了uboot啓動過程,這一節來新建 支持S3C2440 1.新建單板 1.1 將2410的單板文件夾拷貝成2440: cd /work/system/u-boot-2012

原创 ubuntu16.04掛載根文件系統報錯mount:RPC:Unable to send;errno=Network is unreachable

環境:ubuntu16.04 開發板:s3c2440 掛載根文件系統時,報錯mount:RPC:Unable to send;errno=Network is unreachable。 本機ip:192.168.2.100 開發板

原创 循環鏈表練習(一)--約瑟夫環

  約瑟夫環問題,是一個經典的循環鏈表問題,題意是:已知 n 個人(分別用編號 1,2,3,…,n 表示)圍坐在一張圓桌周圍,從編號爲 k 的人開始順時針報數,數到 m 的那個人出列;他的下一個人又從 1 開始,還是順時針開始報數

原创 循環鏈表練習(二)--輪盤賭遊戲

遊戲規則:   n 個參加者排成一個環,每次由主持向左輪手槍中裝一顆子彈,並隨機轉動關上轉輪, 遊戲從第一個人開始,輪流拿槍;中槍者退出賭桌,退出者的下一個人作爲第一人開始下一輪遊戲。直至最後剩餘一個人,即爲 勝者。要求:模擬輪盤

原创 Linux mknod命令詳解

Linux一切皆文件,系統與設備通信之前,要建立一個存放在/dev目錄下的設備文件,默認情況下就已經生成了很多設備文件,有時候自己手動新建一些設備文件,這就會用到mknod。 語法格式:mknod[選項][文件名稱] [文件類型]

原创 辨析NOR FLASH地址左右移的問題

norflash芯片手冊command如下: 下面是2240對norflash的 一些操作: 擦除: 燒錄: 讀取: 問1:同樣是操作norflash,爲什麼cpu發出norflash芯片手冊中解鎖等命令時,傳

原创 S3C2440中斷寄存器有關

1.中斷分兩大類:內部中斷和外部中斷。 2.外部中斷。24個外部中斷佔用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。用這些腳做中斷輸入,則必須配置引腳爲中斷,並且不要上拉

原创 38.Linux應用調試-初步製作系統調用(用戶態->內核態)

1首先來講講應用程序如何實現系統調用(用戶態->內核態)?   我們以應用程序的write()函數爲例:   1)首先用戶態的write()函數會進入glibc庫,裏面會將write()轉換爲swi(Software Interr

原创 37.Linux應用調試-修改內核來打印用戶態的oops

1.在之前第36章裏,我們學習了通過驅動的oops定位錯誤代碼行 oops代碼如下所示: Unable to handle kernel paging request at virtual address 56000050    

原创 36.Linux應用調試-使用gdb和gdbserver

1.gdb和gdbserver調試原理   通過linux虛擬機裏的gdb,來向開發板裏的gdbserver發送命令,比如設置斷點,運行setp等,然後開發板上的gdbserver收到命令後,便會執行應用程序做相應的動作,來實現調