我开始与TI beaglebone内核或操作系统编程 - AM3359的SoC。 我已经写了一个汇编程序写一些字的串行接口(只,开始了),我想运行此作为beaglebone内核,就像Linux内核。
什么是链接地址为我的计划?
和
如何从u-boot的默认开机呢? 我并不想进入ü启动程序,并希望使用与埃分布来与BBone沿现有的u-boot。
任何帮助表示赞赏。
谢谢
我开始与TI beaglebone内核或操作系统编程 - AM3359的SoC。 我已经写了一个汇编程序写一些字的串行接口(只,开始了),我想运行此作为beaglebone内核,就像Linux内核。
什么是链接地址为我的计划?
和
如何从u-boot的默认开机呢? 我并不想进入ü启动程序,并希望使用与埃分布来与BBone沿现有的u-boot。
任何帮助表示赞赏。
谢谢
我已经写了一个汇编程序写一些字的串行接口(只,开始了),我想运行此作为beaglebone内核,就像Linux内核。
你已经写了被称为“独立的程序”。 它不需要任何外部代码进行操作,相比于依赖于资源和服务的操作系统上的应用程序。 你不应该把它叫做内核(尚未反正),因为它没有任何的一个内核应该具备的能力。
什么是链接地址为我的计划?
注意:对于一个典型的独立的程序,“加载地址”和“连接地址”经常是相同的值,因为独立的代码通常不是可重新定位或位置无关。
的U-Boot被通常连接,加载并在上物理主存储器执行。
Linux内核典型地连接在物理主存储器+为0x8000开始(对于ARM反正)来执行。 但内核映像,尤其是如果它是的zImage或把uImage的压缩文件等,通常加载到内存在更高的地址,解压缩程序在其适当的负载&开始地址安装Linux内核。
因此,在较低的物理主存任何“好”的地址是合适的链接和加载程序。
如何从u-boot的默认开机呢?
的U-Boot可以执行转移到两种类型的“程序”(以及脚本)的。
计划的一个类型是“内核”,它使用bootm命令。
这对于具有由mkimage生成实用工具安装的头一个内核或程序,这是完全独立的,并接管该系统。 U-Boot的可定制,以准备系统这个内核。 用于Linux的存储缓冲器被分配时,初始化与用户定义的文本和到Linux内核内核命令行传递。 对于ARM Linux中,另一个内存缓冲区分配,数据初始化,并传递到ARM Linux内核为ATAGs。
其他类型的程序使用去命令。
这是一个简单的程序,可以用U-Boot的服务功能,完成后甚至控制权交回的U-Boot。 如果不需要缓冲的准备,那么你简单的单机程序应使用go
命令。
你可以在你的定义请使用命令bootcmd
环境变量,也就是当启动计时器到期执行时运行的变量/。