PIXNET Logo登入

Arthur叔叔

跳到主文

If you can see it,
you can reach it.

部落格全站分類:不設分類

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 7月 03 週五 200908:35
  • led 程式設計 - 前篇

近來在撰寫 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)

  • 個人分類:韌體設計
▲top
  • 6月 21 週日 200916:33
  • missing separator. Stop.

學習  make file 的撰寫,一開始就出師不利。
執行 make -f makefile01 時,就出現下列錯誤訊息:
makefile01:2: *** missing separator.  Stop.
查詢後,發現後原來是因為 makefile01 中,gcc -c mymath.c;gcc 前面不可使用空格,一定要使用 tab 開始。
(繼續閱讀...)
文章標籤

ccchiu 發表在 痞客邦 留言(0) 人氣(15,604)

  • 個人分類:韌體設計
▲top
  • 6月 18 週四 200900:14
  • mini2440 - 透過 NFS 啟動系統

簡單說哩,透過設定 mini2440 super vivi 的參數。可以讓 mini2440 連接到指定位置的 NFS,並啟動該 NFS 裡的 Linux OS。
紀錄一下步驟:
1. 設定 ubuntu
預設的 ubuntu 並沒有安裝 nfs server ,並需安裝 nfs server 套件。安裝完成後,再設定 /etc/export 將 Linux OS 的目錄分享
(繼續閱讀...)
文章標籤

ccchiu 發表在 痞客邦 留言(0) 人氣(304)

  • 個人分類:韌體設計
▲top
  • 4月 27 週一 200915:56
  • Introduction to SimpleScalar


轉載自 http://www.ecs.umass.edu/ece/koren/architecture/Simplescalar/SimpleScalar_introduction.htm
 

Introduction
to SimpleScalar
(繼續閱讀...)
文章標籤

ccchiu 發表在 痞客邦 留言(0) 人氣(520)

  • 個人分類:韌體設計
▲top
  • 4月 25 週六 200916:31
  • Referenced Material for Embedded System

Referenced Material
Source Code and Tracing Tools

  • The Linux Kernel Archives

  • Linux Source Code Cross-Reference Web site

  • vi and ctags


Books

  • Linux Device Drivers, 3rd Edition on-line free book

  • Linux Device Drivers, 2nd Edition on-line free book

  • Errata for "Understanding the Linux Kernel, 3rd Edition."


Linux Assembly

  • Gcc Inline Assembly - How to

  • Linux Assembly

  • Using as (for assembler directives used in Linux kernel code)


C Language and C Preprocessor

  • Extensions to the C Language Family

  • C Preprocessor: Macro

  • Function Pointer Tutorials

  • Linux Kernel FAQ

  • Compound Statement and Its Value


System Call


  • Fedora Core 6

    • How to Add a System Call in Fedora Core with Linux 2.6.18



  • Other Versions

    • Linux System Call Howto

    • How to Add a New System Call to Linux (Please read the following article also.)

    • Supplement to the above system call article





Kernel Debugging

  • kernel command line parameters

  • kernel debugging tips

  • oops tracing

  • kernel debugging howto

  • slides on kernel debugging

  • chapter 4 debuggin linux device drivers

  • Kernel debugging tools

    • Qemu -- useful for linux run time debugging

    • KDB -- only for 2.2 and below

    • KGDB -- 2.6 patch not stable at all, if patch then kernel will halt

    • Linux Kernel Crash Dump

    • User Mode Linux




The linux-kernel mailing list FAQ
Kernel Rebuild Guide
System call optimization with the SYSENTER instruction
Per-CPU Variables
IA-32 Intel Architecture Software Developer's Manuals.
Linux i386 Boot Code HOWTO
Understanding The Linux Virtual Memory Manager
(繼續閱讀...)
文章標籤

ccchiu 發表在 痞客邦 留言(0) 人氣(257)

  • 個人分類:韌體設計
▲top
  • 4月 16 週四 200909:07
  • 您是寫韌體呢?還是在寫軟體呢?!


轉載自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)

  • 個人分類:韌體設計
▲top
1

文章搜尋

文章分類

  • 宗教信仰 (2)
  • 好文分享 (4)
  • 網頁設計 (8)
  • 外語學習 (1)
  • Tcl/TK (1)
  • 理財 (1)
  • 運動休閒 (2)
  • 大寶小妞 (9)
  • 韌體設計 (6)
  • Linux/Unix (15)
  • XP (4)
  • 攝影 (10)
  • 居家生活 (5)
  • 五斗米 (6)
  • 未分類文章 (1)

熱門文章

  • (98,036)除權除息參考價如何計算?
  • (58,647)您是寫韌體呢?還是在寫軟體呢?!
  • (21,430)透過 VBA 進行 EXCEL File 的開啟與關閉
  • (15,604)missing separator. Stop.
  • (8,596)Redhat 5 vncserver 與 vncviewer 的設定步驟
  • (5,435)LINUX下何設定閒置10分鐘會自動登出?
  • (3,731)vim 常用功能分享
  • (1,276)我們家總算有時鐘了 ( Rexite Contrattempo )
  • (961)Canon EFS 17-55mm F2.8
  • (549)在 Linux 下如何強迫取消掛載 NFS 目錄