今天除錯乙個開發板,am335x,串列埠驅動做在kernel裡,名稱已經固定,而偏偏有個應用程式呼叫串列埠的時候必須以特殊的名字和順序,一開始想去修改kernel驅動,但是覺得太過麻煩,改完了之後測試完了又要改回去,覺得挺麻煩,於是想到了硬鏈結。
於是做了個指令碼進行了測試:
ln -s /dev/ttysa5 /dev/ttyeuart1
ln -s /dev/ttysa4 /dev/ttyeuart0
ln -s /dev/ttysa3 /dev/ttyeuart7
ln -s /dev/ttysa2 /dev/ttyeuart6
ln -s /dev/ttysa0 /dev/ttyeuart4
將後者對映到前者,應用程式對後者進行操作,相當於對前者進行操作,問題得到解決。
當然,也不是萬能,有另外的乙個應用程式採用這種鏈結就無法讀取裝置,有空再深究吧。
ln是linux中又乙個非常重要命令,它的功能是為某乙個檔案在另外乙個位置建立乙個同步的鏈結.當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後在 其它的目錄下用ln命令鏈結(link)它就可以,不必重複的占用磁碟空間。
1.命令格式:
ln [引數][原始檔或目錄][目標檔案或目錄]
2.命令功能:
linux檔案系統中,有所謂的鏈結(link),我們可以將其視為檔案的別名,而鏈結又可分為兩種 : 硬鏈結(hard link)與軟鏈結(symbolic link),硬鏈結的意思是乙個檔案可以有多個名稱,而軟鏈結的方式則是產生乙個特殊的檔案,該檔案的內容是指向另乙個檔案的位置。硬鏈結是存在同乙個檔案系統中,而軟鏈結卻可以跨越不同的檔案系統。
1.軟鏈結,以路徑的形式存在。類似於windows作業系統中的快捷方式
2.軟鏈結可以 跨檔案系統 ,硬鏈結不可以
3.軟鏈結可以對乙個不存在的檔名進行鏈結
4.軟鏈結可以對目錄進行鏈結
1.硬鏈結,以檔案副本的形式存在。但不占用實際空間。
2.不允許給目錄建立硬鏈結
3.硬鏈結只有在同乙個檔案系統中才能建立
這裡有兩點要注意:
第一,ln命令會保持每一處鏈結檔案的同步性,也就是說,不論你改動了哪一處,其它的檔案都會發生相同的變化;
第二,ln的鏈結又分軟鏈結和硬鏈結兩種,軟鏈結就是ln –s 原始檔 目標檔案,它只會在你選定的位置上生成乙個檔案的映象,不會占用磁碟空間,硬鏈結 ln 原始檔 目標檔案,沒有引數-s, 它會在你選定的位置上生成乙個和原始檔大小相同的檔案,無論是軟鏈結還是硬鏈結,檔案都保持同步變化。
ln指令用在鏈結檔案或目錄,如同時指定兩個以上的檔案或目錄,且最後的目的地是乙個已經存在的目錄,則會把前面指定的所有檔案或目錄複製到該目錄中。若同時指定多個檔案或目錄,且最後的目的地並非是乙個已存在的目錄,則會出現錯誤資訊。
3.命令引數:
必要引數:
-b 刪除,覆蓋以前建立的鏈結
-d 允許超級使用者製作目錄的硬鏈結
-f 強制執行
-i 互動模式,檔案存在則提示使用者是否覆蓋
-n 把符號鏈結視為一般目錄
-s 軟鏈結(符號鏈結)
-v 顯示詳細的處理過程
選擇引數:
-s 「-s《字尾備份字串》 」或 「--suffix=《字尾備份字串》」
-v 「-v《備份方式》」或「--version-control=《備份方式》」
--help 顯示幫助資訊
--version 顯示版本資訊
嵌入式 linux 編譯
第二次換了編譯環境編譯時又提示 make 3 drivers video console vgacon.o 錯誤 1 在網上搜尋結果 根據資訊的大概意思是關於vga的支援問題,在這裡我直接把關於vga的配置選項去掉不選,即 在執行 make menuconfig 配置時 不選vga 驅動。devic...
linux嵌入式開發
我的環境 主機 ubuntu 64位 開發板 mini2440 6 makefile檔案修改 在 opt friendlyarm mini2440 linux 2.6.29下執行 sudo vi.makefile 搜尋arm linux得到乙個結果 cross compile?arm linux 然...
嵌入式 Linux介紹
嵌入式 linux介紹 一 嵌入式是一門it技術。嵌入式這門it技術是幹什麼的?他有什麼價值?專門生產功能專一的智慧型電子產品 電子裝置 什麼是電子裝置?通電的東西,嵌入式來搞定,而且沒通電的影象化介面屬於應用層的那種,嵌入式也可以搞定。二 嵌入式開發的分類 基於系統平台的開發 做出來的產品有搭載系...