/Documentation/arm/README
ARM Linux 2.4 ============= Please check ftp.arm.linux.org.uk:/pub/armlinux for latest updates. 请检查ftp.arm.linux.org.uk:/pub/armlinux以获取最新的更新Compilation of kernel---------
·
ARM Linux 2.4
=============
Please check ftp.arm.linux.org.uk:/pub/armlinux for latest updates.
请检查ftp.arm.linux.org.uk:/pub/armlinux以获取最新的更新
Compilation of kernel
---------------------
In order to compile ARM Linux, you will need a compiler capable of
generating ARM ELF code with GNU extensions. GCC 2.95.1 and EGCS 1.1.2
are good compilers.
To build ARM Linux natively, you shouldn't have to alter the ARCH = line
in the top level Makefile. However, if you don't have the ARM Linux ELF
tools installed as default, then you should change the CROSS_COMPILE
line as detailed below.
If you wish to cross-compile, then alter the following lines in the top
level make file:
ARCH = <whatever>
with
ARCH = arm
and
CROSS_COMPILE=
to
CROSS_COMPILE=<your-path-to-your-compiler-without-gcc>
eg.
CROSS_COMPILE=arm-linux-
Do a 'make config', followed by 'make Image' to build the kernel
(arch/arm/boot/Image). A compressed image can be built by doing a
'make zImage' instead of 'make Image'.
编译内核
--------
为了编译ARM Linux,你需要一个能够产生ARM ELF 带有GNU扩展代码的编译器
GCC 2.95.1 和 EGCS 1.1.2都是不错的编译器
为构建原生的ARM Linux,在最高一级的Makefile中不应该改变 ARCH = line
的选项。然而,如果你没有默认安装的ARM Linux ELF工具,那么你应该像下述
那样改变CROSS_COMPILE
如果你希望交叉编译,在顶层make file作如下改变:
ARCH = <whatever>
with
ARCH = arm
and
CROSS_COMPILE=
to
CROSS_COMPILE=<your-path-to-your-compiler-without-gcc>
eg.
CROSS_COMPILE=arm-linux-
然后"make config",根据"make Image"来构建内核(/arch/arm/boot/Image)
压缩镜像要通过"make zImage"而不是"make Image"来构建
Bug reports etc
---------------
Please send patches to the patch system. For more information, see
http://www.arm.linux.org.uk/patches/info.html Always include some
explanation as to what the patch does and why it is needed.
Bug reports should be sent to linux-arm-kernel@lists.arm.linux.org.uk,
or submitted through the web form at
http://www.arm.linux.org.uk/forms/solution.shtml
When sending bug reports, please ensure that they contain all relevant
information, eg. the kernel messages that were printed before/during
the problem, what you were doing, etc.
Bug报告等
---------
请将补丁包发布到补丁系统。获取更多信息,请参阅
http://www.arm.linux.org.uk/patches/info.html
其中包括了补丁是干什么的和它为什么被需要
Bug报告应该发送至linux-arm-kernel@lists.arm.linux.org.uk,
或者通过http://www.arm.linux.org.uk/forms/solution.shtml
来提交
当提交Bug的时候,请确保其中包括所有相关信息,比如说,在问题发生之前/
之中打印出的内核信息等等
Include files
-------------
Several new include directories have been created under include/asm-arm,
which are there to reduce the clutter in the top-level directory. These
directories, and their purpose is listed below:
arch-* machine/platform specific header files
hardware driver-internal ARM specific data structures/definitions
mach descriptions of generic ARM to specific machine interfaces
proc-* processor dependent header files (currently only two
categories)
头文件
----------
一些新的包含目录在 include/asm-arm下被创建,能够在顶层目录减少混乱。
这些目录以及其作用,如下所示:
arch-* 机器/平台特定的头文件
hardware 驱动器内部的ARM特定的数据结构/定义
mach 针对特定机器接口的通用ARM的描述
proc-* 处理器依赖的头文件(目前只有两类)
Machine/Platform support
------------------------
The ARM tree contains support for a lot of different machine types. To
continue supporting these differences, it has become necessary to split
machine-specific parts by directory. For this, the machine category is
used to select which directories and files get included (we will use
$(MACHINE) to refer to the category)
To this end, we now have arch/arm/mach-$(MACHINE) directories which are
designed to house the non-driver files for a particular machine (eg, PCI,
memory management, architecture definitions etc). For all future
machines, there should be a corresponding include/asm-arm/arch-$(MACHINE)
directory.
支持的机器/平台
--------------
ARM支持许多不同的机器。为了继续支持这些不同的机器,根据目录来区分不同的机器
是很有必要的。
现在我们有arch/arm/mach-$(MACHINE)目录被设计用于容纳无驱动文件的特定机器。
对于未来的的机器,也应该有相应的include/asm-arm/arch-$(MACHINE)目录
Modules
-------
Although modularisation is supported (and required for the FP emulator),
each module on an ARM2/ARM250/ARM3 machine when is loaded will take
memory up to the next 32k boundary due to the size of the pages.
Therefore, modularisation on these machines really worth it?
However, ARM6 and up machines allow modules to take multiples of 4k, and
as such Acorn RiscPCs and other architectures using these processors can
make good use of modularisation.
模块
----
虽然模块化是被支持的,但是 ARM2/ARM250/ARM3机器上的每一个模块装载时由于页的
大小会使内存到下一个32K边界。因此,模块化在那些机器上是不值得的。
然而,ARM6及其以上的机器允许模块使用4K的倍数,像这样的机器就可以很好的使用模块
化
ADFS Image files
----------------
You can access image files on your ADFS partitions by mounting the ADFS
partition, and then using the loopback device driver. You must have
losetup installed.
Please note that the PCEmulator DOS partitions have a partition table at
the start, and as such, you will have to give '-o offset' to losetup.
ADFS镜像文件
------------
你可以通过挂载ADFS分区来存取你的ADFS分区的镜像文件,然后使用loopback设备驱动。
你必须要安装有设置循环设备
请注意PCEmulator DOS在一开始会有一个分区表,你应该'-o offset'来设置循环设备
Request to developers
---------------------
When writing device drivers which include a separate assembler file, please
include it in with the C file, and not the arch/arm/lib directory. This
allows the driver to be compiled as a loadable module without requiring
half the code to be compiled into the kernel image.
In general, try to avoid using assembler unless it is really necessary. It
makes drivers far less easy to port to other hardware.
开发者要求
----------
当编写包含单独汇编文件的设备驱动时,请把它包含于C文件中,而不是arch/arm/lib
目录。这允许驱动被编译为可加载的,而不需要将一半的代码编译进内核中。
一般来说,如果不是特别必要的话,不要使用汇编语言。那样会使得驱动在其他的硬件
上不容易运行
ST506 hard drives
-----------------
The ST506 hard drive controllers seem to be working fine (if a little
slowly). At the moment they will only work off the controllers on an
A4x0's motherboard, but for it to work off a Podule just requires
someone with a podule to add the addresses for the IRQ mask and the
HDC base to the source.
As of 31/3/96 it works with two drives (you should get the ADFS
*configure harddrive set to 2). I've got an internal 20MB and a great
big external 5.25" FH 64MB drive (who could ever want more :-) ).
I've just got 240K/s off it (a dd with bs=128k); thats about half of what
RiscOS gets; but it's a heck of a lot better than the 50K/s I was getting
last week :-)
Known bug: Drive data errors can cause a hang; including cases where
the controller has fixed the error using ECC. (Possibly ONLY
in that case...hmm).
ST506磁盘驱动器
---------------
? ST506磁盘驱动器似乎工作的很正常(如果有一点慢)。后一句没懂
1772 Floppy
-----------
This also seems to work OK, but hasn't been stressed much lately. It
hasn't got any code for disc change detection in there at the moment which
could be a bit of a problem! Suggestions on the correct way to do this
are welcome.
1772 软盘驱动器
---------------
这个似乎也是工作正常,但是没有被过多强调。可能会有一点问题的是它没有任何检测
磁盘变化的代码!任何关于如何正确处理这件事的建议都是十分受欢迎的
Kernel entry (head-armv.S)
--------------------------
The initial entry into the kernel made via head-armv.S uses architecture
independent code. The architecture is selected by the value of 'r1' on
entry, which must be kept unique. You can register a new architecture
by mailing the following details to rmk@arm.linux.org.uk Please give
the mail a subject of 'Register new architecture':
Name: <name of your architecture>
ArchDir: <name of include/asm-arm/arch-* directory>
Type: <MACH_TYPE_* macro name>
Description:
<description of your architecture>
Please follow this format - it is an automated system. You should
receive a reply in short order.
内核入口
--------
内核初始化的入口是通过使用依赖于代码的架构的head-armv.S完成的。
你可以注册一个新的架构通过发邮件至rmk@arm.linux.org.uk
请把邮件的主题写为'Register new architecture':
Name: <name of your architecture>
ArchDir: <name of include/asm-arm/arch-* directory>
Type: <MACH_TYPE_* macro name>
Description:
<description of your architecture>
请按照以上格式 - 这是一个自动的系统。你很快就会收到回复
---
Russell King (26/01/2001)
=============
Please check ftp.arm.linux.org.uk:/pub/armlinux for latest updates.
请检查ftp.arm.linux.org.uk:/pub/armlinux以获取最新的更新
Compilation of kernel
---------------------
In order to compile ARM Linux, you will need a compiler capable of
generating ARM ELF code with GNU extensions. GCC 2.95.1 and EGCS 1.1.2
are good compilers.
To build ARM Linux natively, you shouldn't have to alter the ARCH = line
in the top level Makefile. However, if you don't have the ARM Linux ELF
tools installed as default, then you should change the CROSS_COMPILE
line as detailed below.
If you wish to cross-compile, then alter the following lines in the top
level make file:
ARCH = <whatever>
with
ARCH = arm
and
CROSS_COMPILE=
to
CROSS_COMPILE=<your-path-to-your-compiler-without-gcc>
eg.
CROSS_COMPILE=arm-linux-
Do a 'make config', followed by 'make Image' to build the kernel
(arch/arm/boot/Image). A compressed image can be built by doing a
'make zImage' instead of 'make Image'.
编译内核
--------
为了编译ARM Linux,你需要一个能够产生ARM ELF 带有GNU扩展代码的编译器
GCC 2.95.1 和 EGCS 1.1.2都是不错的编译器
为构建原生的ARM Linux,在最高一级的Makefile中不应该改变 ARCH = line
的选项。然而,如果你没有默认安装的ARM Linux ELF工具,那么你应该像下述
那样改变CROSS_COMPILE
如果你希望交叉编译,在顶层make file作如下改变:
ARCH = <whatever>
with
ARCH = arm
and
CROSS_COMPILE=
to
CROSS_COMPILE=<your-path-to-your-compiler-without-gcc>
eg.
CROSS_COMPILE=arm-linux-
然后"make config",根据"make Image"来构建内核(/arch/arm/boot/Image)
压缩镜像要通过"make zImage"而不是"make Image"来构建
Bug reports etc
---------------
Please send patches to the patch system. For more information, see
http://www.arm.linux.org.uk/patches/info.html Always include some
explanation as to what the patch does and why it is needed.
Bug reports should be sent to linux-arm-kernel@lists.arm.linux.org.uk,
or submitted through the web form at
http://www.arm.linux.org.uk/forms/solution.shtml
When sending bug reports, please ensure that they contain all relevant
information, eg. the kernel messages that were printed before/during
the problem, what you were doing, etc.
Bug报告等
---------
请将补丁包发布到补丁系统。获取更多信息,请参阅
http://www.arm.linux.org.uk/patches/info.html
其中包括了补丁是干什么的和它为什么被需要
Bug报告应该发送至linux-arm-kernel@lists.arm.linux.org.uk,
或者通过http://www.arm.linux.org.uk/forms/solution.shtml
来提交
当提交Bug的时候,请确保其中包括所有相关信息,比如说,在问题发生之前/
之中打印出的内核信息等等
Include files
-------------
Several new include directories have been created under include/asm-arm,
which are there to reduce the clutter in the top-level directory. These
directories, and their purpose is listed below:
arch-* machine/platform specific header files
hardware driver-internal ARM specific data structures/definitions
mach descriptions of generic ARM to specific machine interfaces
proc-* processor dependent header files (currently only two
categories)
头文件
----------
一些新的包含目录在 include/asm-arm下被创建,能够在顶层目录减少混乱。
这些目录以及其作用,如下所示:
arch-* 机器/平台特定的头文件
hardware 驱动器内部的ARM特定的数据结构/定义
mach 针对特定机器接口的通用ARM的描述
proc-* 处理器依赖的头文件(目前只有两类)
Machine/Platform support
------------------------
The ARM tree contains support for a lot of different machine types. To
continue supporting these differences, it has become necessary to split
machine-specific parts by directory. For this, the machine category is
used to select which directories and files get included (we will use
$(MACHINE) to refer to the category)
To this end, we now have arch/arm/mach-$(MACHINE) directories which are
designed to house the non-driver files for a particular machine (eg, PCI,
memory management, architecture definitions etc). For all future
machines, there should be a corresponding include/asm-arm/arch-$(MACHINE)
directory.
支持的机器/平台
--------------
ARM支持许多不同的机器。为了继续支持这些不同的机器,根据目录来区分不同的机器
是很有必要的。
现在我们有arch/arm/mach-$(MACHINE)目录被设计用于容纳无驱动文件的特定机器。
对于未来的的机器,也应该有相应的include/asm-arm/arch-$(MACHINE)目录
Modules
-------
Although modularisation is supported (and required for the FP emulator),
each module on an ARM2/ARM250/ARM3 machine when is loaded will take
memory up to the next 32k boundary due to the size of the pages.
Therefore, modularisation on these machines really worth it?
However, ARM6 and up machines allow modules to take multiples of 4k, and
as such Acorn RiscPCs and other architectures using these processors can
make good use of modularisation.
模块
----
虽然模块化是被支持的,但是 ARM2/ARM250/ARM3机器上的每一个模块装载时由于页的
大小会使内存到下一个32K边界。因此,模块化在那些机器上是不值得的。
然而,ARM6及其以上的机器允许模块使用4K的倍数,像这样的机器就可以很好的使用模块
化
ADFS Image files
----------------
You can access image files on your ADFS partitions by mounting the ADFS
partition, and then using the loopback device driver. You must have
losetup installed.
Please note that the PCEmulator DOS partitions have a partition table at
the start, and as such, you will have to give '-o offset' to losetup.
ADFS镜像文件
------------
你可以通过挂载ADFS分区来存取你的ADFS分区的镜像文件,然后使用loopback设备驱动。
你必须要安装有设置循环设备
请注意PCEmulator DOS在一开始会有一个分区表,你应该'-o offset'来设置循环设备
Request to developers
---------------------
When writing device drivers which include a separate assembler file, please
include it in with the C file, and not the arch/arm/lib directory. This
allows the driver to be compiled as a loadable module without requiring
half the code to be compiled into the kernel image.
In general, try to avoid using assembler unless it is really necessary. It
makes drivers far less easy to port to other hardware.
开发者要求
----------
当编写包含单独汇编文件的设备驱动时,请把它包含于C文件中,而不是arch/arm/lib
目录。这允许驱动被编译为可加载的,而不需要将一半的代码编译进内核中。
一般来说,如果不是特别必要的话,不要使用汇编语言。那样会使得驱动在其他的硬件
上不容易运行
ST506 hard drives
-----------------
The ST506 hard drive controllers seem to be working fine (if a little
slowly). At the moment they will only work off the controllers on an
A4x0's motherboard, but for it to work off a Podule just requires
someone with a podule to add the addresses for the IRQ mask and the
HDC base to the source.
As of 31/3/96 it works with two drives (you should get the ADFS
*configure harddrive set to 2). I've got an internal 20MB and a great
big external 5.25" FH 64MB drive (who could ever want more :-) ).
I've just got 240K/s off it (a dd with bs=128k); thats about half of what
RiscOS gets; but it's a heck of a lot better than the 50K/s I was getting
last week :-)
Known bug: Drive data errors can cause a hang; including cases where
the controller has fixed the error using ECC. (Possibly ONLY
in that case...hmm).
ST506磁盘驱动器
---------------
? ST506磁盘驱动器似乎工作的很正常(如果有一点慢)。后一句没懂
1772 Floppy
-----------
This also seems to work OK, but hasn't been stressed much lately. It
hasn't got any code for disc change detection in there at the moment which
could be a bit of a problem! Suggestions on the correct way to do this
are welcome.
1772 软盘驱动器
---------------
这个似乎也是工作正常,但是没有被过多强调。可能会有一点问题的是它没有任何检测
磁盘变化的代码!任何关于如何正确处理这件事的建议都是十分受欢迎的
Kernel entry (head-armv.S)
--------------------------
The initial entry into the kernel made via head-armv.S uses architecture
independent code. The architecture is selected by the value of 'r1' on
entry, which must be kept unique. You can register a new architecture
by mailing the following details to rmk@arm.linux.org.uk Please give
the mail a subject of 'Register new architecture':
Name: <name of your architecture>
ArchDir: <name of include/asm-arm/arch-* directory>
Type: <MACH_TYPE_* macro name>
Description:
<description of your architecture>
Please follow this format - it is an automated system. You should
receive a reply in short order.
内核入口
--------
内核初始化的入口是通过使用依赖于代码的架构的head-armv.S完成的。
你可以注册一个新的架构通过发邮件至rmk@arm.linux.org.uk
请把邮件的主题写为'Register new architecture':
Name: <name of your architecture>
ArchDir: <name of include/asm-arm/arch-* directory>
Type: <MACH_TYPE_* macro name>
Description:
<description of your architecture>
请按照以上格式 - 这是一个自动的系统。你很快就会收到回复
---
Russell King (26/01/2001)
更多推荐
已为社区贡献7条内容
所有评论(0)