zynq-7000 : board_smp_start()

中文QNX 讨论: 欢迎大家灌水,讨论有关QNX 问题。

zynq-7000 : board_smp_start()

帖子xukanfeng1989 » 周三 3月 13, 2013 10:05 am

有大神开发过xilinx的zynq-7000这块板子的qnx bsp包吗?
xilinx和arm的官网上都找不到qnx bsp,我只能试着自己开发这个bsp包,但在初始化smp的时候出问题了:
ug585_zynq_7000.pdf 有说怎么用cpu0激活cpu1工作:
the steps for CPU0 to start an application on CPU1:
1.Write the address of the application for CPU1 to 0xFFFFFFF0
2.Excute the SEV instruction to cause the CPU1 to wake up and jump to the application;
然后按照说明我写了下面的代码:
int board_smp_init(void (*start)(void))
{
*(volatile unsigned int*)(0xFFFFFFF0) = (unsigned int)start; /*set the start address*/
*(volatile unsigned int*)(ICDSGIR_REG_ADDR) = 0x20000; /*start the CPU1*/
}
ICDSGIR_REG_ADDR是ICDSGIR这个寄存器的地址,在 ug585_zynq_7000.pdf上有说明,用来软件产生中断,其中[23:16]8位每一位对应着一个cpu号,0x20000对应的就是cpu1,第二行代码就是通过cpu0给cpu1一个中断,使得cpu1能够进入到start函数所在的地址去。可是系统镜像跑起来的时候cpu1并没有开始跑start这个函数,为嘛?是我对cpu1的启动理解有偏差么?跪求大神指点。
xukanfeng1989
New Member
 
帖子: 1
注册: 周二 1月 22, 2013 9:55 am

Re: zynq-7000 : board_smp_start()

帖子canghaiyisu » 周四 3月 14, 2013 10:59 am

居然有大仙做xilinx的FPGA + ARM BSP :shock:
实际上QNX已经完成了zynq-7000 BSP,新闻如下链接
http://www.qnx.com/news/pr_5495_1.html
Xilinx will showcase the Zynq-7000 All Programmable SoC Intelligent Drives Platform, a high-precision, low-noise, multi-motor electrical drive demonstration running on the QNX Neutrino RTOS. Visit the Xilinx stand, Hall 1/1-205.

建议你发mail到qnx,或者在xilinx网站注册并提交请求,看看能不能拿到BSP。
canghaiyisu
Senior Member
 
帖子: 27
注册: 周日 8月 13, 2006 10:46 pm


回到 四海同心QNX论坛

在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客