新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > FLASH調試_HCS12學習筆記(6)

        FLASH調試_HCS12學習筆記(6)

        作者: 時間:2016-11-24 來源:網絡 收藏
        停了一階段沒有調試FLASH的程序,調了一階段的CAN,無果,CAN的程序也很麻煩,不過今天早上終于把FLASH的程序調通了,其實,程序本身應該是沒有什么問題的,但是因為程序沒有分段存儲,所以直接導致FLASH的分頁寄存器沒有能夠讀出來,今早,我把我的所有.C文件全部標明代碼存儲到0x4000這個位置上,FLASH的程序直接調試成功。這里貼我的部分改動,以作存檔。

        本文引用地址:http://www.104case.com/article/201611/321075.htm

        //[Flash.c]Flash擦寫-------------------------------------------------------*
        //本文件包含: *
        // (1)Flash_Erase_Sector:擦除一個指定的扇區 *
        // (2)Flash_Write_Nword:向一個指定的區域寫入若干個字 *
        //-------------------------------------------------------------------------*

        //頭文件
        #include "Flash.h" //Flash擦寫頭文件

        #pragma CODE_SEG CODE_flash
        #pragma CONST_SEG CONST_flash

        void Erase_Write_Pretreat(INT8U page); //擦寫子函數內部調用的函數聲明
        //頁所對應的塊對照表
        //兩個flash塊,每塊4頁 flash0 flash1
        const INT8U pagetable[4][4] = {{0x3C,0x3D,0x3E,0x3F},{0x38,0x39,0x3A,0x3B},{0x34,0x35,0x36,0x37},{0x30,0x31,0x32,0x33}};

        上面紅色的代碼是我添加出來的,功能是將本段代碼放在CODE_flash對應的存儲空間里。

        PLACEMENT
        _PRESTART,
        STARTUP,
        ROM_VAR,
        STRINGS,
        VIRTUAL_TABLE_SEGMENT,
        //.ostext,
        NON_BANKED,
        COPY

        INTO ROM_C000;

        DEFAULT_ROM INTO PAGE_38, PAGE_39;

        CODE_main,
        CODE_flash,
        CODE_MCUInit,
        CODE_SCI
        INTO ROM_4000;

        //.stackstart,
        SSTACK,
        //.stackend,
        DEFAULT_RAM INTO RAM;

        這一段是P&E_Multilink_CyclonePro_linker.prm里摘出來了,它默認定義了所有代碼、常量的存放區段,紅色部分是我添加出來的,把我的主要文件放入了ROM_4000這個地址里,也就是對應了0x4000_0x7fff這個地址里。

        于是程序順利調通,這里小小得慶祝一下~




        關鍵詞: FLASH調試HCS1

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 金沙县| 芦溪县| 肃北| 平阳县| 西峡县| 阳曲县| 罗甸县| 张家港市| 永川市| 微博| 浦城县| 轮台县| 新沂市| 固镇县| 长汀县| 灯塔市| 普兰店市| 永济市| 石柱| 浪卡子县| 清远市| 柘荣县| 富平县| 东莞市| 池州市| 嘉义县| 隆安县| 顺义区| 玉溪市| 北川| 高唐县| 庆阳市| 诸暨市| 合江县| 阿拉尔市| 探索| 大埔县| 皮山县| 三江| 栾城县| 商南县|