2009年1月21日 星期三

嵌入式系統工程師必備玩具《mini2440》

最近開始在學習linux, 以及linux在embeded system上的應用, 同事在網路上找到了這組ARM的開發板, 經過了一些討論就決定一人買一套來玩, 這組開發板CPU是Samsung S3C2440 400MHz, 配備64MB DRAM, 64MB Nand Flash, 2MB Nor Flash, 還有一顆3.5"觸摸式螢幕, 另外像是USB, RS232, SD卡, ethernet等週邊裝置的接口一應俱全, 而整套開發版還提供了一套類似PDA功能的linux作業系統, 也就是一開始什麼都不用做, 就有不少東西可以玩, 當然目標是要自己開發出一套產品, 不過目前我們都還不太會走路嘞, 想飛可能還要再過個幾個月呢...

#1

就是這一套mini2440 + 3.5"LCD

#2


#3

產品包裝上註明僅供學習與參考使用, 其實如果真要產品化, 還牽涉到許多版權的問題, 這應該不是我們這種小工程師能解決的
簡體中文的外包裝, 是的, 這東西大部都是在對岸生產, 對岸這類產品真是多到讓人不知道怎麼選

#4

主角現身, 比我想像中精緻許多, 而且還有一根觸控筆呢~

#5

RS232接口, 主要拿來和PC連接用, 可以在PC的終端機上看到一些系統的文字訊息

#6

左起為雙聲道音訊輸出, USB slave端, ethernet接孔

#7

板子上提供了開關可以切換從Nand Flash開機, 或是從Nor Flash開機

#8

右起為USB master端, SD卡槽, 還有一組GPIO可以拿來接其他的外接裝置

#9

這邊還提供了一組可以接CMOS sensor的接口

#10

快點插上電源開機來看看, 熟悉的企鵝出現囉~

#11

啟動後的畫面, 可以看見上面已經有不少應用程式, 像是筆記本, 聯絡簿, 錄音機, 另外還有遊戲頁面, 提供了幾個小遊戲, 儼然就是一部PDA囉, 就差一個好看的外表和電池吧...

#12

這就是Friendly ARM - 友善之臂, 一開始還沒意會過來友善之臂是什麼意思嘞...

除了硬體裝置外, 還有5片DVD, 裡面包含了技術文件, 開發軟體, linux及WinCE的程式碼, 而且還有許多教學影片哦, 影片部份就佔了4片DVD, 可以說萬事俱備了, 剩下的就只有使用者去寫自己想要的程式, 相當完備。

這一陣子接觸了linux, 也試著把家裡的電腦裝linux來用, 要熟悉一套新系統最快的方法就是把它融入平常的生活裡, 在玩過Mac OS X 和Windows之後, linux是我使用的第三套作業系統, 嚴格說起來我還是比較喜歡OS X, 不過現在要試著把平常在家裡會用windows做的事在linux上找到替代方案, 只要能把一些問題解決, 我應該就會把windows丢掉了吧...

56 則留言:

  1. 大大您好,偶是路人甲,想冒昧向您請教一些相關使用心得!1.螢幕是否會擋住led及key,友善之臂有出一款MICRO2440似乎比較理想。
    2.您買多少錢?是否有送相容jlink V7模擬器?是跟誰買的?
    希望您能回答,感恩。

    回覆刪除
  2. to Holison,
    1. 螢幕位於led和key的上方, 所以要按key的話要先把螢幕拿下來
    2. micro2440看來功能比較完善, 具VGA輸出以及CPU板可以抽換, 不過相對價錢也比較高一點(??), 看個人選擇囉...
    3. 我們是在露天拍賣買到的, 一組3600
    4. 沒有jlink V7

    回覆刪除
  3. 請問我也住新竹 也買了這一塊板子,目前用2.6.29板去測試,檔案系統用cramfs也掛載成功. 想請問一下您會yaffs製作到掛載成功嗎?? 我試很久一直沒有辦法成功過.也許您有好的辦法能交換一下意見~

    有好的建議請來信tekla7777@hotmail.com

    以上感謝您 ~

    回覆刪除
  4. 我也買了這一塊板子,usb 一直找不到friendly arm us download driver, 有甚好辦法嗎?

    回覆刪除
  5. 請參考以下連結
    http://www.friendlyarm.net/downloads

    USB download driver及DNW download tool

    回覆刪除
  6. 我也正想買這塊板子,請問你有升級到CE6.0嗎?之前問廠商說範例程式是用VS2005,C++寫的,我也是要用C++去開MFC丟到這板子上執行WinCE6.0,請問可以跟你要範例程式先自己電腦上模擬看看?謝謝

    回覆刪除
  7. to Eric,
    抱歉耶,
    這塊板子我只在上面玩linux,
    CE的部份完全沒碰過...

    回覆刪除
  8. 那可以跟你要CE的範例程式嗎,寄mail給我,想先看看程式怎麼寫,因為還沒購買,想先試試看,謝

    回覆刪除
  9. to Eric,
    其實我還是不知道你需要什麼東西耶,
    http://www.friendlyarm.net/downloads
    可以看一下上面的連結有沒有你需要的嗎?
    WinCE我是完全沒去動,
    所以裡面有什麼東西我也不清楚,
    現在只有在做linux而已...

    回覆刪除
  10. 上禮拜買一套來玩了,學習中大家可以交流一下

    回覆刪除
  11. to tsde,
    歡迎一起討論學習ARM-Linux哦~
    不過如果是WinCE我就沒辦法囉~

    回覆刪除
  12. friendly arm us download driver這個驅動在內附有正版友善之臂光碟目錄 windows平台工具底下usb 驅動這個目錄
    改成英文試看看

    回覆刪除
  13. to tsde,
    嗯, 這點我知道,
    這應該是windows本身的問題吧...
    那個簡中的路徑會跑不起來

    回覆刪除
  14. 請問一下 你適用哪種版本LINUX

    回覆刪除
  15. 嗯恩!! 所以你是用 linux 2.6.29.6

    那你接的時候 也是用USB 直接接上去?
    也是跟XP一樣 直接抓到 還是要裝驅動??
    (拍謝 = =" 第一次玩問題比較多)

    回覆刪除
  16. 呃...我誤會你的意思了
    我的PC上是裝Fedora 10, mini2440跑的是linux kernel 2.6.29.6
    USB是只有接到XP上, 所有download firmware的動作都是在XP上做的

    這樣, 有回答到您的問題嗎?

    回覆刪除
  17. 有!
    因為我想用XP 來搞看看
    但是我用USB接XP 就是沒抓到MINI2440這東西! 我在想是不是有特殊連法
    我之前也有用過Fedora 9 來連
    但是 Fedora 我接上去 他也完全沒反應
    是不是要安裝一些程式??
    他裡面附的影片 幾乎都是講師在說話
    跟幻燈片一樣!
    摸了蠻久的沒看到連PC的教學

    回覆刪除
  18. mini2440的USB接到PC只是用來download用,
    要先安裝driver, 之後用DNW才能把firmware download到flash裡,
    可以到官網去找找看
    http://www.friendlyarm.net/downloads
    要下載USB download driver及DNW download tool

    回覆刪除
  19. 板大 請問一下LINUX Fedora 11版我使用minicom 有時候RS232會抓不到,時常更改serial port設定
    /dev/ttyUSB0~/dev/ttyUSB2之間做測試
    請問有解嗎?還是我的COM PORT 轉USB轉接頭的問題 謝謝

    回覆刪除
  20. 呃...我這邊在用都是XP+VMWare
    所以UART message都是在XP上看的,
    沒有直接接過linux耶...
    抱歉哩~

    回覆刪除
  21. 我造你說的 已經下載那兩個了

    那機子裡面還要做甚麼選項 才能連上PC?

    回覆刪除
  22. 呃...我不清楚你所謂的連上PC是什麼意思耶...

    mini2440的USB port連PC時"只能"用來download firmware用
    download時要先切到boot from Norflash, 開機後在UART裡會進到boot menu
    而PC上的DNW打開後, 會顯示USB port ready
    從UART的選單裡選擇download firmware後,再從DNW開啟你要download的code
    確定後就會開始下載至Nandflash裡
    就這樣囉~
    有問題再討論...

    回覆刪除
  23. 《mini2440》連到PC(XP) 再用安裝好的 vmware 連線 需要作怎樣的設定嗎?

    (拍謝 第一次玩這種類型的機子><)

    回覆刪除
  24. 呃...不太懂你的意思, 我說說我做的事好了,
    我是在mini2440上跑embedded linux,
    kernel的編譯是在XP上用VMWare安裝fedora來開發的,
    編譯出來的zImage檔則透過XP來download到mini2440上,
    至於download的方法就是透過USB,
    XP上要先安裝mini2440 USB download driver和DNW
    這樣不知道有沒有回答您的問題?

    回覆刪除
  25. 請問 我先安裝了usb-downloaddr 但市mini2440 接上usb xp還是沒有動靜
    mini2440裡面需要設定甚麼嗎?

    回覆刪除
  26. 裝完USB download driver之後,
    開啟DNW這個程式,
    然後把USB接到mini2440上,
    mini2440切到boot from Norflash,上電
    應該能看到DNW上顯示USB OK
    啊如果還不行, 俺就不知道是什麼情況啦...=_=
    抱歉哩~

    回覆刪除
  27. 我是買友善之臂(以下稱 FA) micro2440,現在在 FA上 跑 Linux 2.6.32.2 + Qtopia。看完「匿名」板友的問題,可知他根本沒看 FA 使用手冊(pdf檔)。。。我這邊簡單說一下:所謂 PC 和 FA 之間的連線有兩個:一個是 COM Port 連接,FA 的 serial console 透過 FA 底板的 COM Port (注意是 COM0,底板上有標示) 連到 PC 的 COM Port (USB COM Port亦同),FA 附有 COM Port 連接線,Windows XP 這邊執行超級終端機或是 SecureCRT 的軟體連接到 PC 的 COM Port,並設定 baurdrate 等參數後,即可連接 FA 的serial console。另一個是 USB 連接,用來傳輸 image 檔至 FA 用,FA 附有 USB device 連接線,一頭接 FA 的 USB Device Port,即六角形近似正方形的接頭,另一頭接 PC 的 USB Port,這樣的架構對 PC 來說,會將 FA 視為一個 USB 裝置,所以 Windows XP 這邊需要裝 USB driver,裝完後,Windows XP 即可識別此裝置,才能利用 DNW.EXE 傳輸 image 檔至 FA,見 DNW 的視窗標題有無顯示 USB:OK字樣,表示 USB 連接成功。

    回覆刪除
  28. 至於開機,友善之臂(以下簡稱 FA)有個小開關,可切換 NOR 開機或是 NAND 開機,另一個小開關是電源。NOR只有 2MB 大小,裡面有 supervivi bootloader。NAND 有 64/128/256/512/1024MB 等大小,看你買的 FA 而定,這個 NAND 才是儲存 bootloader/kernel/root 等等 image 檔的所在。從 NOR 開機只能跑 supervivi,這個 supervivi 能讓你燒錄 Linux 或是 WinCE 的 image 檔至 NAND 上,此時就需要 DNW.EXE 傳輸 image 檔。而 NAND 開機即是開機進入 NAND 內所燒錄的系統,目前 FA 有 WinCE 5/6, Linux+Qtopia 及 Android 等等。若是 NAND 被清掉,從 NAND 開機就像是當掉一樣,console 就看不到開機訊息,此時需以上術方式燒錄 NAND。另外,NOR 內的 supervivi 一般我們不會動它或清它,若是 NOR 被清掉,也可以透過 H-JTAG 或是 H-Flasher,去燒錄 NOR,這需要連接至 PC 的 LPT,也就是 Printer Port。

    回覆刪除
  29. to richardfan,
    感謝您詳細的解說哦~

    回覆刪除
  30. 樓主請別客氣!再補充一下我的經驗:因為我買的是 micro2440,和 mini2440不同的是:micro2440 是兩塊主板的設計,FriendlyARM(以下簡稱FA)稱作核心板和底板,核心板就是比較小塊那片,上面有CPU, DRAM, NAND 和 NOR 等等。底板比較大,有三排 2xN 的排針母座和核心板連接,有一堆連接埠。FA說者兩者可以結合起來跑,或是把核心板拔起來單獨跑核心板,不過後者我是沒試過啦。micro2440 的核心板有個 J1 的 jumper,這個是用來切換 NAND/NOR 開機的,open 是 NOR開機,short 是 NAND 開機,open 就是把 jumper 拔起來的意思。重點來了,這個 jumper 和底板上同樣也是切換 NAND/NOR 開機的小開關,不會衝突嗎?答案是:會。必須把 J1 open 後,小開關才會有作用,若是 J1 short,永遠只能 NAND 開機,小開關怎麼切 NOR 開機都沒作用。我為此我還搞了很久,PO 出來以免大家重蹈覆輒。

    回覆刪除
  31. 我想請問一下
    我已經把mini2440 改成win ce了
    要怎麼在裡面裝 vb程式呢??

    回覆刪除
  32. to #32,
    抱歉耶~
    我沒有碰win ce的部份,
    只有玩linux而已,
    所以沒辦法回答你的問題哦...

    回覆刪除
  33. 前輩您好,剛好最近想開始認真的把嵌入式系統整個學一學。
    剛好在別人的網頁看到大家在討論這塊版子:
    http://www.blogger.com/profile/04202888873710547389

    1.我有看了一下大部分的開發板,目前想買micro2440、mini2440其中一塊;
    因為覺得這些開發版的學習資源還滿多的還有一些dvd可以看??
    不知道你有無看過這些學習的影片,我想知道會不會太難懂呢??

    2.我有看到使用com port連到micro2440上,可以透過SecureCRT進入開機畫面。
    我想請問就你所知mini2440的方式也是一樣嗎??因為目前打算買mini2440,
    想說比micro2440便宜一些。

    3.另外延伸2.的問題,可否使用usb轉com port的線和Tera Term之類的軟體連線
    到micro2440裡面呢??因為我在公司也是這樣子用,只是公司是另一塊版子加上
    一個比較特別的console版接腳插到版子上才能連線。

    4.使用2.的方法不知道可以燒 flash 呢??因為我在公司好像也是透過tera term加上
    一些xdl、傳檔案、save之類的指令(這些應該是bootloader的指令吧)去寫flash的。

    5.我看了一下別的地方的討論好像flash 要換成256MB才比較可以玩andriod,不知道是
    真的還假的??因為想說最近這個滿紅的,雖然短期之類不會用到,但難保哪天真的還會
    做到andriod的東西。

    6.請問有無什麼不錯的討論區可以學習呢??如果有相關資訊再煩請告知。
    我目前找到二個:
    1)http://www.friendlyarm.net/
    2)http://www.arm9.net/

    7.請問JLINK有無其必要性,有什麼用途呢??另外請問JTAG是做什麼用的呢??
    因為這個我好像沒用過??或是也許有用過但不知道就是那個用途...。

    報歉問了一些奇怪的問題,因為在公司只大概知道proboot起來會跑uCLinux,再來是
    load各個driver、module,都ok後才會跑AP程式,似乎對嵌入式系統沒有說很完全的認識
    所以想說買塊開發版自己來玩玩。
    煩請幫忙解答謝謝。

    回覆刪除
  34. 前輩您好,剛好最近想開始認真的把嵌入式系統整個學一學。
    剛好在別人的網頁看到大家在討論這塊版子:
    http://www.blogger.com/profile/04202888873710547389

    1.我有看了一下大部分的開發板,目前想買micro2440、mini2440其中一塊;
    因為覺得這些開發版的學習資源還滿多的還有一些dvd可以看??
    不知道你有無看過這些學習的影片,我想知道會不會太難懂呢??

    2.我有看到使用com port連到micro2440上,可以透過SecureCRT進入開機畫面。
    我想請問就你所知mini2440的方式也是一樣嗎??因為目前打算買mini2440,
    想說比micro2440便宜一些。

    3.另外延伸2.的問題,可否使用usb轉com port的線和Tera Term之類的軟體連線
    到micro2440裡面呢??因為我在公司也是這樣子用,只是公司是另一塊版子加上
    一個比較特別的console版接腳插到版子上才能連線。

    4.使用2.的方法不知道可以燒 flash 呢??因為我在公司好像也是透過tera term加上
    一些xdl、傳檔案、save之類的指令(這些應該是bootloader的指令吧)去寫flash的。

    回覆刪除
  35. 5.我看了一下別的地方的討論好像flash 要換成256MB才比較可以玩andriod,不知道是
    真的還假的??因為想說最近這個滿紅的,雖然短期之類不會用到,但難保哪天真的還會
    做到andriod的東西。

    6.請問有無什麼不錯的討論區可以學習呢??如果有相關資訊再煩請告知。
    我目前找到二個:
    1)http://www.friendlyarm.net/
    2)http://www.arm9.net/

    7.請問JLINK有無其必要性,有什麼用途呢??另外請問JTAG是做什麼用的呢??
    因為這個我好像沒用過??或是也許有用過但不知道就是那個用途...。

    報歉問了一些奇怪的問題,因為在公司只大概知道proboot起來會跑uCLinux,再來是
    load各個driver、module,都ok後才會跑AP程式,似乎對嵌入式系統沒有說很完全的認識
    所以想說買塊開發版自己來玩玩。
    煩請幫忙解答謝謝。

    回覆刪除
  36. 回RD生活:

    1.那堆DVD我大概看過。就是一些文件、筆記、影音教學(中國老師)和一些盜版軟體,東西有些雜亂,沒有系統性。影音教學部份,老師是中國口音,聽來有些吃力,加上我們和中國用的術語有很多不一樣,不習慣的話會更吃力。

    2.mini系列和micro系列,這部份是一樣的,買哪片隨你高興。

    3.USB-serial 的轉接線,當然可以用啊。要先確定 PC端 USB serial 的 driver 有裝好。

    4.可以。這邊指的 flash 是 NAND flash,NAND 的燒錄是 supervivi bootloader 做的,從 NOR 開機即可見 bootloader 選單,其中即有燒錄選項。選定後,image 檔需由 DNW.EXE 工具透過 USB 傳輸。

    5.因為 Android image 大小超過 64MB,至少需要 128MB 的 NAND 才能跑 Android。

    6.請 Google

    7. JLINK/JTAG 是用於 debug,這裡是用來燒 NOR flash 用的。想像一下,若是 NOR 和 NAND 都被清掉或是沒有資料時,表示這片板子無法開機,當然也無法開機進 bootloader 燒 NAND,只剩軀殼,沒有靈魂。此時需借助 JLINK,將 supervivi bootloader (即靈魂) 透過 JTAG 介面燒進 NOR flash,切換至 NOR 開機後,supervivi 才能跑起來,supervivi 跑起來後,才能燒 Android, Linux 等那堆東西。若是沒有 JTAG,Flash 燒錄時燒壞,就必須用特殊工具將 NAND 拔起來,再拿到 IC 燒錄器重燒 bootloader,然後再把 NAND 焊回去,很麻煩。類似 PC BIOS 燒壞掉時一樣。

    回覆刪除
  37. to richardfan,
    感謝您的回答, 真詳細哩~

    回覆刪除
  38. 請問一下 這一塊板子 有辦法灌Andriod麻??
    我是嵌入式的新人> <

    回覆刪除
  39. to S,
    這塊板子基本上沒有提供Android的BSP,
    如果要裝android就要自己去PO吧...
    要玩android的話最少要samsung 6410以上才有提供BSP

    回覆刪除
  40. 友善於 2009/08/25 時就有提供 for android zImage ,我就在那個時間點買的,但是 LCD 顯示的部份有 shift 不是剛好滿框,且我把mini2440 LCD 翻到後面去才可以按 button.

    回覆刪除
  41. 我想請問一下,想使2440使用網路線上網該如何設定呢? 因為我已經照說明書進度使用,還是無法上網,想請問該怎麼解決?謝謝!

    回覆刪除
  42. Re: Riley 25 <5532516399006798495>
    在console底下先試試
    # ifconfig eth0 up
    # ifconfig
    看看eth0有沒有被enable, 然後可以先試試手動設定IP
    # ifconfig eth0 192.168.100.100
    成功後在區網ping ping看, OK的話表示網路功能應該沒問題, 如果不行, 就要回頭確定一下kernel的ethernet driver有沒有開, 再不行我也沒辦法囉~=_=

    回覆刪除
  43. 開機出現黑屏綠色紅線藍線
    是面板壞掉了嗎??

    回覆刪除
    回覆
    1. 不一定耶, 我記得這塊板子上電之後如果display module沒初始化, 應該會出現一些奇怪畫面, 所以開機以後如果code沒跑起來, 就有可能造成這種效果, 先看UART有沒有訊息吐出來吧

      刪除
  44. 最近也想自學嵌入式
    請問大大有配合embedded linux 相關書籍來看嗎?有推薦的嗎?

    回覆刪除
    回覆
    1. 沒耶...我不太看書的...XD
      基本上我都是工作上用到, 然後就google找資料, 一點一點慢慢累積啦
      embedded linux範圍很廣, 你要先想想你要學的是那一部份, 是最底層的linux porting, 或是device driver, 或是user space的應用程式開發, 看書是其次, 最重要的還是弄個練習板, 然後決定一個題目動手去做

      刪除
  45. 您好, 小弟近日也購買了一套micro2440 , 想請教前輩是否能安裝skype?(Linux or WinCE)
    或是使用隨身碟或SD卡跑WinXP作業系統?
    感恩

    回覆刪除
    回覆
    1. 拍謝,我沒有碰WinCE耶
      至於Linux, 我有只玩kernel+busybox+GTK而已, 要安裝skype必需要先能在micro2440上跑Ubuntu或Fedora之類的吧? 這部份我就沒碰過了

      刪除
    2. 感謝您的迅速回覆.
      感恩

      刪除
    3. 剛看了一下micro2440的package, 如果要在上面跑Skype, 可能可以從QT著手, 先找找看QT上有沒有相容skype的程式, 如果有的話就先PO QT上去, 如果沒有可能就無解了...=_=

      刪除
    4. 再補充一下, 看起來skype有QT版本, 可以試試, 不過提醒一件事, skype在後來被M$買走之後, 好像protocol有改, 造成第三方的skype軟體沒辦法使用, 所以不確定PO上去之後是不是真的能正常動作, 以上。

      刪除
  46. mini2440 u-boot 及 kernel 系統移植
    https://chenlinslim.wordpress.com/

    回覆刪除
  47. 回覆
    1. 拍謝, 年代久遠了, 機器已經留給別人啦~

      刪除