新聞中心

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

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

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


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


        發送完后會顯示起始地址, 再運行 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進制的字節數)。
        5、完成第4步后,緊接著保存以上操作:
        saveenv
        6、關掉電源,再次重啟,就可以看到自己的程序了正常運行了。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 林芝县| 武汉市| 河东区| 通山县| 临朐县| 池州市| 江川县| 芮城县| 凤山市| 盱眙县| 湘潭市| 门源| 黄石市| 宜宾县| 台北县| 准格尔旗| 巫山县| 桃园县| 长海县| 临海市| 平阳县| 沁阳市| 正阳县| 理塘县| 株洲县| 河南省| 苍南县| 丰宁| 武威市| 凤冈县| 寻乌县| 延边| 青州市| 沙雅县| 于都县| 彩票| 德惠市| 贺州市| 弥渡县| 陵川县| 湘阴县|