UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Visitor yzfreedom
Visitor
816 次查看
注册日期: ‎12-26-2018

怎么在Core1上运行Linux系统

转到解答

大家好:

           我在Core0上运行Linux, core1上运行Linux已经成功了,但是我想试试在Core1上运行Linux系统

           我做了一下操作:

           (1)创建了fsbl和core0的工程

           (2)修改fsbl的main文件,添加了启动core1的代码,这段代码在之前已经测试过是正常的

           (3)修改core0工程的内存地址大小,起始地址为0x100000,大小为0x1FF00000

           (4)在uboot中添加了两个宏定义,用来指定内存起始地址和大小,起始地址为0x20000000,大小为0x20000000

           (5)修改内核的设备树,修改内存的reg,改为0x20000000, 0x20000000

现在的结果是core0已经运行起来了,但是core1没有启动,没有看到任何uboot的信息。

我看到XAPP1078文档中说Linux只能识别0x00000000到0x2FFFFFFF的内存地址空间,是否意味着Linux必须在Core0上运行呢?不知道Linux能否放在Core1上运行?

另外一个问题是在core0上运行Linux,Core1上裸跑的时候,发现在Linux的启动阶段,core1的运行时间和启动完成后的运行时间差别较大,1.2秒的运行时间的代码,在启动阶段需要1.7秒,这是不是以为着两个核会相互影响?

0 项奖励
1 个已接受解答

已接受的解答
Highlighted
Xilinx Employee
Xilinx Employee
617 次查看
注册日期: ‎09-14-2018

回复: 怎么在Core1上运行Linux系统

转到解答

(1)双核之间的影响有没有一定的量化指标呢?比如什么样的情况下,core0对core1的影响每秒会导致性能下降的百分比这样的参数

-- 应该没有,这个和应用(内存分配、访问密度、访问方式,cache使用情况等等)强相关。

(2)最近一直在尝试openamp的方式,但是还没有通,官网上没找到关于这方面的资料,可能我没找对,能否提供下网址呢,很感谢

U1186 OpenAMP  getting started guide

http://www.wiki.xilinx.com/OpenAMP

http://www.wiki.xilinx.com/OpenAMP+2017.1

 

供参考~

 

----------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
----------------------------------------------------------------------------------------------

5 条回复5
Xilinx Employee
Xilinx Employee
770 次查看
注册日期: ‎09-14-2018

回复: 怎么在Core1上运行Linux系统

转到解答

hi @yzfreedom

1. 器件是zynq7000?

2. zynq7000两个核之间是有可能互相影响的,因为有些资源是公用的(DDR、L2 cache);

3. core1运行linux, core0运行啥?启动加载的顺序是怎么样的?

----------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
----------------------------------------------------------------------------------------------

 

 

0 项奖励
Visitor yzfreedom
Visitor
755 次查看
注册日期: ‎12-26-2018

回复: 怎么在Core1上运行Linux系统

转到解答

Hi, @chaoz

器件是zynq7020的,内存是已经分开了,各使用512M,L2cache的确是共用的,能否通过禁用某个核的L2cache的方式消除影响呢?

 core1运行linux, core0就裸核,目前加载顺序是fsbl,bitstream,core0程序,uboot

0 项奖励
Xilinx Employee
Xilinx Employee
698 次查看
注册日期: ‎09-14-2018

回复: 怎么在Core1上运行Linux系统

转到解答

hi @yzfreedom

"能否通过禁用某个核的L2cache的方式消除影响呢"

---禁用L2cache带来的性能下降很大,不太合适。将cache按way划分分配可能能减小影响。但只要两个核都是使用DDR多少还是会有影响,DDR需要通过仲裁方式来分配带宽。所以可以考虑让一个裸核跑在单独的内存上比如OCM。

core1运行linux, core0就裸核,目前加载顺序是fsbl,bitstream,core0程序,uboot

---没这么做过,但是感觉理论上可行,可以参考下OpenAMP,里面也有让裸机或RTOS作为Master的方式。Linux应该也要配置成单核方式。

供参考·~

----------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
----------------------------------------------------------------------------------------------

 

0 项奖励
Visitor yzfreedom
Visitor
621 次查看
注册日期: ‎12-26-2018

回复: 怎么在Core1上运行Linux系统

转到解答

hi, @chaoz

(1)双核之间的影响有没有一定的量化指标呢?比如什么样的情况下,core0对core1的影响每秒会导致性能下降的百分比这样的参数

(2)最近一直在尝试openamp的方式,但是还没有通,官网上没找到关于这方面的资料,可能我没找对,能否提供下网址呢,很感谢

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
618 次查看
注册日期: ‎09-14-2018

回复: 怎么在Core1上运行Linux系统

转到解答

(1)双核之间的影响有没有一定的量化指标呢?比如什么样的情况下,core0对core1的影响每秒会导致性能下降的百分比这样的参数

-- 应该没有,这个和应用(内存分配、访问密度、访问方式,cache使用情况等等)强相关。

(2)最近一直在尝试openamp的方式,但是还没有通,官网上没找到关于这方面的资料,可能我没找对,能否提供下网址呢,很感谢

U1186 OpenAMP  getting started guide

http://www.wiki.xilinx.com/OpenAMP

http://www.wiki.xilinx.com/OpenAMP+2017.1

 

供参考~

 

----------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
----------------------------------------------------------------------------------------------