国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網(wǎng)

標(biāo)題: C5402CFG.H/C(結(jié)構(gòu)及結(jié)構(gòu)指針版)及應(yīng)用演示包 [打印本頁(yè)]

作者: HotTiDSP    時(shí)間: 2009-4-2 21:51
標(biāo)題: C5402CFG.H/C(結(jié)構(gòu)及結(jié)構(gòu)指針版)及應(yīng)用演示包
/*---------------------------------------------------------------------------
文   件   名 :  C5402CFG.H(結(jié)構(gòu)及結(jié)構(gòu)指針版)
創(chuàng)   建   人 :  DSP菜鳥  HotPower@126.com
創(chuàng) 建 日  期 :  2006.6.09  11:19
最近修改日期 :  2008.12.16  16:18
創(chuàng) 建  地 點(diǎn) : 西安大雁塔村隊(duì)部(http://www.hotpower.org/)
版   本   號(hào) : V4.16
修 改 理  由 :  修正和增訂內(nèi)容
    新增結(jié)構(gòu)uVectorEntry以支持廢除匯編啟動(dòng)代碼(中斷向量表),實(shí)現(xiàn)
    程序代碼全部由C/C++語(yǔ)言編寫.
    增加對(duì)通用寄存器物理地址的直接訪問,達(dá)到匯編級(jí)的代碼速度
    新版本(SREGs結(jié)構(gòu)型,優(yōu)化)與老版本(SREG結(jié)構(gòu)指針型,方便)高度兼容
備        注 : 由此文件出現(xiàn)的問題,DSP菜鳥不負(fù)任何責(zé)任
                菜農(nóng)將不斷更新和完善本頭文件。
                必須在系統(tǒng)中同時(shí)加入C5402CFG.C
升 級(jí) 方  法 :  在父親節(jié)版的基礎(chǔ)上全面升級(jí)為統(tǒng)一結(jié)構(gòu)指針
    只需在舊版C5402DEF.H或C5402CFG.H的結(jié)構(gòu)成員后加.Regs即可
應(yīng) 用 舉  例:
    SREG->ST0 &= ~(1 << ST0_C);
    改為:
    SREG->ST0.Regs &= ~(1 << ST0_C);
    或:
    SREG->ST0.Bits.C = 0;
     
                父親節(jié)版新舊版近似兼容使其更強(qiáng)大:
    SREG->ST1.Bits.XF = true;
    SREG->ST1.Bits.CPL = 1;
    SREG->ST1.Regs = (1 << ST1_XF) | (1 << ST1_CPL);
    TIMER0->TCR.Bits.TSS = 1;//關(guān)閉定時(shí)器0
    TIMER0->TIM = 62500 - 1;//設(shè)置定時(shí)計(jì)數(shù)器
    或:
    SREG->TIMER0.TCR.Bits.TSS = 1;//關(guān)閉定時(shí)器0
    SREG->TIMER0.TIM = 62500 - 1;//設(shè)置定時(shí)計(jì)數(shù)器
                結(jié)構(gòu)的訪問使代碼更簡(jiǎn)潔更優(yōu)化:
    SREGs.ST0.Bits.C = true;
    SREGs.ST1.Bits.XF = true;
    SREGs.ST1.Bits.CPL = 1;
    SREGs.ST1.Regs = (1 << ST1_XF) | (1 << ST1_CPL);
    SREGs.TIMER0.TCR.Bits.TSS = 1;//關(guān)閉定時(shí)器0
    SREGs.TIMER0.TIM = 62500 - 1;//設(shè)置定時(shí)計(jì)數(shù)器
    對(duì)McBSP實(shí)現(xiàn)結(jié)構(gòu)型位域匯編級(jí)代碼訪問:
    指針型:McBSP1->SPSA = PCR;
            McBSP1->SPSD.PCR_Bits.FSXP= 1;
      McBSP0->DXR1 = 0x1234;
        或:SREG->McBSPADDR1.SPSA = PCR;
            SREG->McBSPADDR1.SPSD.PCR_Bits.FSXP= 1;
      SREG->McBSPDATA0.DXR1 = 0x1234;
                結(jié)構(gòu)型:SREGs.McBSPADDR1.SPSA = PCR;
                        SREGs.McBSPADDR1.SPSD.PCR_Bits.FSXP = 1;
      SREGs.McBSPDATA0.DXR1 = 0x1234;
               
注 意 事  項(xiàng) :  用SREGs結(jié)構(gòu)要比SREG結(jié)構(gòu)指針代碼優(yōu)化,可達(dá)到匯編級(jí).
                但查看變量時(shí)由于CCS的問題, SREGs結(jié)構(gòu)查看不到成員,
                可在Watch窗口用SREG結(jié)構(gòu)指針查看SREGs的結(jié)構(gòu)成員.
    用McBSP0/McBSP1結(jié)構(gòu)指針查看McBSP更方便.
聲        明 : 雁塔菜農(nóng)擁有對(duì)本文件的最終解釋和灌溉權(quán)。               
---------------------------------------------------------------------------*/


/*---------------------------------------------------------------------------
文   件   名 :  C5402CFG.C(結(jié)構(gòu)及結(jié)構(gòu)指針版)
創(chuàng)   建   人 :  DSP菜鳥  HotPower@126.com
創(chuàng) 建 日  期 :  2006.6.09  11:19
最近修改日期 :  2008.12.16  16:18
創(chuàng) 建  地 點(diǎn) : 西安大雁塔村隊(duì)部(http://www.hotpower.org/)
版   本   號(hào) : V4.16
修 改 理  由 :  修正和增訂內(nèi)容
    新增結(jié)構(gòu)uVectorEntry以支持廢除匯編啟動(dòng)代碼(中斷向量表),實(shí)現(xiàn)
    程序代碼全部由C/C++語(yǔ)言編寫.
    增加對(duì)寄存器的直接物理地址的訪問,最優(yōu)化的速度
    新版本(SREGs結(jié)構(gòu)型,優(yōu)化)與老版本(SREG結(jié)構(gòu)指針型,方便)高度兼

備        注 : 由此文件出現(xiàn)的問題,DSP菜鳥不負(fù)任何責(zé)任
                菜農(nóng)將不斷更新和完善本頭文件。
                必須在系統(tǒng)中同時(shí)加入C5402CFG.C
應(yīng)        用 : 廢除匯編的啟動(dòng)代碼(中斷向量表)
#pragma DATA_SECTION("vectors")
const uVectorEntry g_pfnVectors[] = {
ISR_Reset(),   //reset      0x0080 #0//軟硬件復(fù)位nISR_REST
ISR_Default(), //nmi        0x0084 #1//非屏蔽中斷nISR_NMI
ISR_Default(), //sint17     0x0088 #2//軟件中斷17   
ISR_Default(), //sint18     0x008c #3//軟件中斷18
ISR_Default(), //sint19     0x0090 #4//軟件中斷19
ISR_Default(), //sint20     0x0094 #5//軟件中斷20
ISR_Default(), //sint21     0x0098 #6//軟件中斷21
ISR_Default(), //sint22     0x009c #7//軟件中斷22
ISR_Default(), //sint23     0x00a0 #8//軟件中斷23
ISR_Default(), //sint24     0x00a4 #9//軟件中斷24
ISR_Default(), //sint25     0x00a8 #10//軟件中斷25
ISR_Default(), //sint26     0x00ac #11//軟件中斷26
ISR_Default(), //sint27     0x00b0 #12//軟件中斷27
ISR_Default(), //sint28     0x00b4 #13//軟件中斷28
ISR_Default(), //sint29     0x00b8 #14//軟件中斷29
ISR_Default(), //sint30     0x00bc #15//軟件中斷30
ISR(Eint0Isr), //int0       0x00c0 #16//外部中斷0
ISR(Eint1Isr), //int1       0x00c4 #17//外部中斷1
ISR(Eint2Isr), //int2       0x00c8 #18//外部中斷2
ISR(Timer0Isr),//tint       0x00cc #19//定時(shí)器中斷0
ISR(McBSPIsr), //rint0      0x00d0 #20//McBSP0接收中斷
ISR_Default(), //xint0      0x00d4 #21//McBSP0發(fā)送中斷
ISR_Default(), //rint1      0x00d8 #22//McBSP1接收中斷
ISR(Timer1Isr),//xint1      0x00dc #23//定時(shí)器中斷1
ISR(Eint3Isr), //int3       0x00e0 #24//外部中斷3
ISR_Default(), //hpint      0x00e4 #25//HPI中斷
ISR_Default(), //           0x00e8 #26//軟件中斷10
ISR_Default(), //           0x00ec #27//軟件中斷11
ISR_Default(), //           0x00f0 #28//軟件中斷12
ISR_Default(), //           0x00f4 #29//軟件中斷13
ISR_Default(), //           0x00f8 #30//保留0
ISR_Default(), //           0x00fc #31//保留1
};
extern "C" interrupt void DefaultIsr(void)
{
}

注 意 事  項(xiàng) :  用SREGs結(jié)構(gòu)要比SREG結(jié)構(gòu)指針代碼優(yōu)化,但查看變量時(shí)由于CCS的問題
                SREGs結(jié)構(gòu)查看不到成員,但可用SREG結(jié)構(gòu)指針查看.
聲        明 : 雁塔菜農(nóng)擁有對(duì)本文件的最終解釋和灌溉權(quán)。               
---------------------------------------------------------------------------*/


應(yīng)用演示包下載: (包內(nèi)自帶C5402cfg.h/C5402cfg.c/interrupt.h/cpp能文件)
本版本經(jīng)過半年多的應(yīng)用已非常穩(wěn)定.它支持C/C++工程多文件系統(tǒng),不象
C5402def.h只支持工程單文件系統(tǒng)
最大改動(dòng):
1.廢除匯編的啟動(dòng)代碼(中斷向量表)
新增結(jié)構(gòu)uVectorEntry以支持廢除匯編啟動(dòng)代碼(中斷向量表),實(shí)現(xiàn)
    程序代碼全部由C/C++語(yǔ)言編寫.
2.用SREGs結(jié)構(gòu)要比SREG結(jié)構(gòu)指針代碼優(yōu)化,可達(dá)到匯編級(jí)訪問.
3.增設(shè)對(duì)McBSP的虛擬地址的位域訪問.
4.升級(jí)后用舊版本C5402DEF.H編寫的軟件只需稍加更改即可.
#pragma DATA_SECTION(SREGs, ".registers")
//結(jié)構(gòu)型,建議使用,可達(dá)到匯編級(jí)的訪問速度和代碼優(yōu)化
TI_SREG SREGs;//定義全局結(jié)構(gòu)變量SREGs(5402通用寄存器)
//結(jié)構(gòu)指針型以后可能將被淘汰,目前只用于仿真時(shí)監(jiān)視SREGs
const TI_PSREG SREG = TI_BASE_SREG;//定義全局結(jié)構(gòu)指針變量SREG
const TI_PMcBSP0 McBSP0 = TI_BASE_McBSP0;//定義全局結(jié)構(gòu)指針變量McBSP0
const TI_PMcBSP1 McBSP1 = TI_BASE_McBSP1;//定義全局結(jié)構(gòu)指針變量McBSP1
const TI_PDMA DMA = TI_BASE_DMA;//定義全局結(jié)構(gòu)指針變量DMA
const TI_PTIMER TIMER0 = TI_BASE_TIMER0;//定義全局結(jié)構(gòu)指針變量TIMER0
const TI_PTIMER TIMER1 = TI_BASE_TIMER1;//定義全局結(jié)構(gòu)指針變量TIMER1
再次聲明 : 雁塔菜農(nóng)擁有對(duì)本文件的最終解釋和灌溉權(quán)。
                          轉(zhuǎn)載和提供下載請(qǐng)注明出處. 不久將會(huì)發(fā)布HotBios.
多謝多年來大家對(duì)"C5402def.h"的厚愛,看到網(wǎng)上有眾多網(wǎng)友應(yīng)用很高興.
菜農(nóng)很倒塌地說---本版本TI也很難超越~~~
HotPower@126.com      2008.12.16 與大雁塔菜地
作者: 虞美人    時(shí)間: 2009-4-2 21:54
沙發(fā)




歡迎光臨 電子工程網(wǎng) (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 好紧小嫩嫩水的10p| 亚洲 国产精品 日韩| 四色婷婷婷婷色婷婷开心网| 亚欧成人乱码一区二区| 特大黑人巨交吊性xxxx| 亚洲欧美伦理| FREE另类老女人| 黄色直接观看| 婷婷五月久久精品国产亚洲| 日韩一级黄色片| 欧美一级高清免费播放| 亚洲第一综合色| 日韩 欧美 亚洲| 亚洲成a| 亚洲第一天堂无码专区| 综合图区亚洲| 国精产品一区一区三区有限在线 | 伊人久久精品午夜| 国产精品久久久久久免费字体| 欧美日韩精品一区二区三区高清视频 | 久久青青热| 亚洲在线v观看免费国| 亚洲一区欧美一区| 青娱乐自拍| 亚洲国产欧洲精品路线久久 | 欧美zozofoot| 人人爱国产| 热@国产| 午夜视频在线观看网站| 亚洲福利一区二区精品秒拍| 国产精片久久久久久婷婷| 色戒未删减版在线观看完整| 欧美在线视频导航| 日韩啪啪网站| 色一情一乱一伦| 再深点灬舒服灬太大了添a| 国产老头与老太hd| 性色AV一区二区三区V视界影院 | 日韩欧美网站| 亚洲精品www久久久久久| 成人网站国产在线视频内射视频|