- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试了解 ARM Linux 引导过程。
这些是我的理解:
我的问题是这个 Boot ROM 代码如何获取 u-boot 第一条指令的地址?
最佳答案
这取决于 SoC,用于引导的方案因 SoC 而异。它通常记录在 SoC 的引用手册中,它确实描述了该 SoC 特定的 u-boot 端口应遵循的各种约定(从哪里读取 u-boot,具体地址),以便 ROM 中的代码能够加载u-boot,最终将控制权交给u-boot。
ROM 中的这段代码可以执行如下操作:
- 如果引脚 x 为 0,则从 eMMC 的第一个扇区读取 64KiB 到片上静态 RAM,然后将控制权转移到位于 OCRAM 偏移量 256 处的代码以获取示例。
- 如果引脚 x 为 1,将 UART 配置为 19200 波特、8 位奇偶校验、无停止位,尝试使用 X-MODEM 协议(protocol)从串行端口读取 64KiB 到 OCRAM,然后将控制权转移到位于 OCRAM 偏移量 256 处的代码。
此代码通常称为辅助程序加载器 (SPL),然后负责配置 SDRAM Controller ,然后读取非u-boot的SPL部分进入SDRAM的开头,然后跳转到SDRAM中的特定地址。给定 SoC 的 SPL 应该足够小以适合 SoC 片上 RAM。在这种情况下,ROM 代码将是主引导加载程序。
以 TI AM335x Cortex-A8 SoC 为例,Technical Reference Manual 的第 26.1.6 节,更具体地说,图 26-10 解释了引导过程。 ROM 代码可能会使用一些输入引脚来指导引导过程 - 请参阅表 26-7 中的 SYSBOOT 配置引脚。参见 The AM335x U-Boot User's Guide有关更多 u-boot 特定的 AM335x 相关信息。
关于linux - ROM代码如何找到u-boot启动指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48926788/
在rom-sql我想启用日志记录,以便我可以看到生成的所有 sql 查询。 我怎样才能做到这一点? 因为它在下面使用续集,我想它可能会通过 sequel logger 以某种方式实现。 . 最佳答案
如何获取所有驱动器的列表以及相应的驱动器类型(可移动、本地磁盘或 cd-rom、dvd-rom 等)? 最佳答案 通过这段代码你可以获得所有驱动器及其类型描述 File[] paths; FileSy
我正在尝试通过 C 代码弹出我的 CD ROM。它不想工作。 ioctl 返回“5”I/O 错误,哪里可能有问题? #include #include #include #include #i
我在网上的几个地方找到了这个问题,但从来没有一个好的答案。让我具体回答所提出的问题。 我想构建一个只有一个应用程序的自定义 Android ROM。此应用程序不与任何硬件交互(现在)。此应用程序将在设
我正在开发基于 Renesas RL78 Controller 的汽车软件堆栈。直接进入问题,声明为 const(ROM 变量)的变量未使用定义的值进行初始化。 例如:const uint8 var_
有人知道用什么语言ROM(例如GBA ROM)编码吗?我还想知道是否有一种简单的方法可以反编译这些ROM。 最佳答案 GBA游戏可以用任何语言编程,只要可以编译为ARM汇编即可。 它们通常是用C++编
是否有一个 ROM 字节在正常操作中未使用? 我想解码地址总线,拉低 ROMCS 并将数据放入数据总线仅针对一个地址。 ROM 中是否有一个地址在 ZX Spectrum 的正常操作中从未使用过?也许
我正在尝试为自定义 ROM 制作更新程序。我可以通过以下方式从我的应用中恢复: Process p = Runtime.getRuntime().exec("su"); OutputStream os
如何检测小米MIUI ROM下运行的设备?我可以使用以下代码检测 Xiomi 设备。 String manufacturer = "xiaomi"; if (manufacturer.equalsIg
我想检查我的设备是否安装了自定义 ROM。如果任何设备上有自定义 ROM,我不希望我的应用程序运行。我如何通过代码知道这一点? 最佳答案 System.getProperty("os.version"
我完成了我的 6502 模拟器的编写,我准备开始测试它了。我找到了 nestest带有一些文档的 ROM,但我不确定加载 ROM 的正确方法是什么。作者说,模拟器应该从0xC000开始,当我加载ROM
我有一个需求是这样的:我们有定制的 Android 设备,上面安装了定制的 ROM。我需要能够通过应用为此自定义 ROM 安装更新。 我想解决这个问题的方法是通过 ftp 从服务器下载自定义 rom,
我想在我的自定义 AOSP rom 中禁用主页、菜单和后退按钮。我在互联网上搜索过,看到我可以在 out/target/product/generic/system/usr/keylayout 中找到
我正在开发一个 Android 应用程序,但我想将我的应用程序限制为只能由未运行有根/自定义 ROM 的硬件访问。我知道 Android 的前向锁定内容保护,但想在我的应用程序中仔细检查此保护。有什么
最近一直在使用闪存 ROM,我发现无论是在芯片的内部闪存内还是在外部 SPI 闪存设备中,扇区的大小通常都是这样的: 我很好奇为什么起始地址空间的扇区比后面的地址小。我怀疑使用引导加载程序之类的东西会
我需要创建一个提供一些功能的 ROM 掩码。不过,应该可以覆盖提供固件补丁的功能。因此,补丁表应该位于Flash存储器中,以后固件升级可能会被覆盖,而固件的主要部分位于mask ROM中,以后无法修改
我想在基于 ARM 的智能手机上全新安装嵌入式 Linux。为此,我需要闪存、显示器等设备驱动程序。我想知道是否可以从这些手机供应商提供的 ROM 中提取设备驱动程序? 最佳答案 不,这通常是不可能的
制作自定义 rom 是否涉及与制作应用程序相同的技能组合?他们是同一个吗? 最佳答案 没有。自定义 ROM 需要对比制作应用程序低得多的编程有很好的理解。几乎任何人都可以使用 CS、ZDE 或 Net
我做了一个前台服务来不断扫描我周围的 BLE 设备。出于某种原因,它似乎在我的安卓设备谷歌像素和三星 S9+ 上完美运行。 但最近我用中文 ROM(Oneplus 6T,小米 Poco F1)测试了该
我正在编写一个需要区分 Android Stock ROM 和其他 ROM(如 SenseUI 等)的应用。 如何在我的应用程序中执行此操作? 谢谢。 最佳答案 我发现使用 getprop 查询 ro
我是一名优秀的程序员,十分优秀!