TI中文支持网
TI专业的中文技术问题搜集分享网站

omapl138 ARM核使用SYSBIOS系统对指定内存写数据无效

大家好,请教个问题,我在omapl138  ARM核测移植了sysbios系统, 然后将TI官方提供的starterware库中的ipc_polling案例移植到了sysbios系统中,

我没有在 cfg中使能 Cache,但是当我向一个指定的内存写入值时,

   #pragma DATA_SECTION(ipcPvMemArm, "ipc_arm");  //在这里将变量 ipcPvMemArm的存储空间指定位 ipc_arm段
    IPC_notifyEvent ipcPvMemArm;                                     //IPC_RAM               80010000   00000010  00000010  00000000  RW X    
    #pragma DATA_SECTION(ipcPvMemDsp, "ipc_dsp");
    IPC_notifyEvent ipcPvMemDsp;                                         /* space for event to DSP DSP事件空间*/

如果全速运行,就是不能写入到 0x80010000内存中,如果我单步执行的话,就可以写入数据,请问,这是什么原因造成的?

[我直接ARM核裸机,使用Ipc_polling是可以正常运行的]

Shine:

请问设断点跑呢?全速跑有没有可能别的代码修改过这块地址?

shuo wang10:

回复 Shine:

单步调试,是一定可以写进去的,

在前后设置断点,有时可以,有时不可以。

我就这一处有对此位置的操作,SYSBIOS系统,只建立了这一个线程,应该是没有修改此位置。

是不是ARM缓存是默认启动的? 程序运行太快,还没有回写到此空间?

shuo wang10:

回复 Shine:

谢谢,已经向内存写数据通了,是Cache一致性引起的,我把 ARM的 D-Cache关闭了,

调用了starterware库中的 CacheDisable(CACHE_DCACHE);

还有想请教下,我并没有在cfg中将Cache开启,应该是SYSBIOS自动启动的,我把 D-Cache关闭是否对整个SYSBIOS系统有影响?

感谢!

赞(0)
未经允许不得转载:TI中文支持网 » omapl138 ARM核使用SYSBIOS系统对指定内存写数据无效
分享到: 更多 (0)