嵌入式技术论坛
直播中

五斤麻辣油

9年用户 1350经验值
擅长:电源/新能源
私信 关注
[问答]

请问start_gcc.S中关于mmu的代码应该如何处理?

我在给一个没有mmu的cortex-a7移植rtthread nano,请问start_gcc.S中关于mmu的代码应该如何处理?

1.jpg

我尝试直接将这段代码注释掉,注释掉之后的代码运行起来有两个现象:

1、在main函数中写一个死循环,一直执行打印和延时,但是结果是只打印一次(系统中断一直在正常进入)

1.jpg

2、使用静态方法创建线程,发现在进程调度过程中程序会跑飞,经过调试发现跑飞的直接原因是运行我创建的线程时,执行到 __rt_timer_remove(timer)时timer->row[0]->next->priv的地址已经不在RAM中了,导致赋值失败。

1.jpg

回帖(3)

张波

2022-11-21 14:27:31
还有没MMU的A7?arm的cache也和mmu关联在一起的,难道cache也没有么?

理论上讲只要把MMU相关的留空就行了,具体出啥问题再调就是了。
举报

五斤麻辣油

2022-11-21 14:27:43
谢谢回答!我确认了一下,是有mmu的,只是没有使用,我们是把片内RAM当做内存使用的
举报

王秀珍

2022-11-21 14:27:53
没有mmu的a7?还真有这类芯片存在吗,或者说是cortex-r?如果真是没有mmu的a7,那就有得复杂了,多看代码吧
举报

更多回帖

发帖
×
20
完善资料,
赚取积分