LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3422|回复: 9

近期要做毕业前的5000字翻译

[复制链接]
发表于 2004-5-12 14:15:37 | 显示全部楼层 |阅读模式
我是自动控制专业,借这个机会想翻译一点好文,请给我推荐几篇

昨天凑了点出来:
1.coldfire 简介,3个处理器,最新,实用,老的
2.uclibc 简介
3.busybox 简介,安装
4.uclinux 的 coldfire ports

哪位兄弟有想了解又没时间翻译的 好文 ,赶紧放过来吧
发表于 2004-5-12 15:36:41 | 显示全部楼层
 楼主| 发表于 2004-5-12 16:48:07 | 显示全部楼层
版主误会了,上面4点我已整理好了。还没翻译。

只是想另找点有新意的,毕竟上面几点很多书上基本意思都能找到了
 楼主| 发表于 2004-5-18 14:00:48 | 显示全部楼层

NO.1 关于ColdFire

概观
Motorola 68K/ColdFire® Microprocessor:
Bringing the Future to the Legend
介绍
1994 年,新一代的ColdFire 微处理机系列产品被增加到摩托罗拉的经典的68K家谱。这个新的变长度精简指令集(RISC) 68K体系结构给价格敏感的嵌入市场带来了进取性的产品。为了迎合市场对新一代创新体系结构的需求,Motorola评估了许多来自原68K嵌入式系统客户的高阶源代码。在这个研究的基础上,一个精简指令集和寻址模式的结构被开发出来,它给处理器带来了一个有效的操作环境。和大多数RISC处理器一样,多数ColdFire系列的CPU的指令都是在单一周期中完成。

变长RISR ColdFire 结构给客户提供更高的灵活性来减少存储器使用并降低系统费用。  因为指令可能是 16,32或48位长的, 代码在存储器中紧密排列,相对于传统的32或64位元的精简指令系统有更好的代码密度。更有效的利用片上存储减少了总线带宽和外部存储容量的需求, 从而可得到较低的系统费用。

小并且廉价,因为它完全可以和存储器,系统模组和周边外设容易地整合 , 所以静态的ColdFire核心可以降低系统费用。  因为它良好的可移植属性, ColdFire核心可以应对很多不同的过程处理技术要求,使得将它的最为第三方许可使用方式很吸引人。摩托罗拉现在正在与其他公司发展战略同盟。

由于ColdFire与68K 系列在体系就构上的相关性,使用68 K产品的客户会把一种标准的 ColdFire 产品视为他们的下个解决方案。因为ColdFire处理机指令集是68 K系列产品指令集的一个子集, 现在的68K客户将会发现对ColdFire微处理机进行设计将是一个平滑的过渡。目前的68K工具开发者也应该会发现对于68K系列产品的最新成员的支持也是很容易的。  而且,ColdFire结构的发展规划中有在2001年中提供400 MIPS效能,从而超越68K系列产品的目标。因此,ColdFire处理机为68K系列产品的每个成员提供一个绩效路径。

ColdFire产品列表为嵌入式系统设计者提供效能,价格,集成和除错能力的一个宽的选择来升级他们的系统。  ColdFire产品开发工具是无比优越的。它的集成可能性只有被你的想像限制,而且它的20年的68K历史积淀是其他的竞争者所不能提供的。藉由这些功能,ColdFire 结构是在32位嵌入式系统领域的领导产品。您被邀请分享这一成功。

产品发展策略
ColdFire 结构发展策略是一分为二的,对大客户可以提供其特定的产品同时提供标准化的产品给传统嵌入市场。因为ColdFire核是完全可集成的,它可以很容易的迁移到新的过程技术或与原来的定制设计整合。这已经引导市场上像墨水和激光打印机,消费电子,网络和机顶盒的主要制造商青睐使用ColdFire结构。此外,摩托罗拉也提供基于ColdFire核的集成通用外设的标准产品给嵌入市场。 这些产品在嵌入式市场非常流行,它们对于大量的不同应用都可以提供快速的市场进入及成本优势。

集成开发环境支援策略
ColdFire产品系列开发工具相对于其竞争者是一主要的优势,摩托罗拉继续提供一系列开发工具解决方案给客户。你能找到像是自动68K-ColdFire处理机转换器或从MicroAPL公司获得一个免费的仿真库(有授权同意书) 等工具 ,摩托罗拉正在与有兴趣我们产品的第三方公司,组织建立合作关系以进一步加强我们的开发应用。我们的目标要给客户提供更大范围的开发工具选择。

结论
ColdFire处理机是 32个位市场一个有力的竞争者。 藉由它对68K的优异继承 ,极具杀伤力的价格/性能比,高度集成的标准产品,以及包罗万象的开发工具支持 , 摩托罗拉的ColdFire结构将会驱动68K系列产品整合到未来。

NO.X
MCF5485: 整合的ColdFire 4 版微控制器
MCF5485微处理机是MCF548x引脚兼容的ColdFire系列产品。它基于ColdFire V4e核心并且包括对以太网络,CAN,USB,PCI 和其他的外围设备的连接介面。此外,这一个装置也提供一个加密编码加速器给网络控制应用程序应用于网络加密通讯。这一 MCF548x 系列产品也将获得摩托罗拉本身以及第三方开发者的大量的开发工具,服务,软件。

MCF5485 Features:
V4e ColdFire core with MMU, dual precision FPU and EMAC - delivering 410 (Dhrystone 2.1) MIPS at 200 MHz
32 KB I-Cache, 32 KB D-Cache
32 KB on-chip system SRAM
Four 32-bit timers, two 32-bit slice timers, one watchdog timer
Hardware-acceleration encryption (DES, 3DES, RC4, AES, MD5, SHA-1, RNG)
32-bit 133 MHz DDR/SDR-SDRAM Controller
1.5V core, 2.5V DDR, 3.3V I/O voltages

Connectivity Functionality:
Two 10/100 Fast Ethernet Controllers (FECs)
Two CAN Controllers
USB 2.0 high speed device with integrated PHY
32-bit v2.2 PCI interface; 33/66 MHz; five external masters
DSPI - SPI with DMA capability
I2C interface
16-channel DMA controller

Availability
388 PBGA package
Operation at -40C to +85C

MCF5206: 整合的 ColdFire 微处理机
MCF5206整合微处理机将ColdFire处理机核和一些周边功能,像是DRAM控制器,定时器 ,并行和串行连接介面等集成。设计用于嵌入式控制应用程序,在维持低的系统费用的时候 ,ColdFire核递可以提供较强的效能。为了加速程序运行,片上指令高速缓存和SRAM提供对关键代码和数据的单一周存取。通过将通用功能集成在片上并提供8,16,32位的DRAM, SRAM, ROM and I/O的接口,MCF5206处理机大大减少了系统设计和生成的时间。

MCF5206 Features
Static VL-RISC ColdFire Core
17 MIPS @ 33 MHz
512-byte Instruction Cache
512-byte On-Chip SRAM
DRAM Controller
Two Universal Synchronous/Asynchronous Receiver/Transmitters (UART)
Dual Multimode Timers
I2C-Compatible Bus
Debug Module
Low-Cost 160-Pin QFP Package
Fully Static 5V Operation
8-bit general-purpose parallel I/O port
Available in 16 MHz with Power Dissipation (Typical) 388 mW
25 MHz with Power Dissipation (Typical) 554 mW
and 33 MHz with Power Dissipation (Typical) 722 mW

MCF5272: 整合的 ColdFire 2 版微处理机
MCF5272 微处理机是一个高度整合的ColdFire微处理机,提供一系列新的通信周边设备, 像是一个10/100 以太网络控制器和一个万用串列总线模组,同时它也保留在早先的 ColdFire 标准产品上流行的通用外设接口。基于 2 版 (V2) ColdFire核心,它也能达成最高的 V2 效能, 63 Dhrystone 2.1 MIPS在66 MHz。

MCF5272 Features
1KB I-cache
4KB SRAM
Multiply-Accumulate Unit (MAC)
Hardware integer divide unit
Debug module - background and real time
Doze mode
Integrated processor:
IEEE 802.3 compliant 10/100 Fast Ethernet Controller (FEC),
with dedicated DMA
USB 1.1 device controller and transceiver
4 2B+D TDM ports
HDLC software module
QSPI
SDRAM controller
3 PWM outputs
2 UARTs
1-channel DMA
8 chip selects
16-bit general purpose I/Os
4 16-bit timers SW watchdog timer
 楼主| 发表于 2004-5-18 14:01:35 | 显示全部楼层

NO.2 uclibc

uClibc
嵌入式Linux系统的C函数库
uClibc(这么发音:油C libc)是嵌入式Linux操作系统系统的C语言程序库。它相对GNU的C语言程序库小巧的多,但是几乎所有被glibc支援的应用程序也可以很好的工作于uClibc 。典型地从glibc到uClibc移植应用程序仅仅包括重新编译源程序码。uClibc甚至支持共享库和线程机制。它现在可以运行于标准的Linux或没有存储器管理单元的Linux系统,比如uCLinux,运行平台包括i386 ,i960 , h8300 ,m68k ,mips/mipsel ,PowerPC ,SH ,SPARC 和v850处理机。

如果你正在构筑一个嵌入式Linux操作系统系统,而你发现glibc正在消耗大量的内存空间时,你可以考虑使用 uClibc。如果你正在组建12TB存储容量的文件服务器, 那么使用glibc可能更有感觉。除非,举例来说,12TB字节将会是网络附加储存(NAS),而你计划将Linux操作系统烧进固件内。。。

uClibc由Erik Andersen维护并且在GNU程序库函数GPL执照之下许可使用。 该执照允许你在商业应用程序使用uClibc。(请考虑分享你赚的一些钱 ;-). 你不分送你所有的源程序码仅仅因为你使用uClibc及[或]涉及Linux操作系统。你可以进一步查看FAQ列表。
 楼主| 发表于 2004-5-18 14:04:10 | 显示全部楼层

NO.3 BusyBox

语法
BusyBox <function> [arguments...]  # or

<function> [arguments...]          # if symlinked
描述
BusyBox 联合许多通常的UNIX操作系统公用程式的缩微版本进入一单一可执行程序。 它为GNU核心工具程序,linux实用工具程序等提供一个最低限度的替代品。BusyBox内的公用程式通常比他们的GNU里对应命令程序有相对少的选择项;然而,被包括在内的选项提供了预期的功能,并且非常像他们的GNU里类似版本。

BusyBox 在优化大小和资源限制的思想下写就。它也被模块化,如此你在编译时能自由选择包括或去除某个指令(或功能)。 这使构建你自己的嵌入系统更容易。为了产生一个工作系统,仅仅需要 /dev,/etc, 和一个 Linux系统内核。 BusyBox 提供一个完全地的 POSIX 环境给任何的小或嵌入式系统。

BusyBox 是非常容易配置的。这允许你只包括你需要的单元,藉此减少二进制文件的大小。 运行 'make config' 或 'make menuconfig' 选择你需要的功能。 运行 'make' 用你的配置来编译 BusyBox 。

在编译完成后, 你应该使用 'make install' 安装 BusyBox。 这将会安装 '/bin/busybox'二进制文件, 并产生所有你预先定义好的实用工具的符号链接,这些了链接将指向 '/bin/busybox' 。缺省情况下,'make install' 将会将这些符号链接放在 './_install'目录,除非你在'PREFIX'中定义了其他位置, (也就是,'make PREFIX=/tmp/foo install'). 如果你想使用硬链接, 并不使用缺省的符号链接, 你可使用 'make PREFIX=/tmp/foo install-hardlinks'。

用法
BusyBox 是一个多呼叫(multi-call)二进制程序。一个多呼叫程序集成了多个实用工具的功能在同一个可执行程序上。 意思就是只有一个 BusyBox 二进制程序,但是这个单一二进制程序可以运行地象有多个实用工具。因为这些内建的程序(我们称他们小程式)可以共享一些通用代码,从而使得整个 BusyBox 看起来很小。

你可以将你需要的命令作为BusyBox的一个参数来使用BusyBox。例如,
                 
                /bin/busybox ls

将使BusyBox完成 ls 的功能。

当然,每次使用都需要将 '/bin/busybox' 加入到命令中实在很痛苦,所以很多人使用到BusyBox的符号链接。

比如,敲入
       
          ln -s /bin/busybox ls
        ./ls

将使BusyBox可以直接使用‘ls'(前提使'ls'已被编译进BusyBox)。通常你并不需要全部手工做这些链接,因为在你"make install"时BusyBox将为你做好这些事情。

如果你不使用任何参数来调用BusyBox,它将显示所有编译进BusyBox的小程式名。

命令
现已定义的功能包括:
            addgroup, adduser, adjtimex, ar, arping, ash, awk, basename, bunzip2,
        busybox, bzcat, cal, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp,
        cp, cpio, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser,
        devfsd, df, dirname, dmesg, dos2unix, dpkg, dpkg-deb, du, dumpkmap,
        dumpleases, echo, egrep, env, expr, false, fbset, fdflush, fdformat, fdisk,
        fgrep, find, fold, free, freeramdisk, fsck.minix, ftpget, ftpput, getopt,
        getty, grep, gunzip, gzip, halt, hdparm, head, hexdump, hostid, hostname,
        httpd, hush, hwclock, id, ifconfig, ifdown, ifup, inetd, init, insmod,
        install, ip, ipcalc, iplink, iproute, iptunnel, kill, killall, klogd, lash,
        last, length, linuxrc, ln, loadfont, loadkmap, logger, login, logname,
        logread, losetup, ls, lsmod, makedevs, md5sum, mesg, mkdir, mkfifo,
        mkfs.minix, mknod, mkswap, mktemp, modprobe, more, mount, msh, mt, mv,
        nameif, nc, netstat, nslookup, od, openvt, passwd, patch, pidof, ping,
        ping6, pipe_progress, pivot_root, poweroff, printf, ps, pwd, rdate,
        readlink, realpath, reboot, renice, reset, rm, rmdir, rmmod, route, rpm,
        rpm2cpio, run-parts, rx, sed, seq, setkeycodes, sha1sum, sleep, sort,
        start-stop-daemon, strings, stty, su, sulogin, swapoff, swapon, sync,
        sysctl, syslogd, tail, tar, tee, telnet, telnetd, test, tftp, time, top,
        touch, tr, traceroute, true, tty, udhcpc, udhcpd, umount, uname,
        uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode,
        vconfig, vi, vlock, watch, watchdog, wc, wget, which, who, whoami, xargs,
        yes, zcat
 楼主| 发表于 2004-5-18 14:06:42 | 显示全部楼层

NO.4 tinylogin

名字

tinylogin -一个管理用户登陆和帐号管理的多功能程序

概要

tinylogin <function> [arguments...]   # or

<function> [arguments...]             # if symlinked

描述

TinyLogin 是在嵌入式系统上用来处理用户登入,验证身份,修改用户密码并维护用户和组结构的一套Unix公用程序集。它也提供阴影口令来提高系统安全性。 TinyLogin,如名字暗示,是非常小的,在嵌入式系统上它是BusyBox的一个极好的功能互补。当然,它不需要 BusyBox 就可以用,但是我能想像大部份时间他们正在被一起用。

为什么像 tinylogin 这种东西有用呢?

    [andersen@slag]$ du -ch `which addgroup adduser delgroup deluser getty login passwd su sulogin`
    0   /usr/sbin/addgroup
    24k /usr/sbin/adduser
    16k /sbin/getty
    36k /bin/login
    28k /usr/bin/passwd
    24k /bin/su
    12k /sbin/sulogin
    140k        total

    [andersen@slag]$ ls -sh ./tinylogin
    40k ./tinylogin*

如上所示。

TinyLogin 是一打相关程序的有趣混合。它由 Sean Bastille <hightide@ginch.org> 在1998年版的影子口令工具集的基础上首次修补,可从此处下载: ftp://ftp.ists.pwr.wroc.pl/pub/linux/shadow/ 。TinyLogin 基于用作 BusyBox 建造系统,启动它的子应用程序的方式已经被完全重写,主要代码也已由 Erik Andersen 重写使内部一致,也使用了更少的全局变量。

TinyLogin 可在GNU GPL 下分发用使用,并附加影子口令工具集的特别条款(允许我在 GPL 下面做将来版本的 BSD 风格执照)。

HACKING
TinyLogin, 像 BusyBox 一样,已经被模块化可以允许你灵活的构建你需要的功能单元,从而使最终得到的二进制文件较小。简单的编辑 Config.h ,用 C++风格的注释符号(//),注释掉不需要的功能单元。

在编译完成后,将产生一个 tinylogin.links 文件。它将在‘make install’ 过程中产生所有 tinylogin 内部功能函数的符号链接。缺省情况下 ,'make install' 将会把这些符号链接全部放置在 pwd/_install 目录,除非你在 PREFIX 中预先定义了安装环境变量。

使它工作

我时常收到一些人的电子邮件问到它的 tinylogin 为什么不工作。 它们几乎总是在编译时的 Makefile 选择了 "USE_SYSTEM_PWD_GRP=true",而且他们正在使用GNU 的 Libc库, 没有安装 /etc/nsswitch.conf,或者错误地配置了他们的 /etc/nsswitch.conf 文件, 或虽然正确地配置了/etc/nsswitch.conf 文件但是没有安装GNU Libc库需要的函数库.( 这个由 /etc/nsswitch.conf 文件的内容决定) 为了避免这些问题, 我推荐除非有一个非常好的理由, 你应该总是使 Makefile 中 "USE_SYSTEM_PWD_GRP=false"。 这将使 tinylogin 直接使用系统的口令[字] 和组文件。 这样,你就可全然不必为 GNU Libc 的 NSS 担忧(藉此将使你的嵌入系统更小)。如果你非要使用 GNU libc NSS 作为你的用户验证单元,你必须在 /etc/nsswitch.conf 文件中包括下列各项:
# /etc/nsswitch.conf
  # Note that if you are doing networking,
  # other entries will also be needed.
  passwd:         compat
  group:          compat
  shadow:         compat
此外,你也需要将函数库 /lib/libnss_compat 包含进来,以便使GNU libc在需要的时候能找它(它是被动态载入的, 因此 'ldd' 将不告诉你你是否需要它——这就是我需要写这个整个手册来告诉你的原因). 如果你做得更复杂, 比如验证身份是由远程 LDAP 数据库完成,tinylogin 能使用GNU libc NSS 很好的完成它得配置安装工作,但是设定和使用是你的问题, 不是我的。

命令

现已定义的函数功能包括:
adduser, addgroup, deluser, delgroup, login, su, sulogin, passwd, getty

作者

Erik Andersen <andersen@codepoet.org>
Sean Bastille <hightide@ginch.org>
John Beppu <beppu@codepoet.org>
Julianne Frances Haugh <jockgrrl@austin.rr.com>
 楼主| 发表于 2004-5-18 14:10:41 | 显示全部楼层

下集预告:ColdFire &amp; uClinux FAQ

~~~
发表于 2004-5-18 18:43:19 | 显示全部楼层

辛苦兄弟了!

大家有好的资料拿出来啊!
 楼主| 发表于 2004-5-18 22:32:09 | 显示全部楼层

NO.5 ColdFire &amp; uClinux FAQ

Q. 为什么?
用摩托罗拉 ColdFire 处理机建立有力的,网络的, 嵌入式系统。 Linux操作系统,藉由它优良的网络功能和大量的各类软件,是建立高阶连网产品的完美平台。

Q. ColdFire 是啥玩意?
ColdFire 是来自摩托罗拉的微处理机的最新系列产品。 在 1994 年首先发表,ColdFire 根据嵌入式用户市场的需求包含了革命性的变长精简指令系统架构(RISC architecture)。它是以前较成熟的 68 k 结构的优化设计,移除了一些不常用的指令和较慢的寻址模式。 想获得更多的信息,请访问摩托罗拉 ColdFire 网站。

Q. 使用LINUX的哪个版本
一个稳定的, 久经测试的版本大概在 2.0.39. 也有 uClinux 的一个非常稳定的版本基于 2.4.20个 Linux操作系统内核。 关于uClinux的概述和一些特定信息请访问uClinux的官方网站。

Q. 现在运行在什么上面?
现在支持的平台有;
Arnewsh Inc SBC5206 开发板
Arnewsh Inc SBC5307 开发板
Motorola M5206eLITE 开发板
Motorola M5206C3 开发板
Motorola M5249C3 开发板
Motorola M5272C3 开发板
Motorola M5307C3 开发板
Motorola M5407C3 开发板
SnapGear (also NETtel and SecureEdge) 路由器平台
Moreton Bay eLIA 5307 based 开发板
Netburner CFV2-40 开发板

Q. 它免费吗?
所有的源代码是免费的。大部分在GNU GPL 下被许可, 一些是 LGPL,还有一些是 BSD 风格的许可 。原则上你可以随意修改源代码,基于你的修改建立产品,以及再分发源代码。但请务必读过包含在源代码里面的许可文件,特别在你修改源代码时。

Q. 是它以何种方式得到技术支持?

关于 uClinux 的有非常活跃开发社区。 因此源程序码正在积极地被开发和完善。同时在www.uclinux.org 也有一个非常有用的邮件列表。

源代码将免费提供。 除非你准备支付钱,你不用期待你将会能够得到技术支持。 有基于这些代码的卖产品和服务的公司。(举例来说 SnapGear)  

Q. 它需要怎样的 RAM/ROM 资源?
现在的配置能完全在一些DRAM 为 1 Mb 评估板上的运行。当在这些板子上载入时,大概还有300 Kbytes空闲。 在绝大多数板子上都会有 64 Kbytes 到 128 Kbytes 丢失,源于缺省的载入地址。uClinux 内核将在允许的板子上在启动时计算可得的 DRAM数量。

要使用更多工具的话你需要超过 1 Mb 的动态内存。 超过 1 Mb 将更好,4 Mb 或以上的将是充足的空间。

只读存储器并非必需。一些 Coldfire 开发板能完全地在只读存储器或FLASH上运行.( 比如 SnapGear , NETtel 和 eLIA 的板子) 许多 ColdFire 评估板也能完全在FLASH上配置并运行。

比如 SnapGear NETtel 平台有 1 Mb 的DRAM 和 4 Mb 静态随机接达存储器。 uClinux/ ColdFire 可在此平台上安稳地运行,事实上还剩许多空间可加入更多程序。uClinux 从FLASH 上面启动, 因此它是一完全独立的单位。

Q. 使用 uClinux/ColdFire 的技术细节?
如果你正在找寻使用 uClinux/ColdFire 的技术上的细节, 或其发展方面的一些信息,那你可以注意一下它的相关开发页面。

Q.下一步是什么?

在 todo 列表上的指出的内容:
通用串行总线(USB)支持
紧跟 2.5 Linux 内核开发进度
特定的厂商开发板支持

更多应用程序移植。。。

Q. 我在哪里能找到关于 uClinux 及 Coldfire 的更多资讯?

这里是发现更多信息的好站点:
嵌入式 uClinux 开发者论坛
嵌入式 uClinux 常见疑问
uClinux 的老家:www.uclinux.org
SnapGear 嵌入式 Linux操作系统

从官方CD开始
第一步 安装二进制文件
安装 uClinux 最容易的方法是使用位于 /RPMS/的 RPM 二进制文件包.

首先, 决定你的 Linux操作系统分发包正在使用的程序库,通过敲入这个命令:

#ldd/bin/ls

cd 进入适当的目录 (/RPMS/libc5 或 /RPMS/libc6) 并敲入 'make' 的 "cd". 这或许就是你所要做的安装 uClinux 的初始工作。

依赖于你正在运行哪个 Linux操作系统分发版本,你可能需要编辑 Makefile 移除依存[关系]检查,像这样:

install:

rpm -i --force --nodeps /cdrom/RPMS/libc6/m68k-coff-binutils-2.9.1-1.i386.rpm
rpm -i --force --nodeps /cdrom/RPMS/libc6/m68k-coff-gcc-2.7.2.3-1.i386.rpm

... 其他相关..

为了节省时间, 你可以抓取一个已编辑好的文件[这里]。 (它可能进一步的编辑, 关于你的光盘被安装在哪里,用的是 libc5 还是 libc6)

注意: 如果你正在使用 RedHat,你应该在安装 uClinux 之前移除你的已存在的 genromfs 软件包。

现在,'make -f [your Makefile]' 来安装位于/opt/uClinux的 uClinux 开发工具链(toolchain) ,源代码和公用程序集。

第二步 建立工作环境
现在,你将需要建立一个工作环境。 {请看手册第21页} 。建立一个工作目录, 然后在此目录下敲入'buildenv'。 现在键入 'make' 。这将拷贝uClinux的源文件并编译来产生缺省的镜象二进制文件 。 你刚刚产生的二进文件 'image.bin',就是我们在 uCsimms 上预先安装的镜像文件。

第三步 建立你自己的镜像
你要知道你的工作目录里包含一个叫做 "deftemplate.sh"的文件.这一个脚本描述了哪些二进制文件将被增加到 image.bin. 注意它只添加二进制文件。为了移除不必要的公用程式,你得将它们从模板文件中移除, 并且手工将它们从 romdisk 目录移除。在 simm 上的 ROMfs 镜像将会是 romdisk 目录的一个拷贝,因此,你应该确定 romdisk/ 只包含你需要的。 你可能要修改 romdisk/etc (rc, resolv.conf,以及其他)中的文件来使之符合你的个人需要。当你编辑了 romdisk 和模板文件,你仅仅需要在你的工作目录中远行 'make' 来建立新的 image.bin。

文件 'image.bin' 实际上是内核镜像 'linux.bin' 以及文件系统镜像 'romdisk.img'的一个串联。为了编译内核, cd 到 /opt/Uclinux/linux ,然后键入'make menuconfig'. 而后键入 'make dep', 而后 'make linux.bin'. 在你的工作目录运行'make'。

第四步 将你的镜像写入FLASH ROM
确定你的 simm 已经由串口连接到你的工作站, 而且启动了一个终端模拟器(如 minicom)。 确定你正在使用的串口配置为没有硬件或软件流量控制的 9600 bps 8 N1 模式, 而且设定调制解调器初始和重置字串为空。 当你启动你的 uCsimm 时, 你将看到 'uCbootstrap v1.x....etc,'后面跟了一个提示. 如果你已选择了一个 AUTOBOOT 暂停时间,在定时限里面按 <esc> ,你就可以输入 bootloader 的指令了。

键入 'fast' 将串口速度换成 115200 bps.(不要忘了在 minicom 中做相关改变) 在提示处键入 'rx', 从而在你的终端模拟器上开始 XMODEM 上传(minicom 的 ctrl- s) 。传输你需要的文件到模组中 ( 通常是来自你工作目录的 image.bin)。当上传完毕, 键入 'program' 将镜像文件写入ROM。键入 'go' 运行崭新的镜像文件。(不要忘了如果你重置了整个单元,你必须把你的终端模拟器设定回 9600 bps)。

注意: 如果你想从RAM 中运行你的镜像,请参看相关的FAQ。

从源代码开始
不需要CD的安装
首先, 下载一个未修改过的 2.0.38个 Linux操作系统内核 , "linux-2.0.38. tar.gz", 将它解包到 /opt/uClinux, 或你想要它在的地方。

http:// www.uclinux.org/pub/uClinux/ 下载最新的 uClinux 补丁 ( uClinux-2.0.38.1 pre7.diff.gz 在这写这段文的时候),将它解包到/opt/uClinux/linux。 然后用 'patch - p1<uClinux-2.0.38.1 pre7.diff'打上这个补丁。

下载并解包 uClinuxgcc-kit-160899.tar.gz 到 /opt/uClinux/(注意: 这一个文件只包含建立 m68k 编译器的补丁。):

下载 ( 但是不解包) binutils-2.9.1.tar.gz 和 gcc-2.7.2.3.tar.gz 到 /opt/uClinux。 'cd' 进入 /opt/uClinux/uclinuxgcc-kit-160899 ,编辑 Makefile 设定安装目录(INSTALLDIR)。 这是 uClinux 编译器将会被安装的地方。 现在键入 'make' 安装 toolchain 。 (注意: 你需保证flex,或 lex 已安装)

为了给 uCsimm 建立一个 uClinux 内核, cd 进入 /opt/uClinux/linux ,键入 'make menuconfig'。 选择需要的选项,保存,退出。 然后键入 'make dep', 接着 'make linux.bin'。

下载并解包 uC-libc-160899.tar.gz 和 uC-libm-060199.tar.bz2 到 /opt/uClinux/。进入 uC- libc 目录,键入 'make' 。 对 uC-libm 做相同的工作。这将会产生文件 libc.a 和 libmf.a 。

m68k-pic-coff 2.7.2.3的32位的 PIC 补丁 : gcc-2.7.2.3-pic-32 bit.tar.gz
这个补丁由Erwin Authried 写就并维护。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表