TMS320F2837x開發例程使用手冊

      網友投稿 1015 2022-05-28

      基于仿真器的程序加載與燒寫

      查看仿真器是否安裝成功

      廣州創龍配套多種版本的仿真器的工程仿真配置文件,均在光盤目錄下"Demo\NonOS\TargetConfig\ccxml"里面的。

      如下TMS320F2837x的開發,均以TL-XDS200仿真器為例。開發板斷電,連接好仿真器和開發板,并將仿真器的USB口插進電腦USB插槽,開發板上電。右擊計算機圖標,點擊“設備->通用串行總線控制器”或者“設備->端口”,查看是否有對應的仿真器的選項出現,如有說明仿真器驅動已經正常安裝,否則請先正確安裝CCS。

      圖 1

      CCS集成開發環境自帶XDS100及XDS200系列仿真器驅動。如果仿真器無法正常使用,請檢查是否存在驅動沖突,XDS100系列仿真器使用FTDI芯片,請檢查是否與已經安裝使用FTDI的USB轉串口驅動沖突,如使用XDS200仿真器,請檢查計算機中是否正確安裝USB轉串口驅動或者嘗試重新安裝計算機主板芯片組驅動。

      設置工程配置文件信息

      請先按照相關軟件安裝文檔安裝CCS,然后打開CCS集成開發環境,點擊菜單"File->New->Target?Configuration?File",如下圖所示:

      圖 2

      在彈出的界面中輸入工程配置文件名字,然后點擊Finish。如下圖所示:

      圖 3

      在彈出的對話框的"Connection"下拉框中選擇對應的仿真器類型(如使用TL-XDS200仿真器請選擇"Texas?Instruments?XDS2xx?USB?Onboard Debug Probe"),在"Board?or?Device"下拉框中選擇對應的CPU型號:TMS320F2837xS,并點擊保存。如果CPU是雙核,請選擇:TMS320F2837xD,如下圖所示:

      圖 4

      仿真器連接開發板,上電后,點擊"Test?Connection",測試仿真器是否連接成功。如下圖所示:

      圖 5

      加載GEL文件

      GEL文件主要用于在仿真調試的過程中對CPU進行初始化,如PLL、DDR等,還可以執行一些調試操作。CCS集成開發環境自帶"f2837xs.gel"文件,為默認選項,可在Advanced界面配置。

      圖 6

      點擊CCS菜單"Run->Debug",彈出以下類似界面,可以看到C28xx核,是可以加載GEL文件和程序鏡像的。

      圖 7

      右擊對應的DSP核,在彈出的界面中選擇"Open?GEL?Files?View"選項,右下角會彈出"GEL?Files(TMS320C28xx)"對話框。

      圖 8

      若前面沒配置,可在對話框內點擊右鍵,在彈出的界面中選擇"Load?GEL"。選擇對應目錄下的GEL文件,再點擊確定,接著右下角的"GEL?Files(TMS320C28xx)"對話框會出現Success提示語句,如上圖。

      CCS連接開發板CPU

      右擊對應的DSP核,選擇"Connect?Target"選項,會顯示Suspended狀態。這說明CCS已經和開發板CPU正常連接起來了。

      圖 9

      備注:如果此處提示"No?source****"的信息,不是錯誤信息,可以將其忽視。

      加載程序鏡像文件

      點擊"Run->Load->Load?Program",選擇程序鏡像文件(光盤"Demo"目錄下有用于演示的LED.out文件,現象為底板LED燈被循環點亮),可選擇并點擊OK。接著點擊綠色三角啟動按鍵,程序即可正常運轉起來。

      圖 10

      圖 11

      燒寫程序到FLASH

      燒寫單核裸機程序到FLASH

      CMD文件是編譯完成之后鏈接各個目標文件時,用來指示各個數據、符號等是如何分配到各個段,以及每個段所使用的存儲空間的,通過CMD文件可以實現將編譯生成的.out程序燒寫到FLASH。具體燒寫步驟如下:

      添加CMD文件

      右鍵工程點擊"Add?Files…",在彈出的對話框中選到"2837xS_Generic_FLASH_lnk"文件,路徑為光盤"Demo\F2837xS\NonOS\F2837xS_common\cmd"目錄下。

      圖 12

      圖?13

      在彈出的對話框中,選擇"Copy files",然后點擊OK。

      圖 14

      編譯程序鏡像文件

      先右擊工程中"2837xS_Generic_RAM_lnk"文件,點擊"Exclude?from?Build",再右擊工程,點擊"Build?Project",即可對當前工程編譯。

      圖?15

      燒寫程序鏡像文件

      點擊"Run->Load->Load?Program",選擇剛生成的程序鏡像文件并點擊OK。加載完成即燒寫完成,重新上電就可以運行程序。

      圖?16

      如果遇到燒寫效果與仿真效果不一致,則有可能為例程中存在延遲函數,導致運行效果延遲較大(幾百秒以上)或無法運行,解決辦法如下:

      請雙擊工程里的main.c文件,在文件里查找是否有"DELAY_US"函數,如下圖:

      圖 17

      圖 18

      將其注釋即可。

      如有,請在文件里加入外部定義和復制內存地址代碼,并重新燒寫,添加位置如下圖。

      外部定義代碼:

      extern Uint16 RamfuncsLoadStart;

      extern Uint16 RamfuncsLoadSize;

      extern Uint16 RamfuncsRunStart;

      復制內存地址代碼:

      memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);

      圖 19

      備注:如果遇到燒寫不成功,請按以下流程進行操作:

      "Help->About CCS->Installation Details->Installed Software",搜索flash,點擊"Debug Server Flash",Update更新即可。

      更新完成,提示重啟CCS。

      重啟完成后,Debug Server Flash版本會變成Debug Server Flash 6.1.0.1425。

      燒寫雙核裸機程序到FLASH

      CMD文件是編譯完成之后鏈接各個目標文件時,用來指示各個數據、符號等是如何分配到各個段,以及每個段所使用的存儲空間的,通過CMD文件可以實現將編譯生成的.out程序燒寫到FLASH。

      以雙核工程led_flash為例,具體燒寫步驟如下:

      按照工程文件的導入步驟,將led_flash_cpu01和led_flash_cpu02的工程,導入到CCS的Project Explorer窗口,如圖所示。

      圖 20

      打開led_flash_cpu01的工程目錄,右鍵點擊"2837xD_RAM_lnk_cpu1.cmd",左鍵點擊"Exclude from Build"選項。

      圖 21

      然后,在led_flash_cpu01的工程目錄下,右鍵點擊"2837xD_FLASH_lnk_cpu1.cmd",左鍵點擊"Exclude from Build",取消該選項。

      圖 22

      在main.c文件的定義中,添加以下代碼,如圖所示:

      #define _STANDALONE

      #define _FLASH

      #ifdef _FLASH

      extern Uint16 RamfuncsLoadStart;

      extern Uint16 RamfuncsLoadSize;

      extern Uint16 RamfuncsRunStart;

      #endif

      圖 23

      在主函數中,添加以下代碼,如圖所示:

      TMS320F2837x開發例程使用手冊

      #ifdef _FLASH

      memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);

      #endif

      #ifdef _STANDALONE

      #ifdef _FLASH

      //發送 boot 命令,允許 CPU2 開始執行應用程序

      IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);

      #else

      // 發送 boot 命令,允許 CPU2 開始執行應用程序

      IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_RAM);

      #endif

      #endif

      // 片上 Flash 初始化

      #ifdef _FLASH

      InitFlash();

      #endif

      圖 24

      保存修改,點擊"Rebuild?Project"選項,重新編譯工程。

      圖 25

      打開led_flash_cpu02的工程目錄,右鍵點擊"2837xD_RAM_lnk_cpu2.cmd",左鍵點擊"Exclude from Build"選項。

      圖 26

      然后,在led_flash_cpu02的工程目錄下,右鍵點擊"2837xD_FLASH_lnk_cpu2.cmd",左鍵點擊"Exclude from Build",取消該選項。

      圖 27

      在main.c文件的定義中,添加以下代碼,如圖所示:

      #define _FLASH

      #ifdef _FLASH

      extern Uint16 RamfuncsLoadStart;

      extern Uint16 RamfuncsLoadSize;

      extern Uint16 RamfuncsRunStart;

      #endif

      圖 28

      在主函數中,添加以下代碼,如圖所示:

      #ifdef _FLASH

      memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);

      #endif

      // 片上 Flash 初始化

      #ifdef _FLASH

      InitFlash();

      #endif

      圖 29

      保存修改,點擊"Rebuild?Project"選項,重新編譯工程。

      圖 30

      按照工程導入步驟,將生成的led_flash_cpu01.out和led_flash_cpu02.out文件,分別加載到CPU1和CPU2。

      開發板斷電,然后重新上電,就可以正常點亮,核心板上的LED流水燈。

      燒寫雙核SYSBIOS程序到FLASH

      以SYSBIOS的LED工程為例。

      將光盤資料的Tools目錄下的"TMS320F2837xD_BIOS.cmd"文件,拷貝到對應的工程目錄下。

      圖 31

      按照工程文件的導入步驟,將光盤資料中"Demo\DSP_F2837xD\SYSBIOS\Application"路徑下的LED工程,導入到CCS的Project Explorer窗口,如圖所示。

      圖 32

      打開sysbios_led的工程目錄,右鍵點擊"TMS320F2837xD.cmd",左鍵點擊"Exclude from Build"選項。

      圖 33

      雙擊工程目錄下的app.cfg文件。

      圖 34

      點擊Boot選項。

      圖 35

      確認Boot配置,如圖所示。

      圖 36

      保存退出,右鍵工程,選擇"Rebuild Project"選項,重新編譯工程,如圖所示。

      圖 37

      按照工程導入步驟加載sysbios_led.out文件,然后點擊程序運行按鈕。

      開發板斷電重啟,燒寫到FLASH的流水燈程序,即可正常運行。

      Flash 硬件開發

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Python-學習-小例子練習
      下一篇:android橫豎屏切換問題
      相關文章
      久久99国产亚洲高清观看首页| 亚洲国产电影在线观看| 久久精品国产亚洲av麻豆小说| 亚洲自偷自偷图片| 亚洲女同成人AⅤ人片在线观看| 亚洲狠狠色丁香婷婷综合| 亚洲免费在线视频播放| 亚洲日韩国产精品无码av| 久久久久亚洲av无码专区喷水| 亚洲AV日韩AV永久无码绿巨人| 亚洲精品国产品国语在线| 亚洲精品蜜桃久久久久久| 亚洲欧洲成人精品香蕉网| 亚洲乱码精品久久久久..| 亚洲精品字幕在线观看| 亚洲狠狠婷婷综合久久久久 | 亚洲综合成人婷婷五月网址| 亚洲av无码专区在线| 国产亚洲国产bv网站在线 | 久久亚洲AV永久无码精品| 国产综合精品久久亚洲| 亚洲熟妇丰满多毛XXXX| 亚洲成AV人在线播放无码 | 久久精品国产亚洲AV| 日韩精品电影一区亚洲| 亚洲七七久久精品中文国产| 中文字幕不卡亚洲| 亚洲va久久久噜噜噜久久男同 | 亚洲国产另类久久久精品| 亚洲AV成人一区二区三区AV| 久久综合亚洲色一区二区三区| 亚洲日韩国产精品无码av| 亚洲AV无码乱码麻豆精品国产| 亚洲综合在线一区二区三区| 亚洲精品美女久久7777777| 四虎亚洲国产成人久久精品| 亚洲一区二区三区乱码A| 亚洲国产三级在线观看| 亚洲视频小说图片| 亚洲乱码在线观看| 亚洲JIZZJIZZ中国少妇中文|