那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C2000芯片如何給一個連續的RAM區間賦初值?

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-10-20 18:38 ? 次閱讀

作者:TI FAE – Johnson Chen

在開發程序的時候,我們經常會希望某些全局變量在被使用時已經有想要的初始值,我們通常會用下面兩種方法來實現變量的初始值賦值,

方法一:定義帶初始值的全局變量

例如:int temp1 = 0x00;

方法二:定義不帶初始值的全局變量

例如:int temp1;

在main()函數初始化時給變量寫初值

例如: temp1= 0x00;

但如果很多的變量比如一個RAM section都要賦同一個初值,使用上面提到的兩個方法就會比較繁瑣。本文介紹方法可以快速實現這個功能。

此方法有以下幾個特點:

不影響這個連續的RAM區間里的部分變量需要通過前面提到的方法一重新賦初值。

可以避免有時因為編程者的初心大意忘記給某些變量賦值而導致程序運行異常。

解決很多不了解C2000匯編指令用戶實現此功能的困擾。

首先我們要了解C2000上電時的流程,對于C2000 芯片來說程序的執行入口是在CMD 文件里面“codestart”這個段定義的,而在”XXXXXX_CodeStartBranch.asm”里面通過“.sect "codestart" ”語句將相應的跳轉指令分配到了這個段。

通常“XXXXXX_CodeStartBranch.asm”文件內容如下:

其中_c_int00 這個函數本體是在C2000編譯器的RTS library里面,這個函數實現的功能是把用戶定義的帶初始值的全局變量的初始值的從FLASH搬運到RAM里面,從而實現初始值的傳遞,之后PC就會跳轉到用戶的main()入口。

因此我們需要在“LB _c_int00” 語句之前實現RAM section值的初始化。

假設我們需要對0x00000400為起始地址長度為0x200的RAM 區間進行初始化,初始值為0x00。

下面為具體實現代碼:

MOV ACC, #00H ; initialed value

MOVL XAR5, #400H ;Dest address

MOVL XAR4, #(200H-1) ;length

RPT @AR4 || MOV *XAR5++, ACC

如果需初始化成其它值,將第一行 “#00H”更改為其它的值即可。

將代碼放入“ XXXXXX_CodeStartBranch.asm ”下面藍色部分位置即可。

注意事項:

1.本方法適用于所有C2000產品,不同芯片“ XXXXXX_CodeStartBranch.asm ”文件名不同,XXXXXX為芯片系列名。

2.因為C2000的看門狗上電時是默認開啟的, 且溢出后會產生復位。為了確保在初始化RAM時不會產生看門狗復位,我們首先要先禁止看門狗,請確保“ WD_DISABLE .set 1 ”。

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    51188

    瀏覽量

    427284
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1369

    瀏覽量

    115016
收藏 人收藏

    評論

    相關推薦

    C2000微控制器用戶培訓手冊

    電子發燒友網站提供《C2000微控制器用戶培訓手冊.pdf》資料免費下載
    發表于 12-05 14:13 ?0次下載
    <b class='flag-5'>C2000</b>微控制器用戶培訓手冊

    C2000 Position Manager PTO API參考指南

    電子發燒友網站提供《C2000 Position Manager PTO API參考指南.pdf》資料免費下載
    發表于 11-26 14:20 ?0次下載
    <b class='flag-5'>C2000</b> Position Manager PTO API參考指南

    C2000? MCU在有器件復位時的實時固件更新

    電子發燒友網站提供《C2000? MCU在有器件復位時的實時固件更新.pdf》資料免費下載
    發表于 11-25 14:16 ?0次下載
    <b class='flag-5'>C2000</b>? MCU在有器件復位時的實時固件更新

    請問SM73201如何與C2000配合使用SPISOMIA?

    的數字信號嗎,還需要在tms320f28033編程驅動它嗎,目前只接觸了C2000芯片內部ADC轉換,不大懂這種外部ADC芯片
    發表于 11-25 06:16

    C2000實時控制外設參考指南

    電子發燒友網站提供《C2000實時控制外設參考指南.pdf》資料免費下載
    發表于 11-12 15:38 ?0次下載
    <b class='flag-5'>C2000</b>實時控制外設參考指南

    C2000實時控制MCU外設

    電子發燒友網站提供《C2000實時控制MCU外設.pdf》資料免費下載
    發表于 11-09 14:55 ?0次下載
    <b class='flag-5'>C2000</b>實時控制MCU外設

    C2000? MISRA-C策略

    電子發燒友網站提供《C2000? MISRA-C策略.pdf》資料免費下載
    發表于 10-11 11:43 ?0次下載
    <b class='flag-5'>C2000</b>? MISRA-<b class='flag-5'>C</b>策略

    支持C2000的開發工具版本

    電子發燒友網站提供《支持C2000的開發工具版本.pdf》資料免費下載
    發表于 10-10 11:06 ?0次下載
    支持<b class='flag-5'>C2000</b>的開發工具版本

    第2代C2000實時MCU的EEPROM模擬

    電子發燒友網站提供《第2代C2000實時MCU的EEPROM模擬.pdf》資料免費下載
    發表于 09-20 09:34 ?0次下載
    第2代<b class='flag-5'>C2000</b>實時MCU的EEPROM模擬

    C2000系統配置應用說明

    電子發燒友網站提供《C2000系統配置應用說明.pdf》資料免費下載
    發表于 09-14 10:12 ?0次下載
    <b class='flag-5'>C2000</b>系統配置應用說明

    C2000 MCU JTAG 連接調試

    電子發燒友網站提供《C2000 MCU JTAG 連接調試.pdf》資料免費下載
    發表于 09-09 09:30 ?0次下載
    <b class='flag-5'>C2000</b> MCU JTAG 連接調試

    C2000?硬件內置自檢

    電子發燒友網站提供《C2000?硬件內置自檢.pdf》資料免費下載
    發表于 09-03 11:33 ?0次下載
    <b class='flag-5'>C2000</b>?硬件內置自檢

    C2000?器件中的CRC引擎

    電子發燒友網站提供《C2000?器件中的CRC引擎.pdf》資料免費下載
    發表于 08-30 10:38 ?1次下載
    <b class='flag-5'>C2000</b>?器件中的CRC引擎

    C2000 DCSM ROM代碼片段/ROP漏洞

    電子發燒友網站提供《C2000 DCSM ROM代碼片段/ROP漏洞.pdf》資料免費下載
    發表于 08-28 09:39 ?0次下載
    <b class='flag-5'>C2000</b> DCSM ROM代碼片段/ROP漏洞

    使用C2000 I2C模塊連接EEPROM

    電子發燒友網站提供《使用C2000 I2C模塊連接EEPROM.pdf》資料免費下載
    發表于 08-27 09:53 ?0次下載
    使用<b class='flag-5'>C2000</b> I2<b class='flag-5'>C</b>模塊連接EEPROM
    百家乐官网长龙太阳城| 百家乐官网庄闲点| 威尼斯人娱乐城老品牌lm0| 百家乐官网佛牌| 博九注册| 包赢百家乐的玩法技巧和规则| 五张百家乐官网的玩法技巧和规则| 丰县| 百家乐网络游戏信誉怎么样| 百家乐官网翻天在线观看| 百家乐官网体育直播| 葡京娱乐场官网| 百家乐羸钱法| 百家乐投注庄闲法| 百家乐官网游戏筹码| 百家乐官网赢率| 百家乐官网牌数计算法| 明珠国际娱乐| 大发888手机版官网| 路虎百家乐的玩法技巧和规则| 百家乐的寻龙定穴| 韩国百家乐官网的玩法技巧和规则 | 南通棋牌游戏中心下载| 百家乐制胜绝招| 百家乐1元投注| 百家乐半圆桌| 大发888娱乐城 健账号| 兄弟百家乐的玩法技巧和规则| 温州市百家乐ktv招聘| 新利国际网上娱乐| 棋牌室标语| 沈阳棋牌网| 香港六合彩大全| 澳门博彩有限公司| 大发888游戏是真的么| 大发888线上| 大发888帐号注册| 龙都棋牌下载| 明升88| 在线百家乐| 来安县|