近來在撰寫 led 的控制程式,但執行該程式所產生的執行檔似乎不太給面子。怎麼說勒,因為 led 並沒有依照我的想法作變化。mini2440 上面的 led 依然故我的在那邊作他自己的動作,我也不曉得是為什麼。透過網路搜尋網友的經驗,才發現原來是 embidded linux 上的 service 搞的鬼。
實際查了一下 linux 上的設定,的確在 /etc/init.d/rcS 檔案中確實有起動 leds 這個 service。也因為那個 service ,讓 leds 自己玩得很開心。此外,我們也可以透過 /etc/rc.d/init.d/leds 這個服務來 Start/Stop 該 service。
如此一來,總算找到兇手。所以勒,執行 led 控制程式前,要記得先將該 service 關掉。或者直接修改 /etc/init.d/rcS 裡的設定,讓系統不要一起動就執行 leds 這個服務。
ccchiu 發表在 痞客邦 留言(0) 人氣(363)
學習 make file 的撰寫,一開始就出師不利。
執行 make -f makefile01 時,就出現下列錯誤訊息:
makefile01:2: *** missing separator. Stop.
查詢後,發現後原來是因為 makefile01 中,gcc -c mymath.c;gcc 前面不可使用空格,一定要使用 tab 開始。
ccchiu 發表在 痞客邦 留言(0) 人氣(15,604)
簡單說哩,透過設定 mini2440 super vivi 的參數。可以讓 mini2440 連接到指定位置的 NFS,並啟動該 NFS 裡的 Linux OS。
紀錄一下步驟:
1. 設定 ubuntu
預設的 ubuntu 並沒有安裝 nfs server ,並需安裝 nfs server 套件。安裝完成後,再設定 /etc/export 將 Linux OS 的目錄分享
ccchiu 發表在 痞客邦 留言(0) 人氣(304)

轉載自 http://www.ecs.umass.edu/ece/koren/architecture/Simplescalar/SimpleScalar_introduction.htm
Introduction
to SimpleScalarccchiu 發表在 痞客邦 留言(0) 人氣(520)
ccchiu 發表在 痞客邦 留言(0) 人氣(257)
轉載自http://chamberplus.myweb.hinet.net/misc_1.htm
剛接觸寫韌體的工程師,往往可能是以前是寫個人電腦的應用軟體的機會很多,或許,現在寫韌體的工程師越來越少呢?還是現在寫單晶片的系統工具比較好呢?所
以,許多寫韌體工程師所受的韌體程式訓練或機會不多,一上機寫韌體,就當作寫個人電腦的程式一般的寫法,一路往下寫。其實,我沒有說這樣子不行,但是,當
您看完我這篇文章之後,或許,您會有不同的看法?
我以前看或寫引擎控制程式都是組合語言,後來寫掃描器的韌體或是USB也都是組語。當然,以這些工作機會,是用不到 8051 的C組譯器(Keil C)。但那時,KEIL
C 也剛推出整合性高階語言的開發環境,我就自學把KEIL C學起來。後來很巧,我接了MP3 系統開發計畫時,就剛好派上用場,這件事讓我體會到一點:技能總是在工作中磨練,但若是未來您可能會接觸到的,您可能要提早自己自學,這樣子,等機會一來,您就比別人多一份機會了。就像投資您自己一樣,像這種屬於基本技能的東西,還是得好好的投資一下自己。
寫MP3 系統程式,因為牽涉許多DOS File system
的東西,用C寫的確是比較快一點,但卻也發現用高階C寫韌體的許多盲點。後來,看到公司內有一些部門在招一些寫韌體工程師時,竟也以資訊系為優先考量,結
果整個部門幾乎都是寫軟體出身的韌體發展部門?結果是什麼呢?開給IC設計部門的規格,所需求的記憶體空間就大到很難想像?8051 要寫到
1MBytes ?! 真是很誇張,對工程師來說:寫不出精緻的韌體,剩下的便是作苦工的寫程式。不知您是否可以體會到這點?!
什麼是精緻的韌體?我想您寫韌體在上機前,做了多少前置準備動作?還是,接到一個案子就批哩叭啦的從第一行往下寫?其實,寫韌體最難能可貴就是它是一份系統整合工作。除了程式語言以外,就是您對系統他所展現的專業知識。這話怎麼說?譬如說:當您寫完引擎控制程式後,您不只知道引擎控制韌體怎麼寫而已,還深深的體會到引擎機械系統的瞭解。我常常說:您作一行就是要入一行。所謂入一行,不是會寫寫基本程式而已,您還能體會到那一行的種種問題。這樣子,您才能出奇制勝,當然啊。當您要換工作時,您就會明明白白的知道您為什麼會離開原來的那一行?
好~我就舉一兩個例子來說明這件事情:
首先,您還記得我在單晶片與引擎控制 (二)--- 數學篇
中舉的例子嗎?
針對引擎的轉速,您是用一個integer 來宣告 呢?還是用
八位元的255 來表示呢?若您是寫軟體出身的,鐵定一定是用 Integer
來宣告,那因為在引擎控制系統中會用到許多這個變數,包括許多查表功能,那您查表公式是不是也是一路用integer 來運算呢?!結果當然對CPU執行效率或變數memory
需求一定不得了。我上述的那個問題就發生了。我列一張表格您可以看看:
ccchiu 發表在 痞客邦 留言(0) 人氣(58,647)