Linux移植的一般過程

前一陣子在公司移植Linux2.6到一塊ARM11的開發板上,下面粗略講講移植Linux的一般過程。 一開始的UBOOT的移植不多說了。UBOOT最後有兩種方式進入Linux,一種是使用uImage,可以在引導時附加命令列參數,但操作起來比較麻煩。另一種較簡單的是使用tftp將Linux核心載入到0x80008000(預設起始地址)的地方,然後使用go命令直接跳轉。我使用的是第二種方式,其缺點是調整命令列參數的時候需要修改.config檔案,然後強制重新編譯setup.c(可以通過刪除setup

Linux Wireless架構總結

文章目錄 2.1 各層間關鍵資料介面 1.  無線網路驅動(ath9k_htc)     ath9k_htc是一個基於USB介面的SoftMAC無線網路適配器。為了其驅動能正常工作,首先必須調用usb_register來註冊驅動定義的usb_driver,以藉助USB Core的力量來處理與USB協議相關的事件。其代碼如下:static struct usb_driver ath9k_hif_usb_driver = {.name =

Linux Wireless子系統初始化

1. cfg80211_init    • cfg80211_wq工作隊列主要處理以下工作:       1) 清除:wireless_dev.cleanup_work       2) 掃描:cfg80211_registered_device.scan_done_wk       3) 事件:cfg80211_registered_device.event_work    • 註冊netlink,其名為:"nl80211",其操作為:nl80211_ops 

Linux mount程式碼分析

1.    資料結構vfsmountstruct vfsmount {                struct list_head mnt_hash;          // hash表                struct vfsmount*mnt_parent;   /* fs we are mounted on */                struct dentry*mnt_mountpoint;              /* dentry ofmountpoint *

Linux hrtimer分析(2)

本文介紹Linux2.6.29中,配置高精度模式的hrtimer與未配置高精度模式時行為的區別。本文暫不考慮高精度模式對Linux系統時鐘中斷的影響。 在沒有配置高精度模式時,hrtimer的逾時在系統時鐘中斷的輪循中檢查,所以此時hrtimer的定時精度還是以輪循的間隔為單位,精度與傳統的時間輪定時器一樣。在配置高精度模式後,hrtimer的逾時由struct

Linux Wireless基礎知識

1. 基本概念    • cfg80211:  用於對無線裝置進行組態管理。與FullMAC, mac80211和nl80211一起工作。(Kernel態)    • mac80211: 是一個driver開發人員可用於為SoftMAC無線裝置寫驅動的架構 (Kernel態)。    • nl80211: 用於對無線裝置進行組態管理,它是一個基本Netlink的使用者態協議(User態)    • WNIC : Wireless Network Interface Controller,

Linux系統下CPU頻率的調整

☆★省電or流暢★ ☆root@android:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_governorshotplug conservative ondemand userspace powersave interactive performance為了可以對幾種常見的CPU頻率調節模式有個基本的理解,下面簡單的總結了一下,根據不同方式的特點,自己來在效能與省電這兩對矛盾之間做個取捨,找出適合自己的平衡點吧!1、

ARM Linux系統的時鐘機制

1. Linux下有兩類時鐘:1.1 即時鐘RTC    它由板上電池驅動的“Real Time Clock”也叫做RTC或者叫CMOS時鐘,硬體時鐘。當作業系統關機的時候,用這個來記錄時間,但是對於啟動並執行系統是不用這個時間的。1.2 系統時鐘     “System clock”也叫核心時鐘或者軟體時鐘,是由軟體根據時間中斷來進行計數的,核心時鐘在系統關機的情況下是不存在的,所以,當作業系統啟動的時候,核心時鐘是要讀取RTC時間來進行時間同步. 2. 標準計時器2.1

Linux如何清除系統cache

1. drop_caches在Documentation/sysctl/vm.txt中有如下描述:drop_cachesWriting to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.To free pagecache: echo 1 > /proc/sys/vm/drop_cachesTo

Linux hrtimer分析–配置高精度模式

轉自:http://blog.csdn.net/walkingman321/article/details/6151172本文介紹Linux2.6.29中,配置高精度模式的hrtimer與未配置高精度模式時行為的區別。本文暫不考慮高精度模式對Linux系統時鐘中斷的影響。       在沒有配置高精度模式時,hrtimer的逾時在系統時鐘中斷的輪循中檢查,所以此時hrtimer的定時精度(jiffy)還是以輪循的間隔為單位,精度與傳統的時間輪定時器一樣。     

Linux Writeback機制分析

1. bdi是什麼?    bdi,即是backing device info的縮寫,顧名思義它描述備用存放裝置相關描述資訊,這在核心代碼裡用一個結構體backing_dev_info來表示。    bdi,備用存放裝置,簡單點說就是能夠用來儲存資料的裝置,而這些裝置儲存的資料能夠保證在電腦電源關閉時也不丟失。這樣說來,磁碟片存放裝置、光碟機存放裝置、USB存放裝置、硬碟存放裝置都是所謂的備用存放裝置(後面都用bdi來指示),而記憶體顯然不是2.

Linux hrtimer的實現

1. Linux hrtimer的實現方案       Linux hrtimer的實現是依賴硬體(通過可程式化定時器來實現)的支援的,而且此定時器有自己的專用寄存器, 硬中斷和頻率。比如我的板子上的對應參數如下:    Timer at Vir:0xE0100200 = Phy:0xE0100200, using Irq:27, at Freq:250000000,由此可見,其頻率為250MHz,所以其精度為:1/250000000=4ns,比系統時鐘jiffy(HZ=100,精度為10ms)

Linux 進階進程管理

1.

Linux進程運行狀態圖

   ◆運行狀態(TASK_RUNNING)當進程正在被CPU執行,或已經準備就緒隨時可由發送器執行,則稱該進程為處於運行狀態(running)。進程可以在核心態運行,也可以在使用者態運行。當系統資源已經可用時,進程就被喚醒而進入準備運行狀態,該狀態稱為就緒態。這些狀態(圖中中間一列)在核心中表示方法相同,都被成為處於TASK_RUNNING狀態。◆可中斷睡眠狀態(TASK_INTERRUPTIBLE)當進程處於可中斷等待狀態時,系統不會調度該進行執行。當系統產生一個中斷或者釋放了進程正在等待的

ARM Linux 如何–註冊和觸發–非強制中斷

1. 註冊非強制中斷當然是通過open_softirq例子如下:void __init init_timers(void){int err = timer_cpu_notify(&timers_nb, (unsigned long)CPU_UP_PREPARE,(void *)(long)smp_processor_id());init_timer_stats();BUG_ON(err ==

Linux 記憶體檔案系統

 記憶體檔案系統(linux,FreeBSD)在Linux中可以將一部分記憶體當作分區來使用,我們稱之為RamDisk。對於一些經常被訪問的檔案,而它們又不會被更改,可以將它們通過RamDisk放在記憶體中,即可明顯地提高系統的效能。當然你的記憶體可要足夠大了。RamDisk有兩種,一種可以格式化,載入,在Linux核心2.0/2.2就已經支援,其不足之處是大小固定。另一種是核心2.4才支援的,通過Ramfs或者tmpfs來實現,它們不能被格式化,但是用起來靈活,其大小隨所需要的空間而增加或減少

Linux系統task堆棧

 Linux 系統中共使用了四種堆棧:1) 系統初始化時臨時使用的堆棧;2)  供核心程式自己使用的堆棧(核心堆棧),只有一個,位於系統地址空間固定的位置,也是後來任務0的使用者態堆棧;3) 每個任務通過系統調用,執行核心程式時使用的堆棧,我們稱之為任務的核心態堆棧,每個任務都有自己獨立的核心態堆棧;4)

Linux安全–存取控制機制(ACM)

1. 存取控制機制(ACM)    ACM:即Access Control Mechanism    ACM為系統管理員提供了一種控制哪些使用者、進程可以訪問不同的檔案、裝置和介面等的一種方式。當需要確保電腦系統或網路安全時,ACM是一個主要的考慮因素。    ACM主要有以下6種方式:    1) 自主存取控制:Discretionary Access Control (DAC)    2) 存取控制清單:Access Control Lists (ACLs)    3)

Linux中link,unlink,close,fclose詳解

       每一個檔案,都可以通過一個struct stat的結構體來獲得檔案資訊,其中一個成員st_nlink代表檔案的連結數。struct stat {unsigned longst_dev;/* Device. */unsigned longst_ino;/* File serial number. */unsigned intst_mode;/* File mode. */unsigned intst_nlink;/* Link count. */unsigned intst_

Linux inotify功能及實現原理

1. inotify主要功能它是一個核心用於通知使用者空間程式檔案系統變化的機制。眾所周知,Linux 案頭系統與 MAC 或 Windows 相比有許多不如人意的地方,為了改善這種狀況,開源社區提出使用者態需要核心提供一些機制,以便使用者態能夠及時地得知核心或底層硬體裝置發生了什麼,從而能夠更好地管理裝置,給使用者提供更好的服務,如 hotplug、udev 和 inotify 就是這種需求催生的。Hotplug

總頁數: 3662 1 .... 417 418 419 420 421 .... 3662 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.