Time of Update: 2018-12-03
將RedHat Linux 9.0的核心升級到2.6.18後,就開始學習驅動的編寫了。 在ldd3中,有一個helloworld模組,C程式碼如下:#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){ printk(KERN_ALERT "Hello, world/n");
Time of Update: 2018-12-03
boost庫的編譯的Properties:屬性 variant=debug|release Select the build variant link=static|shared Whether to build static or shared libraries threading=single|multi Whether to build single or multithreaded
Time of Update: 2018-12-03
tar -cvf ***.tar 目錄tar -xvf ***.tar*************************emv打成tar包emvcd domains/emvDomain/ls -lrtpwdcd emvls -lrtpwdcd /emv/Desktop ****ftp上的路徑ls -lrtemvtar -cvf emv20120326.tar emv ***打成tar包ls -lrtpwdcd ..cd domains/emvDomain/cd emvls -lrtcd ..
Time of Update: 2018-12-03
make書寫規則包含兩個部分,一個是依賴關係,一個是生程目標的方法。在makefile檔案中,規則的順序是很重要的。因為makefile檔案中只應該有一個最終目標,其他的目標都是被這個目標所連帶出來的,所以一定要讓make知道最終目標是什麼。一般來說,定義在makefile檔案中的目標可能會有很多,但是第一條規則中的目標將被確立為最終的目標。make所完成的也就是這個目標。
Time of Update: 2018-12-03
在平時的開發過程中經常都會涉及到linux和linux之間、linux和windows之間的檔案傳輸或者共用的情況(最好關閉防火牆),現根據平時使用的情況總結如下:一、linux和windows檔案分享權限設定1. 當linux為虛擬機器時比如安裝在VMware下,可以直接利用其虛擬工具VMware
Time of Update: 2018-12-03
1. 不要當“傳教士”很多人在討論區不斷的引起 "Linux vs. Windows" 之類的討論,甚至爭的面紅耳赤,這是沒有必要的。這種爭論是浪費時間而沒有任何用處的。對,你花了一下午,用許多事實“捍衛”了 “Linux 比 Windows 好” 這個說法。但是 Windows 的支援者並不會喜歡上 Linux,他們只是稍微退縮一下,然後找一些新的證據來跟你辯論。世界上的人們都在利用 Linux 研究最前沿的科學,我們還在這裡討論 “要不要用 Linux”
Time of Update: 2018-12-03
今天學習了linux環境下C語言編程中makefile的編寫。這隻是一個簡單的例子:假設在一個practice目錄下有如下檔案:main.c hello1.c hello2.c hello1.h hello2.h
Time of Update: 2018-12-03
驅動程式可以和核心一起編譯,也可以作為一個模組單獨編譯。但為了方便調試驅動程式,一般將以模組化的方式對驅動進行編譯。 一、 以模組化的方式編譯驅動程式 板子是FL2440,linux核心是2.6.12的,以led驅動程式為例。源檔案為:驅動程式s3c2440_leds.c、測試程式led.c。現在只需寫段Makefile,即可對led驅動程式進行編譯。內容為:obj-m
Time of Update: 2018-12-03
由於loader升級需要使用flash來儲存資料,但在android系統上又沒有合適的介面使用,因此對MTD介面設計研究了一下並移植了flash管理代碼,有些心得記錄一下。專有名詞:1. MTD:Memory Technology Device,記憶體技術裝置,2. JEDEC:Joint Electron Device Engineering Council,電子電器裝置聯合會3. CFI:Common Flash
Time of Update: 2018-12-03
虛擬機器下的Linux 是英文版,以前為了能更快的熟悉linux,所以安裝的是英文版。 但是最近做一些ARM開發板上的實驗時,都需要支援中文,在英文版的Linux下鼓搗了半天,沒有能夠成功支援中文輸入和顯示。就想著打算安裝另一個中文版的Linux虛擬機器。但是裝了幾次,都是進行到換第二張光碟片時,出現光碟片2無法被掛載。這讓我很不甘心。
Time of Update: 2018-12-03
進入目前使用者根目錄,vi .bashrc,添加如下語句即可: PS1='#' //針對root使用者 PS1='$' //針對普通使用者這樣目前使用者登入時所有的終端行提示符只會顯示#或$在單引號中也可以添加其他內容,參數如下:/d 日期/H 完整主機名稱/h 主機的第一個名字/t 顯示時間(24)時分秒/T 顯示時間(12)/A 顯示時間(24)時分/u 顯示目前使用者名/V bash版本/w
Time of Update: 2018-12-03
首先說明一下mmap函數用途:採用共用記憶體通訊的一個顯而易見的好處是效率高,因為進程可以直接讀寫記憶體,而不需要任何資料的拷貝1、將一個普通檔案對應到記憶體中,通常在需要對檔案進行頻繁讀寫時使用,這樣用記憶體讀 寫取代I/O讀寫,以獲得較高的效能;2、將特殊檔案進行匿名記憶體映射,可以為關聯進程提供共用記憶體空間;適用於具有親緣關係的進程之間。由於父子進程特殊的親緣關係,在父進程中先調用mmap(),然後調用 fork()。那麼在調用fork()之後,子進程繼承父進程匿名映射後的地址空間,
Time of Update: 2018-12-03
linux --- inotify 檔案系統變化通知機制在linux下開發過程中,使用者態需要核心提供一些機制,以便使用者態能夠及時地得知核心或底層硬體裝置發生了什麼,從而能夠更好地管理裝置,給使用者提供更好的服務,如 hotplug、udev 和 inotify 就是這種需求催生的。Hotplug 是一種核心向使用者態應用通報關於熱插拔裝置一些事件發生的機制,案頭系統能夠利用它對裝置進行有效管理,udev 動態地維護 /dev 下的裝置檔案inotify
Time of Update: 2018-12-03
Linux核心定時器一、定義/include/linux/timer.hstruct timer_list {struct list_head entry;unsigned long expires;void (*function)(unsigned long);unsigned long data;struct tvec_t_base_s *base;#ifdef CONFIG_TIMER_STATSvoid *start_site;char start_comm[16];int start_
Time of Update: 2018-12-03
最近管理了幾台伺服器,學習了一些命令,記下:1、telnet用法:telnet 192.168.0.1形式:telnet ip;如何輸入伺服器的使用者名稱和密碼,登入2、ssh:ssh liounian@192.168.0.1形式:ssh username@ip如何輸登入密碼,登入伺服器3、tsclient(連結windows伺服器):tsclient
Time of Update: 2018-12-03
一、df 命令; df 是來自於coreutils 軟體包,系統安裝時,就內建的;我們通過這個命令可以查看磁碟的使用方式以及檔案系統被掛載的位置; 舉例: [root@localhost beinan]# df -lh Filesystem 容量 已用 可用 已用% 掛載點 /dev/hda8 11G 6.0G 4.4G 58% / /dev/shm 236M 0 236M 0% /dev/shm /dev/sda1 56G 22G 35G 39% /mnt/sda1 我們從中可以看到,
Time of Update: 2018-12-03
? *.Z compress 程式壓縮的檔案;? *.bz2 bzip2 程式壓縮的檔案;? *.gz gzip 程式壓縮的檔案;? *.tar tar 程式打包的資料,並沒有壓縮過;? *.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮Z compress 程式壓縮的檔案 PS:因為現在已經不常用,所以不作介紹gzip, zcat[root@linux ~]# gzip [-cdt#] 檔名[root@linux ~]# zcat 檔名.gz
Time of Update: 2018-12-03
想學習一下驅動,於是找了一個執行個體HelloWorld,編寫自己的第一個驅動程式1、環境搭建安裝ubuntu系統,開啟終端,以root許可權進入,命令如下bory@borya:~$ sudo -s查看自己linux核心包root@borya:~# apt-cache search linux-sourcelinux-source - Linux kernel source with Ubuntu patcheslinux-source-3.0.0 - Linux kernel source
Time of Update: 2018-12-03
Time of Update: 2018-12-03
字元裝置驅動執行個體有了上一節的基礎,下面學習一下如何編寫一個字元裝置驅動,並通過用戶端測試,驗證字元裝置驅動是否建立成功1、字元裝置驅動程式下面是字元裝置驅動源碼borytest.c#include <linux/module.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/errno.h>#include <linux/mm.h>#include <