我使用F28035,为了均衡使用FLASH以延长寿命,就将TI提供的cmd文件中对FLASHA、FLASHC的使用改为D、E,并同时更改codestart的位置。
经这样改动,发现,程序调试时可以正常运行,但脱离调试模式时,就无法启动。现在不知道是codestart的影响,还是我的程序本身的问题。
我的问题是:
1、改动codestart位置会影响正常启动吗?
2、如果有影响,将如何处理使之正常工作?
Young Hu:
codestart的位置不能改,固定的。
可以采用以下方式
.text : > FLASHA|FLASHC|FLASHD|FLASHE, PAGE = 0
我使用F28035,为了均衡使用FLASH以延长寿命,就将TI提供的cmd文件中对FLASHA、FLASHC的使用改为D、E,并同时更改codestart的位置。
经这样改动,发现,程序调试时可以正常运行,但脱离调试模式时,就无法启动。现在不知道是codestart的影响,还是我的程序本身的问题。
我的问题是:
1、改动codestart位置会影响正常启动吗?
2、如果有影响,将如何处理使之正常工作?
TX dong:
回复 Young Hu:
谢谢鸵鸟蝈蝈。
我看到有个:
RESET : origin = 0x3FFFC0, length = 0x000002
是不是需要把RESET也改一下?
我使用F28035,为了均衡使用FLASH以延长寿命,就将TI提供的cmd文件中对FLASHA、FLASHC的使用改为D、E,并同时更改codestart的位置。
经这样改动,发现,程序调试时可以正常运行,但脱离调试模式时,就无法启动。现在不知道是codestart的影响,还是我的程序本身的问题。
我的问题是:
1、改动codestart位置会影响正常启动吗?
2、如果有影响,将如何处理使之正常工作?
TX dong:
回复 Young Hu:
FLASHA是经常使用的,想避开它。如果 .text : > FLASHA|FLASHC|FLASHD|FLASHE, PAGE = 0
这样将仍然用到FLASHA,所以,改动将无意义
我使用F28035,为了均衡使用FLASH以延长寿命,就将TI提供的cmd文件中对FLASHA、FLASHC的使用改为D、E,并同时更改codestart的位置。
经这样改动,发现,程序调试时可以正常运行,但脱离调试模式时,就无法启动。现在不知道是codestart的影响,还是我的程序本身的问题。
我的问题是:
1、改动codestart位置会影响正常启动吗?
2、如果有影响,将如何处理使之正常工作?
Young Hu:
回复 TX dong:
RESET,BEGIN,VECTORS等不要修改!在不清楚这些段的作用之前不要修改。
只需要修改代码段或者数据段对应的Flash就行了。尽量参考TI的cmd文件。