s3c6410 開發板Linux系統支援 K9GAG08U0E的方法(第一篇)

     由於NandFlash硬體升級比較快,公司去年一直在使用三星的K9GAG08U0D,現在MLC NandFlash 升級到了第二代,K9GAG08U0D 很快就會處在停產的狀態,未雨綢繆,公司選型了K9GAG08U0E 來替代原有的NandFlash晶片。起初。本以為把新Nandflash ID資訊增加到Uboot 和 Linux核心的NandFlash ID 列表檔案中即可,也就是Uboot 和Linux源碼中的nand_ids.c 檔案中,但是仔細看了 K9GAG08U0E

Linux 核心啟動時間分析

1. 首先修改kernel的bootargs,在bootargs中添加以下內容:    printk.time=y  initcall_debug 我使用的bootargs修改後如下:    setenv bootargs "root=/dev/mtdblock2 rootfstype=yaffs2 init=/init console=ttySAC2,115200printk.time=y initcall_debug" 這樣kernel在啟動時,將會列印出每個模組的啟動耗時: 

s3c6410 開發板Linux系統支援 K9GAG08U0E的方法(第二篇)

       在上一篇中我們重點介紹了K9GAG08U0D 和 K9GAG08U0E的區別,除了這些外還有一個需要重點關注的地方,下面我們詳細講解。        Uboot從NandFlash啟動第一步就是把NandFlash的前8K代碼拷貝到s3c6410內部的SRAM中,然後運行,這8K的代碼會從NandFlash中把完整的Uboot代碼拷貝到6410開發板片外記憶體中,我這裡使用的是256M的DDR,Uboot的存放地址為0x5FE00000,虛擬位址為

Linux驅動直接存取控制器的操作方法

在開啟MMU之前,你可以直接用物理地址訪問。在開啟MMU之後,你需要先將物理地址映射為虛擬位址,然後用虛擬位址訪問。還是絕個簡單的例子,比如某一個外設的寄存器物理地址為: regaddr = 0x0200000,要讀出/寫入的值為value(unsigned int類型);那麼:    在開啟MMU之前:    讀:    value = *(volatile unsigned int*)regaddr;    寫:    *(volatile unsigned int*)regaddr =

Linux 核心的隊列實現–kfifo

今天研讀了2.6.26核心的kfifo代碼,感覺實現得巧妙,隊列的隊頭隊尾下標不受隊列長度的限制,就算隊頭下標大於隊列長度,也一樣可以使用,原理就在於,資料不是全部放在隊頭(fifo->out)和隊尾(fifo->in)之間的記憶體空間,而是把超出隊頭隊尾之間長度的資料放到整個隊列buffer的開始處,藍色部分為真實資料所在記憶體段,白色部分其實為邏輯上假定的資料所在地,也就是說,為了給使用者一種真正的隊列感覺——從尾部推進資料,從頭部拉取資料,那麼就必須讓fifo->out和

Linux下安裝網路攝影機

在Linux下安裝網路攝影機的話,之前曾經在弄skype的時候弄過,不過在skype裡面不能用網路攝影機來照相,所以今天又折騰了一下。把大概的流程記錄下來。首先是安裝你的網路攝影機對應的kernel模組。這個不好說,不同的晶片的網路攝影機驅動是不一樣的,大家google一下…………我自己也忘了我的是怎麼裝上的了,不過我的網路攝影機是logitech的,所以還比較好找一些。然後就是裝一個網路攝影機的monitor,這裡用的是xawtv.

Linux–常用命令–dmesg

 linux命令dmesg用法詳解  功能說明:顯示開機資訊。 語  法:dmesg [-cn][-s <緩衝區大小>] 補充說明:kernel會將開機資訊儲存在ring buffer中。您若是開機時來不及查看資訊,可利用dmesg來查看。開機資訊亦儲存在/var/log目錄中,名稱為dmesg的檔案裡。參  數: -c  顯示資訊後,清除ring buffer中的內容。  -s<緩衝區大小>  預設定為8196,剛好等於ring buffer的大小。  -n

linux(redhat)開啟telnet,ftp服務

           linux開啟telnet服務必須安裝telnet軟體包          查看是否安裝了telnet軟體包的命令為:      rpm -qa telnet          [root@localhost xinetd.d]# rpm -qa telnet    telnet-0.17-39.el5      如果存在則出現telnet的版本號碼。如果沒有安裝     應用程式-》添加/刪除程式中安裝telnet軟體包。          

make install時”arm-linux-ranlib command not found”

原文網址:http://blog.chinaunix.net/u1/46715/showart_1663653.htmlAuthor: wmmwang(unc,王敏敏)Environment:fedora8            arm-linux-gcc 3.4.1Minigui: 1.3.3Date:2008-11-24    按照以前經驗,把要改的地方改好。接著make,沒的問題。    然後,sudo make

linux make menuconfig 執行流程小結

linux/2.6.20.6/make menuconfig     當在頂層目錄執行”make menuconfig”會執行頂層Makefile 第415行的規則   config %config: scripts_basic outputmakefile FORCE        $(Q)mkdir -p include/linux include/config        $(Q)$(MAKE) $(build)=scripts/kconfig $@  

Linux+Apache2+openssl實現https驗證

 首先安裝SSL,再編譯安裝APACHE,再配置認證即可1.下載apache和openssl網址:http://www.apache.org      http://www.openssl.org2.解壓#tar zxvf httpd-2.0.54.tar.gz#tar zxvf openssl-0.9.7g.tar.gz3.編譯安裝openssl,這個軟體主要是用來產生認證:#cd openssl-0.9.7g#./config#make#make test#make

Linux的rc.local自啟動服務

 linux有自己一套完整的啟動體系,抓住了linux啟動的脈絡,linux的啟動過程將不再神秘。本文中假設inittab中設定的init tree為:/etc/rc.d/rc0.d/etc/rc.d/rc1.d/etc/rc.d/rc2.d/etc/rc.d/rc3.d/etc/rc.d/rc4.d/etc/rc.d/rc5.d/etc/rc.d/rc6.d/etc/rc.d/init.d目錄1. 關於linux的啟動2. 關於rc.d3. 啟動指令碼樣本4. 關於rc.local5.

Linux的cron和crontab

 一 croncrond位於/etc/rc.d/init.d/crond 或 /etc/init.d 或 /etc/rc.d /rc5.d/S90crond,最總引用/var/lock/subsys/crond。 cron是一個linux下的定時執行工具(相當於windows下的scheduled task),可以在無需人工幹預的情況下定時地運行任務task。由於cron 是Linux的service(deamon),可以用以下的方法啟動、關閉這個服務: /sbin/service crond 

Linux如何搜尋檔案的方法

#whereis  尋找已經安裝的軟體在Linux上尋找某個檔案是一件比較麻煩的事情。畢竟在Linux中需要我們使用專用的“尋找”命令來尋找在硬碟上的檔案。 Linux下的檔案表達格式非常複雜,不象WINDOWS,DOS下都是統一的AAAAAAA.BBB格式 那麼方便尋找,在WINDOWS中,只要知道要尋找的檔案的檔案名稱或者尾碼就非常容易 尋找到。Linux中尋找檔案的命令通常為“find”命令,“find”命令能協助我們在使用,

Linux下靜態庫與動態庫的使用

Linux下靜態庫與動態庫的使用Linux下有靜態連結庫和動態連結程式庫兩種,靜態連結庫的尾碼名是.a,動態連結程式庫的尾碼名是.so,下面詳細介紹:靜態連結庫:靜態連結庫是指程式在編譯連結的過程中就把依賴的庫插入到程式中,這樣程式的運行就不需要這些庫的支援,但缺點是檔案變大,下面以一個例子介紹如何製作靜態連結庫:有add.c和mul.c兩個檔案,分別實現兩數相加與相乘:add.c:[cpp] view plaincopyprint?int my_add(int num1, int num2) 

如何查看linux版本

 1. 查看核心版本命令:  1) [root@q1test01 ~]# cat /proc/version    Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat    3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005  2) [root@q1test01 ~]# uname -a    Linux

linux 等待隊列 第二篇

Linux核心的等待隊列是以雙迴圈鏈表為基礎資料結構,與進程調度機制緊密結合,能夠用於實現核心的非同步事件通知機制。在這個鏈表中,有兩種資料結構:等待隊列頭(wait_queue_head_t)和等待隊列項(wait_queue_t)。等待隊列頭和等待隊列項中都包含一個list_head類型的域作為"串連件"。它通過一個雙鏈表和把等待tast的頭,和等待的進程列錶鏈接起來。從可以清晰看到。所以我們知道,如果要實現一個等待隊列,首先要有兩個部分。隊列頭和隊列項。下面看他們的資料結構。[cpp]

linux 等待隊列 第三篇

1、為什麼要使用等待隊列?等待隊列就是阻塞型字元裝置驅動的必需品。阻塞型就是說某個裝置可讀或者可寫,但是呢,某個時候這個裝置沒有東西給你讀,但你的應用程式(進程)操作卻要向裝置去讀取資料,那沒辦法,要麼就出錯,要麼就阻塞著在那裡等著要讀取資料。一旦裝置有東西可以給你讀了,進程就可以繼續進行讀操作了。2、定義並初始化等待隊列。     (1) 定義"等待隊列頭"        wait_queue_head_t my_queue;    (2) 初始化"等待隊列頭"       

linux中的 IO連接埠映射和IO記憶體映射

下面是今天看到兩篇關於linux中的

華清遠見與您共用:Linux驅動中的platform

 作者:李智敏,華清遠見嵌入式學院上海中心講師。從Linux2.6核心起,引入一套新的驅動管理和註冊機制:platform_device 和 platform_driver 。Linux 中大部分的裝置驅動,都可以使用這套機制,裝置用 platform_device 表示;驅動用 platform_driver 進行註冊。Linux platform driver 機制和傳統的device driver機制(即:通過 driver_register

總頁數: 3662 1 .... 744 745 746 747 748 .... 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.