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

TMSC6746芯片的MPU保护单元寄存器使用

 各位大神:

  目前我们项目急需要用MPU保护单元做内存保护

我尝试过先设置好MPPA寄存器为管理员权限只读不写(值为0x003FFEE7),这时候我再去改写保护的DDR,会产生死机

但是如果我在之前先操作保护的DDR,再去修改寄存器的配置为只读不写,这时候再去写保护的DDR,这个时候又没有产生死机,

这是为何呢?

我这边有个需求是程序在运行过程中需要实时调整权限,所以需要在某种情况下改变寄存器控制

请帮忙看看,谢谢

Nancy Wang:

请先测试一下帖子中提供的mpu test工程,看是否能解决问题。
e2e.ti.com/…/1098969

user6134595:

回复 Nancy Wang:

你好 nancy:
我没有找到C6748_mpuTest.zip这个文件,能否贴到这个帖子里面 万分感谢~

Nancy Wang:

回复 user6134595:

C6748_mpuTest.zip

user6134595:

回复 user6134595:

hello Nancy:
我找到了一个工程3301.MPU_Test,里面有个源码,但是有extern一个函数,我将该源文件放到自己的工程下会编译不过,帮忙看下?
extern void intcVectorTable(void);

user6134595:

回复 user6134595:

Hello Nancy:

我将源文件移植到自己的主工程下测试结果如图,看起来这些配置没有起作用,跟我自己的代码测试结果一致,请问下原因可能是啥呢?

我这边尝试解决下

Nancy Wang:

回复 user6134595:

 这是我用开发板测试的结果。

user6134595:

回复 Nancy Wang:

Hi Nancy:

之前的图片是我将源文件附在我的工程里面仿真的结果(为了编译成功屏蔽了中断函数),下面的图片是直接将你提供的工程加载到我的开发板中运行的结果

我的开发板是C6746,看结果对于L1、L2的保护起到了作用,但是对于DDR的保护没有起作用,目前看起来与你的对比结果应该是硬件不同,请问硬件上需要注意

什么呢?万分感谢~

user6134595:

回复 Nancy Wang:

Hi Nancy:
为了验证您提供的软件没有问题,我也拿了自己购买的C6748开发板进行仿真,结果是L1/L2/DDR均能被保护,跟您的结果一致;
所以我猜想是否和DDR周边的电路有关系,麻烦你那边给出一些必要的连接条件才能使能保护单元,我这边也尝试跟硬件那边分析下该问题

万分感谢~

Nancy Wang:

回复 user6134595:

硬件发面可以参考这个链接看看。
processors.wiki.ti.com/…/OMAP-L138_Hardware_Design_Guide
软件方面参考这个帖子的总结看看:
e2e.ti.com/…/291838

user6134595:

回复 Nancy Wang:

Hi Nancy:

目前我已经把你发的链接给到硬件参考

但是我这边还是很疑惑,你那边能否提供一些线索我们排查

现在看,同一个软件工程(您提供的)在C6746芯片上(晶振为18.432)只对L1、L2起保护,对外部的镁光DDR不起保护作用

但是在我自己买的开发板上(C6748 晶振为24Mhz)就可以对外部镁光DDR起保护作用

是否和芯片或是晶振有关?

赞(0)
未经允许不得转载:TI中文支持网 » TMSC6746芯片的MPU保护单元寄存器使用
分享到: 更多 (0)