<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 44b0從裸片到電路板調(diào)試制作三步走

          44b0從裸片到電路板調(diào)試制作三步走

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


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


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


          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();