吴忠躺衫网络科技有限公司

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
    澳门百家乐官网威尼斯| 百家乐官网真人娱乐注册| 大发888娱乐场18| 百家乐单注打法| 百家乐有没有稳赢| 故城县| tt娱乐城网址| 百家乐免费下| 百家乐分析软件骗人| 网上百家乐官网公司| 百家乐官网心术| 博狗玩百家乐官网好吗| 明升m88娱乐城| 大发888娱乐客户端| 大上海百家乐娱乐城| 百家乐开线| 百家乐网站东方果博| 爱拼百家乐官网的玩法技巧和规则| 百家乐官网赌博筹码| 百家乐官网投注法| 百家乐官网稳赚秘籍| 威尼斯人娱乐场官网 | 澳门百家乐官网官网| 代理百家乐官网试玩| 大世界百家乐官网娱乐平台| k7百家乐官网最小投注| 百家乐官网2号干扰| 冕宁县| 广西| 网上真钱娱乐| 博彩| 在线真人娱乐城| 喜洋洋水果机遥控器| 威尼斯人娱乐城信誉| 迷你百家乐的玩法技巧和规则| 百家乐筹码价格| 百家乐暗红色桌布| 百家乐赌博在线娱乐| MG百家乐大转轮| 百家乐算牌方| 利高百家乐的玩法技巧和规则|