赛灵思
直播中

李红霞

7年用户 155经验值
私信 关注
[问答]

为什么我将Linux 2.6移植到XUPV2P板上会失败?

你好清单
我试图将Linux 2.6(xilinx git)移植到XUPV2P板上
运行用EDK10.1(Linux版本)实现的系统。
我有
失败了,我想我现在为什么,这是一个写的小报告
节省你一些时间(如果我正在做的话,也许可以解决我的问题
有问题)
EDK 10.1不支持该板,但我找到了一块板
支持文件格式https://wiki.ittc.ku.edu似乎有效。

开始我创建了一个包含ppc,mpmc,an的设计
uartlite,一个中断管理员和一些bram。
“基础课程”
工作得很好。
我已经下载了xilinx git的内核格式并对其进行了改编
xparameters文件以适合我的设计。
我使用OpenEmbedded创建了一个工具链并编译了内核
有了它,然后我已经将二进制文件下载到电路板和所有内容
工作正常,直到“现在启动内核”
调试内核我发现系统崩溃了(Exception
0x700)在“start_here”(head_4xx.S)中设置mmu ...
因为它是我内核的“非常开始”的崩溃我
开发了一些简单的应用程序来测试我的所有外围设
确实在实模式下:所有这些都运行正常
但我创建了一小段代码来测试外围设备
在虚拟模式下,当程序链接到ram系统时
崩溃!
奇怪的是,当它从bram运行时它工作正常.....
相同的代码完全适用于使用EDK 8.1和
内核也运行正常。
我附上了我的测试应用程序和OpenEmbedded的源代码
我用过的参数。
最好的祝福
test_mmu.S 2 KB

回帖(3)

冯琳

2019-8-14 09:48:59
我检查了网站。
ISE套件10.1支持XUPV2P板。
ku.edu文件试图解决DDR内存问题。
如果您阅读了他们的源代码,您会发现他们正在使用ML310板(32M)的DDR内存,而不是原来的512M DDR内存。
可能它解释了为什么当RAM从BRAM运行正常时系统崩溃。
举报

徐丹

2019-8-14 10:05:32
我确实修改了那部分以支持我的内存模块并进行了测试。
在真实内存上运行没有问题,但是一旦处理器切换到虚拟内存,一切都崩溃了:(无论如何,只要他们提供新的bsp文件,我就会使用它并给出报告。
谢谢
举报

郑雅颖

2019-8-14 10:25:13
我有一些问题,ise 9.1每件事都没问题,这个内存代码没有传入ise 10.1 sp3,但是在ise 9.1中工作,我尝试用mpm控制器寄存器调试,但没有任何帮助,我也试着破坏mpmc_calibration_example。
c,它挂在。 
/ * *等待DCM完成。
* / while((XMpmc_GetStaticPhyReg(InstancePtr)& XMPMC_SPIR_DCM_DONE_MASK)== 0);
--------内存测试代码----- 
volatile unsigned long * tb;
int i,err = 0;
printf(“测试DDR内存: r  n”);
tb = 0;
for(i = 0; i unsigned long t; ​​ tb = i; t = * tb; if(t!= i){err ++; printf(“ r  n期望%08x,%08x  r  n
“,i,t); //返回-1;} if(i%1000 == 0)printf(”R:%08x  r“,i); tb ++;} printf(” r  n“
);返回错误; -----代码结束--------
举报

更多回帖

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