新聞中心

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

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

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

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

        本文引用地址:http://www.104case.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變量復位初始

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 芷江| 兴和县| 尼木县| 准格尔旗| 定南县| 衡山县| 玉树县| 五原县| 新竹市| 洛隆县| 宜春市| 三亚市| 莎车县| 桦甸市| 大石桥市| 榆社县| 通渭县| 峨边| 桑植县| 皋兰县| 铁岭市| 开远市| 盐亭县| 平塘县| 伊宁县| 拜泉县| 兴业县| 米泉市| 桓仁| 当阳市| 吴江市| 武隆县| 田东县| 乐至县| 芷江| 高尔夫| 巴中市| 安吉县| 大同市| 福鼎市| 安宁市|