现在的问题是当.far段放在片外sram时,运行.cinit段进行初始化时加载到.far段的数据不正确,如果将.far段放在内部数据存储区则加载数据正常
yan zou:
经过进一步的测试,需要通过cinit段初始化加载的段,只要放在片外sram,写入的数据都是错误的,必须放在片内数据存储区才能正确加载,但是实际程序的bss段和far段都太大了,内部放不下。
Denny%20Yang99373:
建议先测试一下SRAM的读写
yan zou:
回复 Denny%20Yang99373:
读写已经测试,没问题
xuan chen4:
回复 Denny%20Yang99373:
你好,我也遇到个类似的问题,程序在外部存储器,将.far段放在外部,配置定时器不成功无法产生定时中断,如果将.far段放到内部RAM,则可以成功配置定时器产生定时中断,请问是什么原因?
yan zou:
回复 xuan chen4:
主要还是检查硬件,ram采用多少位连接,连在哪个ce口,另外字节使能be是否连接到ram?
xuan chen4:
回复 yan zou:
使用CE0口,RAM 为飞思卡尔的MRAM, 使用32位接口,be没有连接
xuan chen4:
回复 yan zou:
你的问题已经解决了吗?感觉和你的问题类似
yan zou:
回复 xuan chen4:
你的问题和我一样,就是be口没接造成的,你可以汇编单步看下就清楚了,在程序跳转到main之前,cpu是按照8位方式操作ram,不接be口是不行呢。
TI中文支持网
