请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
user6079331:
请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
Green Deng:
非法中断是哪一个?会不会是H0SARAM容量不够?
请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
user6079331:
回复 Green Deng:
你好内存量是够用的我通过CCS windows菜单memory allocation 可以看见内存的装入情况,但只要把应用程序COPY 到H0 里运行就会进入非法中断,比如拷贝Init_flash 或者Us_delay运行时就会进入非法中断。
请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
user6079331:
回复 Green Deng:
你好,会跳入这个中断
interrupt void ILLEGAL_ISR(void)// Illegal operation TRAP
{// Insert ISR Code here
// Next two lines for debug only to halt the processor here// Remove after inserting ISR Codeasm("ESTOP0");for(;;);
}
请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
mangui zhang:
回复 user6079331:
程序跑飞了应该是空间不足的原因吧堆栈怎么设置的
请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
user6079331:
回复 mangui zhang:
.text: > FLASHCD,PAGE = 0.cinit: > FLASHCD,PAGE = 0.pinit: > FLASHCD,PAGE = 0.switch: > FLASHCD,PAGE = 0.reset: > RESET,PAGE = 0, TYPE = DSECT.stack: > RAMM1,PAGE = 1.ebss: > RAML1,PAGE = 1.bss: > RAML1,PAGE = 1.econst: > FLASHEF,PAGE = 0.esysmem: > RAML1,PAGE = 1
堆栈设置在 RAMM1了!
请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
Green Deng:
回复 user6079331:
你的程序里面,函数MemCopy()处在DELAY_US()函数的前面吗?在调用DELAY_US()时,前面没有执行MemCopy()的话会导致进入非法中断。所有放在FLASH中但在后运行在RAM中的函数,都需要保证在做完memcopy之后才去执行这些函数,否则PC跳到RAM里执行这些函数时,因为RAM里的内容是乱的,因此相当于CPU跑飞掉了。
请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
user6079331:
回复 Green Deng:
谢谢,您的回答。我目前程序中涉及到COPYA到RAM中的程序都是先copy后执行。而且同样的程序比如init_flash(),DELAY_US()等如果COPY到H0中一执行就是跳入非法中断,如果COPY到RAML0 等其他RAM块中执行就没有问题。让我感觉程序在H0中不能执行,但找不原因但现在查相关资料中都显示H0可以映射到程序区或者数据区都没问题。能否帮忙找打原因或者依据?谢谢!
请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
rookiecalf:
回复 user6079331:
核对地址区域是否正确,也可以仿真,看搬运后对应内存数据是否正确
请教一下,
我的程序在flash里运行正常,我将部分程序copy到H0SARAM里后只要运行到H0SARAM里的程序就会进入非法中断,但如果把同样的程序copy到L0SARAMA就没有这问题可以顺利运行。H0里不能移植程序么?请教高手帮忙解答一下,谢谢!
user6079331:
回复 rookiecalf:
你好,感谢回答,各片区地址已经核对没有错误或者重叠现象。请教核对内存数据的对错?