Time of Update: 2018-12-05
在以前的例子中,使用g_signal_connect()函數來進行時間觸發,這些觸發要麼基於gtk,要麼基於ClutterStage。Clutter基於actor也可以提供事件觸發,分別是button-press-event,button-release-event,motion-event,enter-event,leave-event。他們的意思就是字面意思。 在clutter中actor的事件觸發功能預設是不開啟,clutter_actor_set_reactive。由於motion
Time of Update: 2018-12-05
這是一個很簡單的小例子hello world。也是《Linux Device Drivers》一書第二章的書讀筆記。需要開發環境 為了使得核心模組可以編譯,我們需要安裝kernel-devel的rpm包,例如在Fedora,我們需要yum install kernel-devel。如果使用的linux版本沒有提供自動安裝這個包,我們需要編譯linux kernel來獲得。這個包的相關檔案放置在/usr/src/kernel/<uname -r>下面,他是kernel tree。
Time of Update: 2018-12-05
KVM可以在電腦上類比moblin2的環境,可以在上面進行開發。但是還是使用netbook,或者moblin-chroot的方式比較好,因為kvm的效能實在不敢恭維,非常慢。建議在moblin-chroot中進行編譯,在kvm中看效果。一、請確保機器支援kvm。VT是需要CPU支援的,請使用命令cat /proc/cpuinfo | grep vmx (intel CPU)或者grep smx(amd CPU),看看有沒有輸出,如果沒有,說明CPU不支援二、如果CPU
Time of Update: 2018-12-05
1 嵌入式軟體開發流程 參照嵌入式軟體的開發流程。第一步:工程建立和配置。第二步:編輯源檔案。第三步:工程編譯和連結。第四步:軟體的調試。第五步:執行檔案的固化。 在整個流程中,使用者首先需要建立工程並對工程做初步的配置,包括配置處理器和配置調試裝置。編輯工程檔案,包括自己編寫的彙編和C語言來源程式,還有工程編譯時間需要編寫的連結指令檔,調試過程中需要編寫儲存區映像檔案和命令指令檔,以及上電複位時的程式運行入口的啟動程式檔案。 對後四種檔案的理解很重要,其作用解釋如下。 (1)
Time of Update: 2018-12-05
1.環境:ADB over USB on Ubuntu12.04(64-bit) PC.2.問題: adb devices後只顯示“List of devices attached”,不羅列裝置,確定usb已經連上。如:3.解決方案:1)首先確定PC上有可用的SDK adb工具,若沒有請在http://developer.android.com/sdk/index.html下載對應版本。2)確定android
Time of Update: 2018-12-05
本文也即《Linux Device Drivers》,LDD3的第四章Debuging
Time of Update: 2018-12-05
有時windows的同事會給一些rar的檔案,在fedora裡面很難開啟。在ubutu上可以通過adp-get獲得rar和unrar,但是在fedora中,至少在fc10中無法通過yum來擷取。 可以通過ftp://ftp.pbone.net/mirror/atrpms.net/f10-i386/atrpms/stable/rar-3.8.0-2.fc10.i386.rpm 來擷取rar包 通過ftp://ftp.pbone.net/mirror/atrpms.net/f10-i386/
Time of Update: 2018-12-05
本文也即是《Linux Device Drivers》一書第三章Char Drivers的讀書筆記之二。 這部分開始有些覺得陰澀難懂。我上網去查,沒能找到這本書的Example的例子,所以決定還是靠自己。我先寫一個應用程式層的例子,通過這個例子來觸發kernel module的一些操作,這樣比較容易理解。#include <stdlib.h>#include <stdio.h>int main(int argc ,char * argv[]){
Time of Update: 2018-12-05
本文也即《Linux Device Drivers》,LDD3的第四章Debuging Techniques的讀書筆記之四,但我們不限於此內容。 由於最近比較忙,趕文檔,這麼多天沒看兩頁紙。前兩天來個老外,forgive my poor English。和他到我們飯堂吃飯,還有幾個同事坐在一起,一同六個人,5個人拿匙羹,一個人用筷子,用筷子的人是老外…… 在前面我們學習了兩種通過/proc的方法來擷取device或者查看kernel
Time of Update: 2018-12-05
Briefly, boot loader is the firstsoftware program that runs when a computer starts. It is responsible for loadingand transferring control to the operating system kernel software (suchas the Linux). The kernel, in turn, initializes the rest of the
Time of Update: 2018-12-05
因實際項目需求,需將Qt編譯成LINUX-ARM版,以下為整個操作過程,使用Qt編寫的程式已在實際開發板上運行,在此貼出,但願能為需要的朋友提供上協助。 準備工作:Linux核心版本: Linux 2.6.35-22-generic #33-Ubuntu 交叉編譯工具: arm-none-linux-gnueabi 4.4.1 Qt安裝包:
Time of Update: 2018-12-05
通過moblin MIC2製作的usb啟動,有兩種方式,一種是liveOS的,直接boot,一種是象傳統安裝Linux OS的方式在裝置中安裝。我想將moblin2安裝在MID(menlow)上,需要重新rebuild核心。kernel編譯可以通過moblin-chroot的方式展開開發環境,也可以通過KVM的環境。從moblin的repo網站中擷取kernel的source code,例如wget
Time of Update: 2018-12-05
要為嵌入式Linux系統建立交叉編譯的toolchain。例子使用moblin,涉及的binutils,gcc,glibc和kernel的版本都是非常新的,碰到了很多問題,網上有很多資料,但是版本大多比較舊,不能解決目前最新版本的問題。每解決一個問題,後面又出現一個問題,有些沮喪,折騰了一個星期。下面是為目前新的版本建立交叉編譯環境的過程,以moblin環境為例。我想,這將是一篇很長的文章。Moblin的開發環境應使用MIC2的moblin-chroot或者KVM的環境,我們只是想按傳統的方式自
Time of Update: 2018-12-05
RPM打包對於應用程式是十分有用的,可以下載,可以卸載,可以升級,可打補丁,可用於軟體的發布和管理,以及以後可能的軟體store。如果我們使用MIC2,更換kenrel,如果需要製作的usbimg通過安裝方式能夠成功啟動,我們必須對我們自己新的kernel進行打包。 我們通過一個簡單的hello world例子來打一個名字為hello的rpm包。我收集了網上的資料,結合自己的實驗給出下面的內容。有很多的資訊來自共產主義的網路。RPM全稱是 Red Hat Package
Time of Update: 2018-12-05
今天在機器上安裝9.04的Ubuntu,比8.04或者8.10的版本麻煩很多。8的版本可以直接在windows上運行wubi,找個合適的空間件可以安裝,但是9.04運行wubi沒有反應,必須通過光碟片啟動安裝。第一次安裝,都是預設,發現給阿土只有2G左右的空間,哪夠用。因為這是在windows中查看到的,直接在windows中刪除了分區,本以為重新裝一次不會引起GRUB的問題。[我無法證實,因為後面的步驟證明阿土在分區中也確實有問題]。在阿土中選這分區的時候,我的第二個硬碟sdb有兩個區,姑且稱
Time of Update: 2018-12-05
本文也即是《Linux Device Drivers》一書第三章Char Drivers的讀書筆記之一。 我們在/dev中可以查看裝置節點,每個裝置有一個主號碼(major)以及一個副號碼(minor),通常一個major號碼對應某一種裝置,雖然linux允許多種裝置共用一個major號碼。minor號碼用於kernel具體進行裝置的對應,kernel並不瞭解對應在minor後面裝置具體的應用。 在一個kenrel module的程式中,我們需要將我們的程式和某個或某組裝置節點對應起來。
Time of Update: 2018-12-05
學習資料來源:http://www.openismus.com/documents/clutter_tutorial/0.9/docs/tutorial/html/sec-containers.html 在一個容器內,我們可以放入新的actor(clutter_container_add函數),他的位置是根據所在容器的相對位置中確定。因此如果我們的項目涉 及的內容很多,僅用stage作為一個container是不足夠的,我們需要更多的容器來組織。ClutterStage是一個contain
Time of Update: 2018-12-05
程式員不是一天練成的,但是遵循一些編程思想,可以使我們少走很多彎路。 今天看《Linux Device Drivers》,在第一章中提到了編程思想。我做過很多開發項目,由於不是在大團隊開發的公司,例如華為,某些外企,很多項目人手很少,基本上需要獨立負責,回想起來,我在系統設計結構方面確實有很大的進步。不過一直沒有認真的總結。當時看Thinking in
Time of Update: 2018-12-05
在MeeGo的yum,雖然安裝了yum.rpm,並且在/etc/yum.repo.d中增加了meego.repo檔案[wei@wei-desktop ~]$ cat /etc/yum.repos.d/meego.repo [repository]name=meegobaseurl=http://repo.meego.com/MeeGo/releases/1.2.0/repos/oss/ia32/packages/可以使用yum search但是,在處理yum
Time of Update: 2018-12-05
Multiple sources have announced today that the Linux Foundation and LiMo Foundation have agreed to merge their respective mobile operating systems, MeeGo and LiMo. The resulting operating system, Tizen, will support HTML5 as its primary development