一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

C2000芯片如何給一個連續(xù)的RAM區(qū)間賦初值

星星科技指導員 ? 來源:TI ? 作者:Johnson Chen ? 2023-03-24 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

例如:int temp1 = 0x00;

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

例如:int temp1;

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

例如: temp1= 0x00;

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

此方法有以下幾個特點:

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

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

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

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

poYBAGQc_EqAb5a_AAEIHV_RIcc681.png

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

通常“XXXXXX_CodeStartBranch.asm”文件內(nèi)容如下:

pYYBAGQc_EqAcQwxAADHH99Wdoc766.png

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

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

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

下面為具體實現(xiàn)代碼:

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產(chǎn)品,不同芯片“ XXXXXX_CodeStartBranch.asm ”文件名不同,XXXXXX為芯片系列名。

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

審核編輯:郭婷

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

    關(guān)注

    460

    文章

    52520

    瀏覽量

    441225
  • 看門狗
    +關(guān)注

    關(guān)注

    10

    文章

    583

    瀏覽量

    71825
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1662

    瀏覽量

    50241
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    C2000資料

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

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

    C2000系列芯片RAM在線診斷實現(xiàn)方法
    發(fā)表于 11-24 06:08

    基于C2000系列芯片RAM在線診斷實現(xiàn)方法

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

    C2000如何連續(xù)RAM區(qū)間初值

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

    TI C2000 引導模式原理的理解

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

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

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

    C2000的開發(fā)環(huán)境

    C2000入門基礎(七)—C2000 開發(fā)環(huán)境
    的頭像 發(fā)表于 08-10 01:01 ?4045次閱讀

    C2000入門:C2000的復位系統(tǒng)介紹

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

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

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

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

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

    C2000芯片如何連續(xù)RAM區(qū)間初值

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

    C2000芯片怎么連續(xù)RAM區(qū)間初值

    。 此方法有以下幾個特點: 不影響這個連續(xù)RAM區(qū)間里的部分變量需要通過前面提到的方法重新
    的頭像 發(fā)表于 01-19 15:15 ?1921次閱讀
    <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'>連續(xù)</b>的<b class='flag-5'>RAM</b><b class='flag-5'>區(qū)間</b><b class='flag-5'>賦</b><b class='flag-5'>初值</b>

    C2000系列芯片RAM在線診斷實現(xiàn)方法

    C2000系列芯片RAM在線診斷實現(xiàn)方法
    發(fā)表于 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>在線診斷實現(xiàn)方法

    C2000芯片如何連續(xù)RAM區(qū)間初值

    C2000芯片如何連續(xù)RAM
    發(fā)表于 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'>連續(xù)</b>的<b class='flag-5'>RAM</b><b class='flag-5'>區(qū)間</b><b class='flag-5'>賦</b><b class='flag-5'>初值</b>

    C2000上電引導模式解析

    。另外當我們想通過其他方式去引導芯片啟動的時候,往往也需要清楚知道C2000的引導是怎么設置的。因此,在這里跟大家分享下我對C2000引導模式的理解,希望對各位理解
    的頭像 發(fā)表于 04-11 09:44 ?2109次閱讀
    <b class='flag-5'>C2000</b>上電引導模式解析