首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

【求助】往DG128单片机里面烧写程序不能启动

【求助】往DG128单片机里面烧写程序不能启动

    原来用的清华的BDM头直接烧写的程序可以跑


    但是现在想让单片机直接在没有BDM内置程序的情况下运行,就把中断入口地址地方全部由


0xEFF 改为 0xFFF 


   但是单片机不能运行,大家有没有遇到这样的问题?


   prm文件如下:



NAMES
END


SEGMENTS
    RAM = READ_WRITE 0x2000 TO 0x3FFF; // 2k eeprom,0x0400~0x0800,banked
    /* unbanked FLASH ROM */
    ROM_4000 = READ_ONLY  0x4000 TO 0x7FFF;
    ROM_C000 = READ_ONLY  0xC000 TO 0xFEFF;
    /* banked FLASH ROM */
    PAGE_38 = READ_ONLY  0x388000 TO 0x38BFFF;
    PAGE_39 = READ_ONLY  0x398000 TO 0x39BFFF;
    PAGE_3A = READ_ONLY  0x3A8000 TO 0x3ABFFF;
    PAGE_3B = READ_ONLY  0x3B8000 TO 0x3BBFFF;
    PAGE_3C = READ_ONLY  0x3C8000 TO 0x3CBFFF;
    PAGE_3D = READ_ONLY  0x3D8000 TO 0x3DBFFF;
/*    PAGE_3E = READ_ONLY  0x3E8000 TO 0x3EBFFF; not used: equivalent to ROM_4000 */
/*    PAGE_3F = READ_ONLY  0x3F8000 TO 0x3FBFFF; not used: equivalent to ROM_C000 */
END


PLACEMENT
   
    _PRESTART,                   /* Used in HIWARE format: jump to _Startup at the code start */
    STARTUP,                     /* startup data structures */
    ROM_VAR,                     /* constant variables */                   
    STRINGS,                     /* string literals */
    VIRTUAL_TABLE_SEGMENT,       /* C++ virtual table segment */   


    DEFAULT_ROM,NON_BANKED,        /* runtime routines which must not be banked */
    COPY
   
                             /* copy down information: how to initialize variables */
                                 /* in case you want to use ROM_4000 here as well,  make sure
                                    that all files (incl. library files) are compiled with the
                                    option: -OnB=b */
        INTO  ROM_C000;



    TASKCODESEG,
    CANCODESEG
                                INTO  ROM_4000;   
                                 
                                
    OTHER_ROM                    INTO  PAGE_38,PAGE_39,PAGE_3A,PAGE_3B,PAGE_3C,PAGE_3D;
    DEFAULT_RAM                  INTO  RAM;
END


STACKSIZE 0x100


VECTOR 0 _Startup /* reset vector: this is the default entry point for a C/C++ application. */


//VECTOR ADDRESS 0xEFE0 OSTickISR   // T7
//VECTOR ADDRESS 0xEFE2 OSTickISR   // T6
//VECTOR ADDRESS 0xEFE4 OSTickISR   // T5
//VECTOR ADDRESS 0xEFE6 OSTickISR   // T4
//VECTOR ADDRESS 0xEFE8 OSTickISR   // T3


VECTOR ADDRESS 0xFFEA Timer2   // T2
VECTOR ADDRESS 0xFFEC OSTickISR   // T1
//VECTOR ADDRESS 0xEFEE OSTickISR   // T0



//VECTOR ADDRESS 0xFFFE _Startup
VECTOR ADDRESS 0xFFF6 OSCtxSw
VECTOR ADDRESS 0xFFF2 USB_INT
VECTOR ADDRESS 0XFFDE TCNTOF
VECTOR ADDRESS 0XFFD4 SCI1_INT
VECTOR ADDRESS 0XFFB2 CAN0_RXINT
VECTOR ADDRESS 0XFF92 CAN4_RXINT
VECTOR ADDRESS 0XFF90 CAN4_TXINT
 

如果你爱我,请告诉我!
返回列表