新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > C5402 DSP自舉引導方法的分析與研究

        C5402 DSP自舉引導方法的分析與研究

        作者: 時間:2009-03-26 來源:網絡 收藏

          .title ″example.asm″ ;源程序取名為example.asm

        STACK .usect ″STACK″,10h ;為名為STACK的堆棧預留16個單元

        .bss x, 4 ;在數據存儲器中為未初始

        .bss a, 4 化變量(續) x, a, y分別

        .bss y, 1 預留4,4,1個單元

        .def start ;

        .data ;以下為數據段

        table:.word 1, 2, 3, 4 ;在以標號table開始的8個

        .word 8, 6, 4, 2 程序存儲單元中存放8個已初始化數據

        .text ;以下為程序段

        start: STM # STACK+10,SP ;設置堆棧指針

        STM # table, AR1 ;AR1指向table的首地址

        STM # x, AR2 ;AR2指向存放變量x的首地址

        STM # 7, AR0 ;AR0=7

        LD # 0, A ;A=0

        loop: LD *AR1+, A ;(AR1)→A, AR1=AR1+1

        STL A, *AR2+ ;A→(AR2) , AR2=AR2+1

        BANZ loop,*AR0- ;若AR0≠0,循環,AR0=AR0-1

        CALL sum ;若AR0=0,調用sum子程序

        end: B end ;

        sum: LD #0, A ;A=0

        STM #a, AR3 ;AR3指向存放變量a的首地址

        STM #x, AR4 ;AR4指向存放變量x的首地址

        RPT #3 ;

        MAC *AR3+,*AR4+,A ;完成三次乘法累加運算

        STL A,@y ;將結果存入預留的數據存儲器中

        RET ;返回主程序

        .end ;結束匯編命令

          則生成的example.hex文件的內容如表2所示。

        如果將example.hex的內容燒寫至16位EPROM中,則其數據存儲器內部組織結構如表3所示。

        由表3 的EPROM數據組織結構可看出,在0FFFFh地址處存放的是自舉表首地址8000h。從8000h處開始是16位自舉表的內容。自舉表的第一個字是16位自舉標記10AA,第二、三個字分別為寄存器SWWSR及BSCR的內容。從第四個字開始分別是程序入口地址、各代碼段長度、存放各代碼段的目標地址及各段代碼(本例含有程序段及數據段),最后為塊結束標志0000h。這樣, 一個正確的自舉表就建立起來了。

          ’ 芯片為用戶提供了豐富靈活的自舉方式,用戶可根據各自的需求選擇不同的方式,其中并行自舉是最常用的方式之一。正確建立自舉表是充分利用功能的前提及關鍵。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 来宾市| 广宗县| 高尔夫| 江津市| 临沧市| 丰原市| 禹城市| 封丘县| 沙湾县| 寿光市| 浦县| 屯昌县| 都兰县| 天气| 乌拉特后旗| 南皮县| 顺义区| 英超| 丽江市| 宁明县| 淮南市| 沁源县| 东乌| 北碚区| 益阳市| 常山县| 财经| 云南省| 溆浦县| 贡山| 沁阳市| 玛沁县| 鹿邑县| 永德县| 高阳县| 黄浦区| 名山县| 嵩明县| 赞皇县| 江源县| 牙克石市|