原创 記一次構建基於arm的linux根文件系統的曲折歷程
1. 前言 要研究操作系統,移植linux到嵌入式設備上運行是很好的實踐方式,可以大大的加深對操作知識的理解,計算機是一門理論與實踐緊密結合的學科,光有理論是不行的,還得多實踐。但是,這要求比較多的相關知識,以及對linu
原创 Kernel panic - not syncing: Requested init /linuxrc failed (error -13).
開發板平臺exynos-4413,使用busybox-1.31.1製作ext4根文件系統。 Kernel panic - not syncing: Requested init /linuxrc failed (error -13). 這
原创 編譯isl和cloog庫出現:fatal error: gmp.h: No such file or directory
當編譯is和cloog庫l時出現錯誤:fatal error: gmp.h: No such file or directory,這個錯誤很奇葩。 編譯isl是需要依懶gmp庫的,一般加上前綴--with-gmp即可,但是我這次無論怎麼操
原创 Linux移植遇到的一些問題及解決方法(arm開發板)
1. 前言 自上次研究嵌入式系統以後,已經過了12年了,這期間,linux內核和硬件都發生了非常大的變化,加這方面的開發人員相對較少,碰到一些問題,需要耗費比較多的時間和精力來搜索資料和自己研究,對於沒於耐心和基礎的人來說,確實不容
原创 string類find函數返回值判定
代碼示例 int main() { string s = "Alice Bob Charlie"; size_t position; position = s.find("none"); i
原创 多目錄Makefile編寫
對於在Linux下編程來說,編寫一個好的Makefile是非常重要的,寫好了可以給編譯帶來極大的便利。而網上對於多目錄下Makefile的編寫講解的非常少, 有很多都不能達到目的。這裏參考了網上一篇Makefile,它是
原创 IPV4地址和子網理解
1. 前言 雖然IPv6會在未來逐漸替代IPV4,但是IPV4還會在還當長的時間內存在,並繼續發揮作用,所以有必要對IPV4地址和子網有個比較清晰的理解。 2. 關於IPV4地址的表示這裏不在詳述,主要是怎麼去理解地址的分類和子網劃分。
原创 操作系統中的缺頁
缺頁是引入了虛擬內存後的一個概念。操作系統啓動後,在內存中維護着一個虛擬地址表,進程需要的虛擬地址在虛擬地址表中記錄。一個程序被加載運行時,只是加載了很少的一部分到內存,另外一部分在需要時再從磁盤載入。被加載到內存的部分標識爲
原创 學習彙編踩過的坑及優秀彙編教材推薦
1. 引言 在學校時沒有好好的學好彙編這門重要的基礎課程,總是聽很多老師說這門課程工作後很少用到,有衆多C,C++,JAVA等等高級語言。於是乎,這門課程草草結束,也沒有幾個學懂,即使有幾個同學有心學習,也是苦於晦澀難懂的教材,無從下手。
原创 VMWare下CentOS7無法啓動網絡
今天在VMWare中啓動CentOS使用的是橋接模式,突然不能上網了,看不到IP地址,使用命令systemctl status network.service 查看網絡,顯示網絡啓動失敗。網上有很多解決方案,但是我的情況都不是這些,好好的
原创 C語言多線程中使用errno全局變量的問題
在C語言中,不管理Unix/Linux還是Windows下,每次系統調用或庫函數調用後,如果判斷返回值不對,需要調用errno全局變量來判斷具體錯誤。既然errno是全局變量,那麼如果在多線程函數中它不會被別的線程充掉嗎?
原创 從源碼構建gcc交叉編譯環境
本文使用linaro公司製作的交叉編譯gcc源代碼進行安裝,那種製作好的交叉編譯工具鏈安裝不是咱的追求,不在學習範圍。 網上有很多安裝說明都是針對現成的工具鏈安裝,而且語焉不詳,很多問題沒有講解清楚。使用源碼編譯安裝,會加深