0

我有一台运行 Ubuntu (chrUbuntu 12.04) 的 ARM 三星 Chromebook。

在 ARM“特权”状态下运行某些代码的最简单方法是什么?我不是在寻找 sudo,而是在寻找 Supervisor、IRQ、FIQ 等的 ARM 处理器模式。在某个地方我可以探测/修改协处理器寄存器。

进入 priv 模式很容易:只需进行 SVC 调用。问题是,将我自己的一些代码插入操作系统以便在某个 SVC 调用上调用它的最简单方法是什么?

我不是 Linux 黑客。大多数情况下,我正在寻找关于最简单的总体方向的通用指针(重建内核?获取一些驱动程序源并挂钩修改后的驱动程序?一些简单的命令行选项来运行某些东西?),然后我会从那里开始。


如果我的上述方法没有意义并且有更简单的方法,我的总体目标是:

  • 编写一些低级汇编程序
  • 看看它们在 Cortex-A15 内核的各种硬件配置下的表现如何

提前致谢,

保罗

4

2 回答 2

1

如果不允许从用户区访问协处理器寄存器,最简单的方法是在内核启动序列中运行一些初始化代码,如 board-init 或编写内核模块来执行您想要的操作。看到这个答案。另外,如果有兴趣,这个问题

于 2012-11-18T00:14:46.593 回答
1

对于你的问题的第二个版本:听起来你想要性能工具,而不是尝试实现你自己的性能测量:https ://perf.wiki.kernel.org/index.php/Tutorial

另一种方法是通过实现一个可加载的内核模块。如果您创建一个模块,作为驱动程序或通过 /proc 或 /sys 访问的东西,该模块将在超级用户模式下执行。

于 2012-11-18T19:36:00.617 回答