色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MDK下怎樣才能讓變量在復位時不被初始化

          MDK下怎樣才能讓變量在復位時不被初始化

          作者: 時間:2016-11-10 來源:網(wǎng)絡 收藏
          最近一個項目需要保存一下臨時數(shù)據(jù),而產(chǎn)品容易受干擾而復位。所以需要保存一下數(shù)據(jù),那么只有在系統(tǒng)復位時候不再初始化變量即可。對應MDK(keil)來說是一個比較麻煩的問題。通過網(wǎng)絡上找了大量資料和測試發(fā)現(xiàn)終于可以了。

          如果要實現(xiàn)以上要求,必須設置兩點,缺一不可:

          本文引用地址:http://cafeforensic.com/article/201611/317372.htm

          1. 在MDK的選項中設置如下:

          2. 必須在程序代碼中如下編寫:

          #define__noinit____attribute__((zero_init))// 變量不初始化為0
          __noinit__ int tmp; // 變量前加上宏__noinit__

          當然也可以直接:

          __attribute__((zero_init))int tmp;

          說明:__noinit__不是mdk的關鍵字

          當然也可以直接把啟動代碼中的__main()改成main(),也可以達到相同的目的,但是不知道有沒有什么不好的影響。



          關鍵詞: MDK變量復位初始

          評論


          技術專區(qū)

          關閉