我想把ucos移植去2812,但是在烧写中遇到了一些问题,这个问题我在论坛见过,不过不清楚具体是怎样解决的~
下面是遇到的状况:
使用ti的烧写插件烧写FLASH时出现以下提示:
Code Composer could not locate:
FlashAPIInterface.c
Would you like to browse for it?
Do not ask me again.
program的时候出现
no section were found that map to flash
然后
Warning: ...... if your Flash program requires initialized
data in RAM,you will need to write Flash code to initialize RAM.
还有在烧写完成后会出现下面的警告:
Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
但是显示成功。
另外在烧写完成退出ccs时出现红色错误对话框:
Can\'t Remove Breakpoint:
Error 0x0000 0008/-2044
Error during : Break Point,
No breakpoint at 0x0000 906C
换了.cmd文件后出现新问题:
Load failed. a section of your program falls into a memery region
that is not writable. Check your linker configuration and/or memery map.
之前用的.cmd:EzDSP_RAM_lnk.cmd
MEMORY
{
PAGE 0 :
/* SARAM H0 is split between PAGE 0 and PAGE 1 */
PRAMH0 : origin = 0x3F8000, length = 0x001000
/* This memory block loaded with the reset vector only if
booting from XINTF Zone 7. Otherwise reset vector is
fetched from boot ROM. See .reset section below */
RESET : origin = 0x3FFFC0, length = 0x000002
/* SARAM H0 is split between PAGE 0 and PAGE 1 */
DRAMH0 : origin = 0x3f9000, length = 0x001000
}
SECTIONS
{
/* Allocate program areas: */
/* Setup for \"boot to H0\" mode:
The codestart section (found in CodeStartBranch.asm)
re-directs execution to the start of user code.
Place this section or the .text section at the
start of H0 */
codestart : > PRAMH0, PAGE = 0
.text : > PRAMH0, PAGE = 0
.cinit : > PRAMH0, PAGE = 0
ramfuncs : > PRAMH0, PAGE = 0, TYPE = DSECT /* not used when only using RAM */
/* .reset indicates the start of _c_int00 for C Code.
/* When using the boot ROM this section is not needed.
/* Thus, the default type is set to DESECT */
.reset : > RESET, PAGE = 0, TYPE = DSECT
/* CPU_TIMER1 and CPU_TIMER2 are reserved for DSP BIOS
and RTOS use. Therefore these sections are not
allocated in these examples
CpuTimer1RegsFile : > CPU_TIMER1, PAGE = 1
CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1
*/
/* Allocate sections to memory blocks.
Note:
codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code
execution when booting to flash
ramfuncs user defined section to store functions that will be copied from Flash into RAM
*/
/* Allocate IQ math areas: */
IQmath : > FLASHC PAGE = 0 /* Math Code */
IQmathTables : > ROM PAGE = 0, TYPE = NOLOAD /* Math Tables In ROM */
/* .reset indicates the start of _c_int00 for C Code.
/* When using the boot ROM this section and the CPU vector
/* table is not needed. Thus the default type is set to
/* DESECT */
.reset : > RESET, PAGE = 0, TYPE = DSECT
vectors : > VECTORS PAGE = 0, TYPE = DSECT
/* ------------------------------------------------------------- */
/* The following allocations are required for the DSP28 Header file
examples. Each allocation maps a structure defined in the DSP28
header files to the memory location of those registers.
*/