一、嵌入式根檔案系統 Linux支援多種檔案系統,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,為了對各類檔案系統進行統一管理,Linux引入了虛擬檔案系統VFS(Virtual File System),為各類檔案系統提供一個統一的操作介面和應用編程介面。 Linux啟動時,第一個必須掛載的是根檔案系統;若系統不能從指定裝置上掛載根檔案系統,則系統會出錯而退出啟動。之後可以自動或手動掛載其他的檔案系統。
#defineKERN_EMERG"<0>"/*緊急事件訊息,系統崩潰之前提示,表示系統不可用*/#defineKERN_ALERT"<1>"/*報告訊息,表示必須立即採取措施*/#defineKERN_CRIT"<2>"/*臨界條件,通常涉及嚴重的硬體或軟體操作失敗*/#defineKERN_ERR"<3>"/*錯誤條件,驅動程式常用KERN_ERR來報告硬體的錯誤*/#defineKERN_WARNING"<4>"/*警告條件,對
led.c #include <linux/fs.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/ioport.h>#include
我們經常用busybox產生根檔案系統,可是根檔案系統起來以後命令列提示符只有一個“#”號,沒有像linux發行版那樣是[user@hostname currentpath] #(例如,root@ubuntu:/rootfs/filesystem/etc#
buttons.c#include <linux/fs.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/ioport.h>#include
一、移植Busybox 所謂製作根檔案系統,就是建立各種目錄,並且在裡面建立各種檔案。對於建立一個最下根檔案系統,只需要在/dev目錄下建立必要的裝置節點、在/etc目錄下建立一些設定檔就可以了,如果Busybox使用動態連結程式庫,那還要在/lib目錄下包含庫檔案。Busybox支援uClibc庫和glibc庫,對Linux2.2.x之後的內涵支援良好。Busybox的源碼可以從http://www.busybox.net/downloads/下載,我下載的是busybox-1.7.
在針對嵌入式開發中,常常我們需要事先配置好一些網路服務,才能使開發板方便的下載或掛載主機的核心和檔案系統。系統在啟動BootLoader後,通過tftp來下載Linux核心鏡像到記憶體運行,然後通過NFS來啟動Linux主機上的目標檔案系統,並通過DHCP伺服器來為開發板分配IP地址。這裡僅僅是搭建伺服器環境。在配置TFTP服務一般遇到的問題都是比較多的。經過幾次失敗嘗試後,總結了以下經驗以共用: 一、檢查是否已經安裝好TFTPcaoyi@ubuntu:/home/study$
一、製作mkfs.jffs2工具 首先得準備好兩個軟體包 ,一個是MTD裝置的工具包,另一個是zlib壓縮包,在這我的MTD裝置工具包為mtd-snapshot-20050519.tart.tar,zlib壓縮包是zlib-1.2.3.tar.tar。步驟:(1)解壓zlib-1.2.3.tar.tar,$tar xf zlib-1.2.3.tar.tar
buttons.c#include <linux/fs.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/ioport.h>#include
一、下載工具鏈,並解壓到根目錄 (1)、通過samba將下載好的工具鏈(我這裡用的是toolchains_for_s3c2410.tar.bz2)拷貝到/home目錄下 解壓toolchains_for_s3c2410.tar.bz2: tar –jxvf toolchains_for_s3c2410.tar.bz2 於是產生crosstool目錄,一般把它拷貝到根目錄
中斷處理過程:cpu每執行一條指令之前,都會查看是否有中斷髮生,如果沒有中斷,則執行這條指令,如果有中斷,則不執行這條指令.然後:1. 硬體:1.1 CPU進行irq模式1.2 CPU強制跳到中斷向量入口地址去執行2. 軟體:2.1 在"中斷向量入口地址"那裡有處理代碼, 一般是一條跳轉指令2.2 儲存"被中斷的"現場2.3 處理中斷:2.3.1 分辨中斷源2.3.2 調用對應的處理函數2.4 恢複"被中斷的"現場對於LINUX, 2.1~2.4都幫我們做好了,我們只需要事先提供"
buttons.c #include <linux/fs.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/ioport.h>#include
不管你是從事於Linux核心工作還是出於興趣愛好,Linux核心源碼都是非常好的學習資源。意味著就要經常的和核心源碼大交道,那麼軟體工具就是少不了的。在Windows系統上確實有著許多好用的軟體,這點還是可以肯定的。對於像核心這種複雜龐大的源碼樹,Source
buttons.c#include <linux/fs.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/ioport.h>#include
buttons.c#include <linux/fs.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/ioport.h>#include
buttons.c#include <linux/fs.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/ioport.h>#include
* 掌握使用strace工具跟蹤系統調用和訊號的方法* 掌握各類記憶體測試載入器,比如memwatch(是不是和那個)*
首先確定系統是否安裝了nfs服務,預設的好像沒有。那麼就要安裝咯,不過很簡單的。一:測試 dpkg -l nfs* 斷行符號,如果有:caoyi@ubuntu:~$ dpkg -l nfs*Desired=Unknown/Install/Remove/Purge/Hold| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend|/ Err?=(none)/Reinst-required
一. 知識要點:1. 核心打補丁,編譯,UBOOT燒寫實驗2. 核心功能,目錄結構核心菜單,驅動直接編譯進核心和模組概念,結合Makefile,Kconfig分析3. 核心的啟動過程分析 3.1 核心產生過程解析 3.2 核心解壓縮、 vmlinux啟動流程(難,大致瞭解流程) 3.3 機器ID的比較 3.4 UBOOT參數傳遞的啟動參數解析 3.5 start_kernel()的典型過程 setup_arch() rest_ini
buffer.c#include <linux/fs.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/ioport.h>#include