S3C2440開發板除錯中遇到的兩個問題

2021-05-24 13:24:35 字數 1247 閱讀 6662

之前說要專門寫一篇文章說明一下我們的開發板在除錯過程中遇到的問題,今天終於有時間了,那我就好好地總結一下。主要是兩個問題。

開發板做好後,我們就迫不及待地想在nor flash裡燒寫supervivi,看看我們的板子是否能正常工作。燒寫nor flash通常有2種方法,一種是通過h-jtag,另一種是通過j-link。我們首先用的是h-jtag,板子上電後,能夠檢測到arm9晶元,但是在對nor flash進行程式設計的時候,卻出現問題了,軟體提示「unable to halt arm core」,換用j-link之後,同樣還是這個問題。當時,我們那叫乙個糾結啊!

把這幾個關鍵字搜了一下,網上的說法主要是reset沒有成功,或者nwait沒有上拉等,造成沒有成功停止cpu核心,於是jtag無法正常與cpu通訊,因此無法燒寫程式到flash。但是我們的板子沒有這樣的問題,另外,我們仔細檢查了cpu與flash引腳之間的連線,檢查了om[3:0]這幾個引腳的連線方式以及cpu電源,都沒有發現問題。最後,師兄在買回來的核心板上面,發現多了乙個電阻,仔細檢視原理圖,發現這個電阻連線到cpu的nbatt_flt引腳,3.3v上拉。而我們的板子上面,這個引腳是懸空的,我們又查閱了s3c2440的晶元手冊,上面寫著當這個引腳不使用時必須上拉(3.3v)。幸虧當時畫板的時候,這個引腳通過過孔引出來了,於是,我們焊了乙個上拉電阻。再次上電,ok!接下來的一切都比較順利,直到遇到下面這個問題......

2、網路連線時斷時續

首先說明一下,我使用的網絡卡晶元是dm9000ep。在把bootloader、linux核心、檔案系統燒寫到nand flash裡之後,按照micro2440的使用者手冊,我想測試一下它的telnet功能,用交叉網線把主機和開發板連線之後,主機右下方的本地連線一會兒顯示連線,一會兒顯示斷開,反正就是不消停。在把主機和開發板設為同一網段之後,兩邊互相ping對方,無法ping通。軟體是肯定沒問題的,因為我們在友善之臂平台上做實驗,是完全正常的。接下來,我把目光又放在了硬體上。一開始仍然檢查電路圖,看看是否又像核心板那樣,某個引腳連得不對,但是這項工作完成後,我沒有發現任何問題。接著,我又考慮是否我的佈線不規範?但一般的電路沒有那麼嬌氣啊。百無聊奈之下,我又把友善之臂micro2440板子上與網絡卡有關的器件拆拆裝裝,看能不能模擬這個問題。最後,實在是沒辦法了,我狠下心,把好板之上的dm9000ep晶元卸下來,焊在我們的板子上,沒想到,居然成功了!omg,看來是晶元批次問題。

這兩個問題糾結了我們兩周多的時間,不過,解決之後,頓時感覺神清氣爽。在這裡分享一下,也想給廣大學習嵌入式的朋友們提供一些參考,在這個開放的平台中,我們,不是乙個人在戰鬥!

S3C2440開發板裸機程式系列05 定時器PWM

1.pwm概述 定時器0 1 2和3具有pwm功能。tcntbn是計數初值,定時器開啟後,減1計數。tcmpbn的值是用於比較的,初始值是0,所以tcntbn減1計數到0時,就等於tcmpbn,此時toutn就會翻轉。所以,tcmpbn的值是用於脈寬調變pwm的,即當遞減計數器 確切說是tcntn ...

OpenJTAG除錯S3C2440裸板程式

0x00 懵逼 當你寫好的初始化 head.s和鏈結指令碼uart.lds共同編譯出來的 bin,燒錄到nandflash中的時候,發現串列埠輸出一片空白,這時你的想法是什麼,砸電腦還是幹點其他有用的事?還是老實的搭建除錯環境吧,上篇講過如何除錯原始碼級的 但若是初始化 有問題,譬如sdram拷貝出...

S3C2410 S3C2440開發板相關書籍

1 arm處理器裸機開發實戰 機制而非策略 王小強 主編 電子工業出版社 實驗平台 tq2440。裸跑中的經典教程,有注釋,例項多而實用,是目前市場上最受好評的2440 裸跑教程。讓您從微控制器51入手arm 從此再無憂。2.c os ii原理與arm應用程式設計 張勇 方勤 蔡鵬 許波 著 3.嵌...