国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚
電子工程網
標題:
2410啟動代碼有些地方不太明白?
[打印本頁]
作者:
anfaye
時間:
2009-8-28 09:22
標題:
2410啟動代碼有些地方不太明白?
有幾個常量的定義不知道是根據什麼決定的?
看了datasheet也沒有找到說明的地方?
可以說說這些常量定義為多大,是根據什麼嗎?
1.BIT_SELFREFRESH EQU (1<<22) ;
2. UserStack EQU (_STACK_BASEADDRESS-0x3800) ;0x33ff4800 ~
SVCStack EQU (_STACK_BASEADDRESS-0x2800) ;0x33ff5800 ~
UndefStack EQU (_STACK_BASEADDRESS-0x2400) ;0x33ff5c00 ~
AbortStack EQU (_STACK_BASEADDRESS-0x2000) ;0x33ff6000 ~
IRQStack EQU (_STACK_BASEADDRESS-0x1000) ;0x33ff7000 ~
FIQStack EQU (_STACK_BASEADDRESS-0x0) ;0x33ff8000 ~
作者:
阿南
時間:
2009-8-28 17:08
堆棧空間的大小,定義小了會不夠用而出現程序跑飛,定義大了浪費,所以要根據具體情況給了。
官方給出的默認值能夠滿足大部分應用,除非你的內存確實不夠那就將有些沒怎么用的減小些,如AbortStack\FIQStack。。。等。
通常堆棧空間都定義在SDRAM地址的末端以防止沖突,64MB的SDRAM地址范圍為0x30000000 ~ 0x33FFFFFF
作者:
anfaye
時間:
2009-8-28 19:21
謝謝,啊南老師.關於堆棧的問題大致懂了,
我查閱了datasheet第5章memory controller,
對於各個工作模式,好像只介紹了CPSR的低5位來確定處理器工作在何種模式,并沒有具體說明各個模式的堆棧如何定義及用法.如果我想在仔細研究一下這方面,可以參考什麼資料呢?
還有下面這個問題了,從字面上理解好像是 : 位刷新,我看了您的LED的啟動代碼,好像後面并沒有用到這個值啊
可以說下大致的用法嗎?
1.BIT_SELFREFRESH EQU (1<<22) ;
還有啊南老師,關於作業的問題.之前我是打算按著老師給的進度走,分析2410的原理,設計最小系統.
但是在看了處理器地址線接法的時候,有些暈了.後來就硬記住了,比如:
選型參考那個表格.
地址線8為接ADDR0,16位接ADDR1,32位接ADDR2.
設置BANK地址那個根據我們選用SDRAM的型號,參照表格BANK地址的接法接入BA[1:0]上面.
這一切只是記住了,沒有理解為什麼,如何和程式部分結合.所以這段時間我就開始看數據手冊和啟動代碼了,想弄個所以然來
另一方面現在工作量比之前大了好多導致沒有辦法花更多的的精力在沒有理解的基礎上而單純的照著資料去畫原理圖,所以我就沒有繼續完成作業了,見諒見諒
作者:
老郭
時間:
2009-8-28 21:04
鼓勵一下認真的學員
作者:
anfaye
時間:
2009-8-28 21:38
謝謝
作者:
阿南
時間:
2009-8-29 09:30
堆棧就是先進后出,這是計算機原理的內容,你可以查查計算機原理或單片機原理的書。
如果你有仿真器或者仿真軟件,單步執行程序也可以看出堆棧的變化情況。
BIT_SELFREFRESH 沒用到就先不用管它,很多是原來官方程序遺留下來的,用到您對應一下即可。
關于地址,您可以查一些存儲原理的資料,書中推薦的《嵌入式硬件設計》應該有。
很多東西記住也沒有什么不好,看多了自然就變成了一種常識。很多東西您如果讓我講,我一下也反應不過來,還要想想甚至查相關原理,但這些在我腦海里早就成了一種常識性的知識。
歡迎光臨 電子工程網 (http://www.4huy16.com/)
Powered by Discuz! X3.4