新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 44b0從裸片到電路板調試制作三步走

44b0從裸片到電路板調試制作三步走

作者: 時間:2016-11-20 來源:網(wǎng)絡 收藏
首先,我想說的是,我一直都是在玩兒LPC系列的ARM,近期由于項目需要用了一塊S3C44B0,用的我那個憋屈啊!也許是習慣了ZLG系列操作的傻瓜性所以剛接觸44B0的確是懵了(怎么這么麻煩),bootloader(俗稱BIOS),和引導程序、應用程序要分開下載,這些在ZLG里面全部一步到位(打開JTAG,直接Debugger就Ok了),而網(wǎng)上的資料寫的雖然停詳細可是太不簡潔了,看了半天也不明所以,所以前前后后花了我將近一個月的時間才吧44b0的板子調通。這里我想把我從買到44B0芯片到焊接調試成功的整個過程寫下來希望能幫助一些朋友,共分三步:
1、芯片焊接及初始化
2、程序仿真調試
3、程序下載
一、芯片焊接及初始化:
焊接我就不羅嗦了,初始化這步至關重要。剛焊接好后,上電如果能檢測到ARM7內核,說明電源正常。但此時你如果檢測Flash的話你是檢測不到的,當初我自己就是納悶,怎么檢測不到flash呢?因為在用LPC的時候應該是都檢測正常的。奇怪了吧!
于是,我就懷疑是我Flash的焊接出問題了,我又重新焊接一次flash以及44B0,然后仔細的一個一個腳的測發(fā)現(xiàn)沒什么問題,于是,我再次上電,可還是檢測不到Flash。這我就懵了,搞了1天多還是沒有效果。這時,我也只好告訴自己一定要靜下心來,不要急躁,好好的研究一下44B0的數(shù)據(jù)手冊和Bootloader。
再經(jīng)過幾番的仔細研究后我才知道,44B0裸片焊接好后要進行初始化,亦即燒寫bootloader,通俗點講就是相當于裝驅動包括flash、網(wǎng)卡等。初始化,很多都是采用FLUTED軟件進行的,我也是用的這個軟件,可是就這個軟件用的也是一波三折,本來按照軟件說明書里那樣進行操作,可是一運行老是錯誤:get ID regester ...id code error ( 0x00000000)should be 0x1f0f0f0f。我在網(wǎng)上搜了一下,發(fā)現(xiàn)很多人都遇到過類似的錯誤,找來找去也沒有人給個解決的法子,我也就只能自己摸索了,好在老天不負我,原來用這套軟件首先要去掉軟件的只讀屬性,然后打開它之前首先要打開H-JTAG連接好內核,這樣bootloader才能順利下載進去。總之裸片首先要初始化,步驟:
Ø FLUTED軟件拷貝到相應目錄下面,確認批處理文件的路徑是否正確;
Ø 開H-JTAG連接內核,開FLUTED的批處理文件待下載bootloader下載完畢。
二、仿真調試:
不論是SDT還是ADS網(wǎng)上說明也很多了我就不羅嗦了。
三、程序下載:
程序下載方式有網(wǎng)口、串口、USB、并口等,其中我介紹一種串口下載,因為除了并口下載其他的在設計板子的時候都太占地方了。
串口下載步驟:
1、 啟動超級終端;
2、 打開板子電源,這時超級終端會有如下圖顯示:


3、在倒計時到0之前按任意鍵,進入編輯狀態(tài),輸入:
loadb 0x0C008000 (不是這個地址也無所謂,只要RAM最高塊不用就可以)。
點發(fā)送文件,選擇 kermit 方式發(fā)送要調試的BIN文件,界面如下:


發(fā)送完后會顯示起始地址, 再運行 go 0x0c008000 (起始地址)就可以了。
4、上面程序只是在SDRAM中運行,所以需要把它拷貝到FLASH中,在第2步操作完成后,依次輸入一下命令:
S3C44B0 #protect off 0x0050000 0x1fffff -關FLASH寫保護
S3C44B0 #erase 0x0050000 0x007ffff -擦除FLASH
S3C44B0 #cp 0x0c008000 0x0050000 $(文件長度)
S3C44B0 #setenv bootcmd cp 0x50000 0x 0c008000;go 0x0c008000(設置啟動順訊)
這指出cp命令中第一個是RAM起始地址(0x0c008000)也是用戶程序下載的地址,第二個是FLASH燒寫的起始地址(0x0050000),最后是程序的長度。(長度單位是16進制的32位字,乘以 4 就可以得到16進制的字節(jié)數(shù))。
5、完成第4步后,緊接著保存以上操作:
saveenv
6、關掉電源,再次重啟,就可以看到自己的程序了正常運行了。


評論


技術專區(qū)

關閉