在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關(guān) 閉

            新聞中心

            EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > TMS320F2812三種運行方式在SRM控制中的應(yīng)用

            TMS320F2812三種運行方式在SRM控制中的應(yīng)用

            作者: 時間:2012-05-09 來源:網(wǎng)絡(luò) 收藏

            b.jpg
            段生成完畢,還需要在CMD文件中將其映射到RAMH0上,即所謂的H0啟動模式。之后程序就會照流程直接在RAMH0上程序,實現(xiàn)RAM調(diào)試。
            c.jpg
            1.2 Flash直接
            Flash直接運行指的是將用戶編寫的代碼燒寫到Flash,并在Flash初始化完成后,用戶代碼運行于Flash上的一種運行
            與RAM調(diào)試運行相比,F(xiàn)lash直接運行的程序流程多了一個Memory_copy的環(huán)節(jié),即code_start-> wd_disable-> c_int00-> main()-> Memory_copy。這是因為要想在Flash上直接運行程序,就需要配置好Flash寄存器(FACTIVEWAIT、FBANKWAIT等)。但這些寄存器是不能在Flash上直接配置的,所以只能將包含這些配置語句的Flash初始化函數(shù)InitFlash()搬運到RAM中運行。
            InitFlash()的搬運是通過指令“#pragma CODE_SECTION(InitFlash,“ramfunes”)”和CMD文件配置實現(xiàn)的。前者將函數(shù)InitFlash()映射到段ramfuncs,后者在SECTIONS中作如下配置:
            ramfuncs:LOAD=FLASH,PAGE=0
            RUN=RAML0,PAGE=0
            LOAD_START(_RamfuncsLoadStart),
            LOAD_END(_RamfuncsLoadEnd),
            RUN_START(_RamfuncsRunStart)
            其中,RamfuncsLoadStart等為已定義好的3個外部全局變量。這樣配置后,只需要在主程序main()中先調(diào)用MemCopy(Ram-funcsLoad Start,&Ramfuncs LoadEnd,&Ram funcsRunStart)將已經(jīng)燒寫到Flash中的初始化函數(shù)InitFlash()代碼全部復(fù)制到以Ram-funcsRun
            Start開頭的RAM中,再調(diào)用函數(shù)InitFlash()就實現(xiàn)了InitFlash()的搬運。
            最后需要注意的一點就是,給codestart段分配的BEGIN段需要映射到以0x3F7FF6開頭的一段Flash上,用于Flash啟動模式,而不再是在RAM上。如此配置之后,其他用戶代碼就可以在Flash上正常運行了。


            評論


            相關(guān)推薦

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

            關(guān)閉