色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

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

星星科技指導員 ? 來源:TI ? 作者:Johnson Chen ? 2023-03-24 09:26 ? 次閱讀

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

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

例如:int temp1 = 0x00;

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

例如:int temp1;

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

例如: temp1= 0x00;

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

此方法有以下幾個特點:

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

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

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

首先我們要了解C2000上電時的流程,下圖為C2000 上電時從RAM或者FLASH 引導的流程圖。

poYBAGQc_EqAb5a_AAEIHV_RIcc681.png

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

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

pYYBAGQc_EqAcQwxAADHH99Wdoc766.png

其中_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 ”下面藍色部分位置即可。

poYBAGQc_EuAbDqSAAEwkRVQHPk401.png

注意事項:

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

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

審核編輯:郭婷

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

    關注

    455

    文章

    50812

    瀏覽量

    423583
  • 看門狗
    +關注

    關注

    10

    文章

    562

    瀏覽量

    70807
  • 編譯器
    +關注

    關注

    1

    文章

    1634

    瀏覽量

    49129
收藏 人收藏

    評論

    相關推薦

    C2000資料

    自己最近剛開始入手STM32,以前都是做DSP C2000的,沒什么可以大家的,發C2000TMS320F28027的資料吧。F28027.rar (20.84 MB )
    發表于 04-30 02:06

    C2000系列芯片RAM在線診斷方法有哪些?

    C2000系列芯片RAM在線診斷實現方法
    發表于 11-24 06:08

    基于C2000系列芯片RAM在線診斷實現方法

    Software Package和C2000 SafeTI 60730 SW Packages軟件庫等,可以提供很多的診斷測試功能,例如CPU、時鐘、外設、RAM等的診斷,已經可以滿足部分的需求…
    發表于 11-08 07:12

    C2000如何連續RAM區間初值

    面提到的兩方法就會比較繁瑣。本文介紹方法可以快速實現這個功能。此方法有以下幾個特點:不影響這個連續RAM區間里的部分變量需要通過前面提到的方法
    發表于 11-08 06:11

    TI C2000 引導模式原理的理解

    在使用C2000的時候,經常遇到工程師說芯片仿真能夠運行,但是單機跑卻不能跑起來;或者在調試時,復位芯片run,發現程序不能跑起來。這其中的原因主要是沒有了解C2000的引導模式設置。
    發表于 04-26 12:41 ?6469次閱讀
    TI <b class='flag-5'>C2000</b> 引導模式原理的理解

    C2000入門:C2000的基本知識介紹(1)

    C2000入門基礎()—C2000概述(上)
    的頭像 發表于 08-14 01:54 ?1.2w次閱讀

    C2000的開發環境

    C2000入門基礎(七)—C2000 開發環境
    的頭像 發表于 08-10 01:01 ?3711次閱讀

    C2000入門:C2000的復位系統介紹

    C2000入門基礎(三)—C2000的復位系統
    的頭像 發表于 08-06 00:55 ?5343次閱讀

    C2000入門:C2000的外置電路的控制介紹(6)

    C2000入門基礎(六)C2000的控制外設
    的頭像 發表于 04-15 06:41 ?4012次閱讀
    <b class='flag-5'>C2000</b>入門:<b class='flag-5'>C2000</b>的外置電路的控制介紹(6)

    C2000入門:C2000的基本知識介紹 (2)

    C2000入門基礎(二)C2000概述(下)
    的頭像 發表于 04-15 06:30 ?4174次閱讀
    <b class='flag-5'>C2000</b>入門:<b class='flag-5'>C2000</b>的基本知識介紹 (2)

    C2000芯片如何連續RAM區間初值

    ?????? 例如: temp1= 0x00; 但如果很多的變量比如RAM section都要一個
    的頭像 發表于 10-20 18:38 ?532次閱讀

    C2000芯片怎么連續RAM區間初值

    。 此方法有以下幾個特點: 不影響這個連續RAM區間里的部分變量需要通過前面提到的方法重新
    的頭像 發表于 01-19 15:15 ?1703次閱讀
    <b class='flag-5'>C2000</b><b class='flag-5'>芯片</b>怎么<b class='flag-5'>給</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>連續</b>的<b class='flag-5'>RAM</b><b class='flag-5'>區間</b><b class='flag-5'>賦</b><b class='flag-5'>初值</b>

    C2000系列芯片RAM在線診斷實現方法

    C2000系列芯片RAM在線診斷實現方法
    發表于 10-31 08:23 ?1次下載
    <b class='flag-5'>一</b>種<b class='flag-5'>C2000</b>系列<b class='flag-5'>芯片</b>的<b class='flag-5'>RAM</b>在線診斷實現方法

    C2000芯片如何連續RAM區間初值

    C2000芯片如何連續RAM
    發表于 10-31 08:23 ?2次下載
    <b class='flag-5'>C2000</b><b class='flag-5'>芯片</b>如何<b class='flag-5'>給</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>連續</b>的<b class='flag-5'>RAM</b><b class='flag-5'>區間</b><b class='flag-5'>賦</b><b class='flag-5'>初值</b>

    C2000上電引導模式解析

    。另外當我們想通過其他方式去引導芯片啟動的時候,往往也需要清楚知道C2000的引導是怎么設置的。因此,在這里跟大家分享下我對C2000引導模式的理解,希望對各位理解
    的頭像 發表于 04-11 09:44 ?1642次閱讀
    <b class='flag-5'>C2000</b>上電引導模式解析
    主站蜘蛛池模板: 亚洲色图激情文学| 电影果冻传媒在线播放| 色中色成人论坛| 久久免费看少妇高潮A片2012| 本庄优花aⅴ全部在线影片| 一区二区三区四区国产| 人人碰在线视频| 美女的隐私蜜桃传媒免费看| 国产精品自在在线午夜蜜芽tv在线| 91交换论坛| 伊人精品国产| 亚洲高清国产拍精品影院| 人人碰79免费视频| 木凡的天空在线收听| 久久国产精品永久网站| 国产欧美亚洲综合第一页| 纯肉高H放荡受BL文库| 91久久夜色精品| 在线观看免费av网| 亚洲人成人77777在线播放| 小sao货水好多真紧h的视频| 日本一卡精品视频免费| 暖暖日本在线手机免费完整版| 巨污全肉np一女多男| 交video| 国精产品一区一区三区M| 国产精品爽爽久久久久久蜜桃| 成人免费一区二区无码视频| caoporn超碰在线| 99热热在线精品久久| 5566av资源| 4399日本电影完整版在线观看免费| 一边喂奶一边做边爱| 亚洲乱码高清午夜理论电影| 香蕉鱼视频观看在线视频下载| 帅哥操美女| 无人区日本电影在线观看高清| 四虎影院2022| 校园女教师之禁区| 香蕉精品国产高清自在自线| 性欧美videosex18嫩|