Time of Update: 2018-12-03
作者:曹忠明,華清遠見嵌入式學院講師。一、線程式控制制上一節我們講了使用互斥量實現線程的同步,這裡我們介紹一下另外一種常用的方法,POSIX提供的無名訊號量sem,PV原語是對整數計數器訊號量sem的操作,P操作判斷sem資源數是否為0,不為0則進行P操作,一次P操作可使sem減一,而一次V操作可使sem加一。下面是POSIX提供的一些介面函數:1、訊號量初始化 #include <semaphore.h> int sem_init(sem_t *sem,
Time of Update: 2018-12-03
1. 啟動命令wpa supplicant 在啟動時,啟動命令可以帶有很多參數,目前我們的啟動命令如下:wpa_supplicant /system/bin/wpa_supplicant -Dwext -ieth0 -c/data/wifi/wpa_supplicant.conf -f/data/wifi/wpa_log.txtwpa_supplicant對於啟動命令帶的參數,用了兩個資料結構來儲存,一個是 wpa_params,
Time of Update: 2018-12-03
<!--@page { margin: 2cm }PRE { font-family: "DejaVu Sans" }P { margin-bottom: 0.21cm }-->在camera包中。1. 修改ImageManager.java第130行 修改public static final String CAMERA_IMAGE_BUCKET_NAME =
Time of Update: 2018-12-03
1、偵錯項目 查看當前偵錯項目:show follow-fork-mode 調試父進程: set follow-fork-mode parent 調試子進程: set follow-fork-mode child 2、偵錯模式 查看當前偵錯模式:show detach-on-fork 分離模式:set detach-on-fork on 此模式下,沒被調試的進程全速運行 非分離模式: set detach-on-fork off
Time of Update: 2018-12-03
對一組檔案中的每一個檔案執行某個特定命令。FOR %variable IN (set) DO command [command-parameters] %variable 指定一個單一字母可替換的參數。 (set) 指定一個或一組檔案。可以使用萬用字元。 command 指定對每個檔案執行的命令。 command-parameters 為特定命令指定參數或命令列開關。在批次檔中使用 FOR 命令時,指定變數請使用 %%variable 而不要用
Time of Update: 2018-12-03
本文先介紹了一下MMC的基本架構結構,然後採用自底向上的方法來分析整個MMC層是如何共同作用的。閱讀時請結合參考資料1和2.參考資料:1.SDMemory Card Specifications / Part 1. Physical Layer Specification;Version 1.0 2.LDD3 CHAPTER-16 BLOCK DEVICE3. checkUrl(this)" href="http://www.sdcard.org/" target="_blank">http:
Time of Update: 2018-12-03
【轉】msdev & devenv 的命令列用法(以編譯BerkeleyDB為例) 收藏 最近編譯chrome,vs開啟chrome後不停地更新智能提示,很佔資源,所以查查在命令列編譯vs工程的方法。最近wince工程也要自動編譯,所以也需要在命令列編譯vddproj檔案。轉自:http://blog.chinaunix.net/u2/89624/showart_1903053.html msdev是visual studio 6.0的IDE程式, devenv是visual
Time of Update: 2018-12-03
1.線程屬性設定我們用pthread_create函數建立一個線程,在這個線程中,我們使用預設參數,即將該函數的第二個參數設為NULL。的確,對大多數程式來說,使用預設屬性就夠了,但我們還是有必要來瞭解一下線程的有關屬性。屬性結構為pthread_attr_t,它同樣在標頭檔pthread.h中定義,屬性值不能直接設定,須使用相關函數進行操作,初始化的函數為pthread_attr_init,這個函數必須在pthread_create函數之前調用。屬性對象主要包括是否綁定、是否分離、堆棧地址、堆
Time of Update: 2018-12-03
4、CORE層分析:CORE層完成了不同協議和規範的實現,並為HOST層的驅動提供了介面函數,在HOST層我們曾經調用的兩個函數:mmc_alloc_host(sizeof(struct s3cmci_host), &pdev->dev);mmc_add_host(mmc);我們就從這兩個函數入手,來分析CORE層與HOST層是如何互動的。先看mmc_alloc_host函數: dev_set_name(&host->class_dev, "mmc%d",
Time of Update: 2018-12-03
發現了兩篇講SD/MMC卡驅動的文章,覺得不錯,轉了過來,謝謝原作者文一:FROM:http://blog.chinaunix.net/u2/69999/showart_734099.html 關於linux 2.6 mmc/sd驅動 linux 2.6 中的mmc/sd驅動分為以下幾方面的內容 1. sysfs 層的匯流排類型處理: 註冊一組 mmc 類型處理函數, 標誌為 "mmc" 具體在mmc_sysfs.c檔案中實現 2. mmc/sd
Time of Update: 2018-12-03
1.如果你以一個"基類指標"指向一個"衍生類別對象",那麼經由該指標你只能調用基類所定義的函數.2.如果你以一個"衍生類別指標"指向一個"基類對象",尼必須先作明顯的轉型操作(Explicit Cast),這種方法很危險,不符合真實生活經驗,在程式設計上也會給程式員帶來困惑.3.如果基類和衍生類別都定義了"相同名稱的成員函數",那麼通過對象指標調用成員函數時,到底該調用哪一個函數,必須視該指標的原始類型而定,而不是指標實際所指的對象的類型而定.這與第一點其實意義相通.
Time of Update: 2018-12-03
閑來無事,我給大家講下UNIX/Linux下訊號量函數的使用。首先你得知道什麼叫訊號量,什麼時候要用訊號量。這個嘛,主要就是用來保護共用資源的,也就是說如果你想限制某個(些)資源在同一時刻只能有一(多)個線程擁有,就可以使用訊號量。當然也可以用作讓一個線程等待另一個線程完成某項工作。 用下面一組函數(系統調用)來實現。int sem_init(sem_t *sem,int pshared,unsigned int value); int sem_destroy(sem_t *sem); int
Time of Update: 2018-12-03
實現web多語言可能有多種解決辦法,現在分享一種比較簡單的思路,這篇文章主要用於記錄學習過程,肯定存在不少謬誤,歡迎批評指正。web多語言實現最簡單的一種方法可能是每一種語言一套代碼,但這樣存在一個問題就是維護起來十分不方便。所以最好是把資料(語言文字)從代碼中分離出來,然後共用一套代碼,這樣維護起來方便。下面介紹的一種辦法是用XML儲存資料,用javascript 來解析XML,將資料動態產生到HTML中。1
Time of Update: 2018-12-03
在這裡就不著重講解 QT的發展和裡面細節的內容,針對嵌入式linux系統來說,使用一種GUI是很常見的,那麼首先就涉及移植的問題,只有再移植好的情況下再開發自己的產品。當然這個步驟不是死的,但移植確實是要做的,還要做好,過程有的時候也不是很容易的。今天我就在s3c2410的平台上移植了QT4,然後把移植出現的問題記錄了下來,僅僅做個參考。1.開發平台:ubuntu 81.0,交叉編譯器版本3.4.5(arm-linux-gcc),qt-embedded-linux-opensource-src-
Time of Update: 2018-12-03
1.從Hello World開始見很多新人問如何使用QT Creator 感覺還是抽點時間出來,寫一個QT Creator使用協助吧 首先下載,地址如下 http://get.qt.nokia.com/qtsdk/qt-sdk-win-opensource-2009.05.exe 安裝很簡單,直接預設,點下一步即可 安裝好之後,開啟QT Creator 建立工程 File => New File or Project.. 選擇Projects => Empty QT4
Time of Update: 2018-12-03
引言數字化變電站是建立在網路通訊技術和電子技術基礎上的一種新型變電站自動化系統,其中一個重要特徵就是二次裝置的網路化。目前在國內的數字化變電站試驗中,已經出現了大批支援乙太網路和TCP/IP協議的嵌入式IED,在具體開發和應用中發現,由於現場環境的複雜多變以及客戶需求的多樣性,經常需要對這些IED進行參數的配置和修改。但廠家多採用專門的配置軟體來進行,操作介面不夠統一,給現場操作帶來諸多不便。而採用Web伺服器技術,則只需要瀏覽器便可實現對IED參數的線上修改與配置,從而極大地方便了對裝置的維護
Time of Update: 2018-12-03
1. RTSP串連的建立過程 RTSPServer類用於構建一個RTSP伺服器,該類同時在其內部定義了一個RTSPClientSession類,用於處理單獨的客戶會話。
Time of Update: 2018-12-03
1: run wpa_supplicant firstuse the following command:wpa_supplicant -Dwext -iwlan0 -C/data/system/wpa_supplicant -c/data/misc/wifi/wpa_supplicant.conf2: Run the command line tool wpa_cli to connect wifiwpa_cli -p/data/system/wpa_supplicant
Time of Update: 2018-12-03
從Linux 2.6起引入了一套新的驅動管理和註冊機制:Platform_device和Platform_driver。Linux中大部分的裝置驅動,都可以使用這套機制, 裝置用Platform_device表示,驅動用Platform_driver進行註冊。Linux platform driver機制和傳統的device driver
Time of Update: 2018-12-03
使用netlink機制在核心與應用程式之間通訊前一段時間,在開發一個驅動程式的過程中,需要在驅動程式與應用程式之間進行通訊。其中驅動程式在接收到一個硬體中斷之後通知應用程式進行相應的處理。為 解決此類問題,驅動程式提供了幾種機制:(1)使用copy_to_user/copy_from_user方法,缺點是通訊回應時間過長(2)使用信 號,但是限於字元裝置(3)使用netlink。在linux2.4之後引入了netlink機制,它將是Linux使用者態與核心態交流的主要方法之一。netlink