如何在Jetson TK1(arm a15)中启动二级核心

时间:2016-04-28 10:06:36

标签: arm

我是中国学生,我正在尝试将操作系统(Barrelfish)移植到Jetson TK1。 现在我让主要核心工作了。

但是当我开始处理二级核心时,就会出现问题。

首先,我只知道使用“SEV”指令可以唤醒一个核心(在WFE或WFI中)。我不知道还有什么需要做的?

最重要的是我不知道如何设置辅助核心的启动地址。

我试图从Jetson TK1的linux代码中找到答案,但我没有找到任何设置地址的代码。

你能告诉我我想要做什么吗?

1 个答案:

答案 0 :(得分:0)

我自己得到了它。谢谢所有照顾这个问题的人。

在jetson tk1 TRM中,我发现cpu从复位向量寄存器(在EVP寄存器中)[TRM 15.1.6.2]中获取代码,并且EVP的描述非常简单。如下:

EVP register

和此:

enter image description here

所以我尝试将引导地址写入0x00000000,但没有效果。

最后,我不得不尝试使用u-boot(md 0x0 100)转储内存。

我在0x400和0x500中找到了一个有用的值(0x83d8e000,u-boot的加载地址)(从0x400到0x1400)

所以我试着将barrelfish的引导地址写入内存(所有字节为0x400-0x1400),辅助内核工作正常!

然后我试图找到辅助核心的真实寄存器,它的 0x500

顺便说一句,启动辅助核心的代码来自linux。

总而言之,我的英语很差。如果我的话中有任何错误,请原谅我。