討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 網路投保旅行平安險 討論區最近新進100則主題
[ 回上頁 ] [ 討論區發言規則 ]
關於bootloader開發
更改我的閱讀文章字型大小
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/6 下午 08:48:22
各位前輩好
  小弟買了一塊開發板,想要從最基礎的地方開始學習,首先想要學習開發bootloader這部分,但是對這方面的知識不是很懂,想請各位前輩幫幫忙,一步一步的指導小弟,讓小弟能夠順利完成這項學習。

硬體
開發板ARMax 700 W90N740-80MHz no mmu
ROM-4MB
RAM-16MB

軟體
uClinux
arm-elf-gcc

我目前在努力研讀這個CPU的DATA Sheet 需要哪些資訊 請各位前輩指教。

小弟對於硬體這塊,只學過計算機組織的部分。

對於學習這部分,前輩有哪些需要吩咐的,請告訴小弟。
讓小弟能夠一步步的上軌道,在這先謝過各位前輩了。
作者 : gogine(okman)
[ 貼文 24 | 人氣 1332 | 評價 50 | 評價/貼文 2.08 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人ji10299註記此篇回應為很有道理 2005/9/7 上午 09:14:23
我想一開始買個公版來study是OK的。但如果想study boot loader相關的知識,建議
可去找一些boot loader相關的書來看,知道了bootloader的功用是什麼後,再去下
arm板上常用的幾個loader下來,,如u-boot或 red-boot等。在這些public的loader上trace一下codes,並試著在公板上去讓他動起來,一步一步把一些功能on起來,我相信這樣可能是比較有幫助的。



謝謝
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/7 下午 07:15:34
謝謝這位大大
  真的很想學這部分,是不是應該先從以下這三部分開始著手 1.CPU的data sheet。 2.Flash的讀、寫、刪、搬移、、、等等。 3.還有了解inittable檔案 之後在來作修改呢?
作者 : kchen(ㄎㄧㄤ ㄎㄧㄤ)
[ 貼文 1 | 人氣 8 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/7 下午 10:14:28
Dear 阿閔,

要開發Bootloader,
得先把"W90N740PGV1-2.pdf"看熟:P
作者 : gogine(okman)
[ 貼文 24 | 人氣 1332 | 評價 50 | 評價/貼文 2.08 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/8 下午 02:48:39
恩,你說的沒錯。了解你所用的這一顆CPU跟他週邊的連接關係,如記憶體跟flash是相當重要的。因為很多cpu的data sheet都會說明開機時,他會固定跳到那個位址,做些什麼事,
這時你再配合你的版子的電路圖,你就會知道某些線路的連接,是有其奧妙的。你知道了一個
CPU的起點後,看CPU的sheet你就知道一開機後,要做的事情不外乎就是跳到一個位址,執行一小段codes,初始化一塊記憶體,和一些開機初期所需的registers後,然後開始搬運flash中的codes到記憶體中來執行,這些可都是跟boot loader要幹的事有關喔!加油!

FYI
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/8 下午 07:47:31
    我知道第一步了,多謝你唷,我會努力的看那本data sheet,你文中有提到一小段code,然後初始化,請問那段code,是要自己寫,還是上網去找符合的呢?是不是利用燒入的方式將該段code,放到開發板記憶體中初始化的區塊,之後、開機後CPU就會自己找到那塊區塊,進行初始化,是不是這樣呢??

感恩
作者 : gogine(okman)
[ 貼文 24 | 人氣 1332 | 評價 50 | 評價/貼文 2.08 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人ji10299註記此篇回應為很有道理 2005/9/9 上午 11:37:06
通常這一小段codes,指的就是boot loader本身(做類似bios做的事)。只是一般來說,當cpu一開機所執行的那一堆初始化cpu、記憶體、中斷向量、定址、頻率等東西的碼大多是以組合語言寫成,等到他初使化環境的程度到達可以執行一個C的地步時,此時執行權會交接至那個用C寫成的第一個entry點,再繼續做其他的事。所以你看boot-loader的codes時,要分清楚,它的前置碼有沒有一堆組語,還是說就是直接進C寫成的codes。如果沒有那一段前置碼,那可能這個細節就預先被做掉了(其實這一段要怎麼做,也要看你用的CPU vendor要不要讓你自己做。),這時你所弄的"boot loader" 就是只要負責能初始一個kernel起動的環境並啟動kernel即可。順便看看在你這個"boot loader"是不是想做做其他功能,例如起一個網路driver或usb driver好讓你能更新你的"boot loader"等。

一般過程大概是如此,你可以把那個組語想成是bios,而後來跑進去那個C寫成的碼是 boot manager這樣就比較容易通了。你可以對照你的系統看看你能做的boot-loader究竟是 bios+boot manager還是只是boot manager而已。

有一些embedded system所提供的boot loader是指 bios+boot manager,而有一些
是只有boot manager而已喔,別弄糊塗了!不過說它是boot manager也不大妥,因為embedded中,你也只會有一個OS(kernel可選)。

Anyway 記住這個流程 bios -> boot manager -> kernel ->APP 對你會更有幫助喔。

FYI
作者 : gogine(okman)
[ 貼文 24 | 人氣 1332 | 評價 50 | 評價/貼文 2.08 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/9 上午 11:54:51
所以關於你的問題:
1.你得看你的版子的spec跟使用說明喔。看看他所建議的loader是那個,它通常也會說明
如果你要自己搞boot loader時,要把這個loader燒到flash的那個位址去。

2.去下載u-boot或red-boot來看codes是很有幫助的喔
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/10 下午 07:33:10
bios -> boot manager -> kernel ->APP
^^^^^^^^^^^^^^^
這段式屬於bootloader負責的部分對吧,
1.初始化是不是把一段Code的映象檔燒入記憶體初始化的位置,開機後CPU會自己去Load這段Code,進行初始化,初始化後就有部分的控制的能力,可將Kernel、AP....載入對吧

2.那段Code檔案型態是映象檔,請問檔案型態是????

3.那段Code檔案是用組合語言寫的還是????

4.u-boot或red-boot來看codes 因為沒用過這個方式所以要試試看,那是不是可以從網路上找個bootloder的code來試驗???
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/13 上午 05:02:00
關於memory的部份。

Suggested Memory MAP of BSP Flash

adderssof flash image no name comment

0x7F000000
~ bootloader bootloader program
0x7F00FFFF


0x7F010000
~ 0 image 0 system prarmeters
0x7F01FFFF


0x7F100000
~ 6 romsf.img(zip) ROM file system code
0x7F1FFFFF


0x7F020000
~ 7 compressed linux kernel
0x7F0FFFFF
作者 : gogine(okman)
[ 貼文 24 | 人氣 1332 | 評價 50 | 評價/貼文 2.08 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/13 上午 11:40:02
1.這個codes (boot loader)是你要自己要燒入的。版子在power on後,會根據版子上的設定,自己去load在flash上的指令出來執行。

2.我看過的有bin跟S3副檔名,這兩種都是binary files。

3.通常開頭會有一部分用組語寫。

4.你當然可以去找一個boot loader來試,我想這也是你買版子的目的。只是在挑選loader時,最好挑選那種支援CPU跟版子多的那種。你的版子供應商應該有建議的loader或作好的吧。建議先從那下手。不然萬一版子boot 不起來,還得花一些時間去修,會很麻煩。

5.你的版子買來時,上電可以看到boot的過程嗎?如果可以,你可以先在那個環境裡體驗一下
順便觀察一下,有那些資源。

FYI
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/14 上午 03:47:24
多謝你唷
  我會去試試看,不過你說找loader這方面,是不是就是去網站上其他大大建議的網址去找,比如u-boot....等等的網站呢?
  
  買的板子,只有附上.bin的檔案,有辦法看出裡面的端倪嗎?

  對了,可不可以麻煩你告知,那段code的大概寫法,就你身邊有的資料,因為我還不知道那段code的樣子,是像下面這段一樣嗎??

bootsect_pos[0x1fc] = root_minor;
bootsect_pos[0x1fd] = root_major;

bootsect_pos[0x1fa] = 0xff;
bootsect_pos[0x1fb] = 0xff;

bootsect_pos[0x210] = 0xff;
作者 : gogine(okman)
[ 貼文 24 | 人氣 1332 | 評價 50 | 評價/貼文 2.08 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/15 下午 01:12:47
codes還滿多的ㄟ。還是說你去下u-boot後把它解開了後,我再跟你說。

順便請教一下你那片版子開機時有分成用parallel flash跟serial flash開機的方式嗎?

順便請留下您的E-mail吧.........

FYI
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/16 上午 03:19:38
謝謝你唷
我的Mail ji10299@yahoo.com.tw
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/19 下午 02:55:17
大大
1.我去網路上下載了u-boot-1.1.3,也解開了,不過內容物看了一下有好多東西唷,在來我  該做些啥呢?
2.我發現看了DATA SHEET資料,還不是很清楚那些資料的作用耶?
 所以你說的開機方式,我可能還要在詳讀資料一下?
3.我有去買ICE以及軟體,可是只會一點點的操作?

怎辦,一堆問題,發現問題越來越多>.<
作者 : gogine(okman)
[ 貼文 24 | 人氣 1332 | 評價 50 | 評價/貼文 2.08 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/22 上午 09:34:30
Don't worry ! 有問題是正常的,做嵌入式的東西本來就得多些耐心的。關於你的問題

1.你可以先去看 cpu 目錄,那裡有很多種類cpu的目錄。你可先看看arm相關的,例如arm720t。在這些目錄下通常都會有一個檔案叫做 Start.S,這通常是這個cpu一開機後
就會load到的檔案,這就是我跟你在之前提到的那一小段codes.然後在這個檔案 init 完後
就會跳去 lib-arm 目錄下的 board.c 中執行,最後會 call 到 common 目錄下的 main.c 中的 main_loop 函式。 你可從這個順序去了解開機及控制權轉移的順序。
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/22 下午 08:44:43
多謝
  我會加緊把你說的3樣東西看完的,最近買了本書,上面有提到一點點這方面的東西,經過你的說明終於大致了解,我會邊看邊發問,

要感謝你的幫助唷。我會多加油的。
作者 : liuweiting1(liuweiting@gmail.com)
[ 貼文 2 | 人氣 1 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/10/7 下午 04:40:43
Hi:

我現在上班的公司,也有用到W90N740這科CPU

如果有問題也許我們可以討論喔!


weiting
作者 : liuweiting1(liuweiting@gmail.com)
[ 貼文 2 | 人氣 1 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/10/7 下午 04:40:51
Hi:

我現在上班的公司,也有用到W90N740這科CPU

如果有問題也許我們可以討論喔!


weiting
作者 : temlin(temlin)
[ 貼文 9 | 人氣 298 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/10/28 下午 01:11:20
阿閔兄
小弟最近也開始學習embedded system . 也想買塊學習板玩玩
請教您是何處購得 . 套件內容 . 價位ㄋ?
也請教板上的各位前輩指導小弟 . 該如何入行 . 建議哪些書與套件
小弟學過 MIPS . LNUX . RTOS. 學校用過S3C4510 . 幾本相關書籍
謝謝 . 謝謝
作者 : temlin(temlin)
[ 貼文 9 | 人氣 298 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/10/28 下午 01:15:42
各位前輩
附上小弟的mail : temlin@picvue.com.tw
再次謝謝 . 謝謝
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/10/28 下午 02:36:58
dear
首先板子的價格唷,就我知道的,大概4000-8000吧,我是透過網路跟一些朋友
知道大概的行情,板子的配備,有

ARMax 700 W90N740-80MHz no mmu
ROM-4MB
RAM-16MB
2個網路
1個USB
1個UART
1個20*2的LCD


建議你喔
要買來練習的話 盡量買一些 舊一點的板子
因為在網路上有比較多的資料可查
也比較多前輩有涉略這些
作者 : temlin(temlin)
[ 貼文 9 | 人氣 298 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/10/28 下午 05:30:52
謝謝阿閔兄的建議
請問這塊板可以實作哪些項目
有附手冊 .....嗎 . 不用ICE嗎 .RS232....
您在哪買的 .價位ㄋ
如果可以 . 小弟就跟您買相同的板子
學習路上 . 也好像您請教
謝謝
作者 : besthacker99(Johnson)
[ 貼文 25 | 人氣 1464 | 評價 40 | 評價/貼文 1.6 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/10/29 下午 09:43:34
W90n740這顆我有port過,for redboot
如果要寫boot loader建義你要有一個ICE,這樣比較好trace同時debug
有了ICE 你就無敵了,要燒code還是幹麻都可以,不過你要知道怎麼用ice啦
個人我推一個ICE chameleon POD 我用過,超便宜,上網買
6000左右NT
加油了,一開始就摸了最深的東西
作者 : besthacker99(Johnson)
[ 貼文 25 | 人氣 1464 | 評價 40 | 評價/貼文 1.6 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/10/29 下午 09:43:38
W90n740這顆我有port過,for redboot
如果要寫boot loader建義你要有一個ICE,這樣比較好trace同時debug
有了ICE 你就無敵了,要燒code還是幹麻都可以,不過你要知道怎麼用ice啦
個人我推一個ICE chameleon POD 我用過,超便宜,上網買
6000左右NT
加油了,一開始就摸了最深的東西
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/10/30 下午 10:03:59
Dear
  我也正在摸索中,加上不是有相關背景,所以學的不是很精通,而且很有很多問題要想通,所以大家要相互切磋啦。

對了,要懂bootloader,就真的要買ICE了,我有買一個,是水貨大概是4500,不過買ICE之前,要先確定你要的板子喔,因為ICE不是通通的板子都可以用。

一起加油吧
作者 : ji10299(阿閔)
[ 貼文 12 | 人氣 6146 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/10/30 下午 10:10:45
Dear
  這位大大,可不可以請你再重新貼一次,你貼過的redboot
謝謝你唷
作者 : registry(丫傑) 人氣指數超過10000點
[ 貼文 32 | 人氣 11457 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/6/23 下午 05:25:34
+1 一同討論
registry.chou@gmail.com
or MSN : registry@giga.net.tw
 板主 : yuan
 > 嵌入式系統(Embedded System) - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 嵌入式系統(Embedded System) - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
嵌入式系統(Embedded System)
1 kting 770 
2 Lingb 400 
3 sazabi 400 
4 Huah 390 
5 hawkeye 380 
6 H 360 
7 yuan 350 
8 Kenny 310 
9 ozzy 290 
10 富伯 280 
嵌入式系統(Embedded System)
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.109375