ELDK中文开发手册文档格式.docx
- 文档编号:21736822
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:17
- 大小:26.26KB
ELDK中文开发手册文档格式.docx
《ELDK中文开发手册文档格式.docx》由会员分享,可在线阅读,更多相关《ELDK中文开发手册文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
从以下服务器中下载
FTP方式
ftp:
//mirror.switch.ch/mirror/eldk/eldk/
ftp:
//sunsite.utk.edu/pub/linux/eldk/
//ftp.sunet.se/pub/Linux/distributions/eldk/
//ftp.leo.org/pub/eldk/
HTTP方式
http:
//mirror.switch.ch/ftp/mirror/eldk/eldk/
//ftp.sunet.se/pub/Linux/distributions/eldk/
//archiv.leo.org/pub/comp/os/unix/linux/eldk/
3.2初始安装
初始安装可以使用放在ELDK目录树根目录下的安装工具。
安装工具使用语法如下;
$./install[-d<
dir>
][<
cpu_family1>
cpu_family2>
]…
-d<
确定ELDK安装在哪个目录。
如果省略ELDK会安装在当前目录。
<
cpu_family>
确定目标平台的CPU。
如果此项设置了一项以上的参数,则会将这些CPU的支持都安装。
如果省略将会安装所有CPU的支持。
你也可以把ELDK安装到任何空目录下,这么做的唯一条件是你有那个目录的写和执行权限。
安装过程并不需要超级用户的特权。
由安装时的参数决定安装几个目标组件集合。
ELDT包是肯定会安装的。
$exportCROSS_COMPILE=ppc_4xx-//加入环境变量
$PATH=$PATH:
/opt/eldk/usr/bin:
/opt/eldk/bin//加入PATH
这样加入的话,每次重启系统后必须重新加入,一劳永逸的办法是编辑/root/.bashrc
加上
exportCROSS_COMPILE=ppc_4xx-
exportPATH=$PATH:
/opt/eldk/bin
重启系统后即可使用ELDK。
4.系统设置
在目标平台上安装和配置U-Boot和Linux需要一些工具。
特别是在开发过程中,你需要和目标平台保持联系。
这一节将告诉你如何配置你的主机以达到上述目的。
4.1设置串口
为了更好地使用U-Boot和Linux,你需要通过串口将目标板和你的主机连接。
U-Boot和Linux可以配置成自动执行而不需要任何用户的干涉。
通过串口有很多种方法来控制你的目标板,比如说使用终端服务器。
不过最常见的做法是使用你本机的串口,这时,你主机需要安装一个终端程序,如cu或者kermit。
4.2配置“kermit”
kermit这个名字就代表了它是连接串口和网络的通信软件。
事实上在很多计算机和操作系统上使用它,能够很好地满足我们的目的。
kermit在执行其它命令之前,会执行你的用户目录下的初始文件.kermrc,所以可以非常简单的通过初始化命令来定制kermit。
下面是使用U-Boot和Linux时推荐配置:
~/.kermrc:
setline/dev/ttyS0
setspeed115200
setcarrier-watchoff
sethandshakenone
setflow-controlnone
robust
setfiletypebin
setfilenamelit
setrecpack1000
setsendpack1000
setwindow5
这个设置假定你使用的是主机第一个串口(/dev/ttyS0),以115200这个波特率与目标板的串口连接。
然后你可以连接目标板了:
$kermit-c
Connectingto/dev/ttyS0,speed115200.
TheescapecharacterisCtrl-\(ASCII28,FS)
TypetheescapecharacterfollowedbyCtogetback,
orfollowedby?
toseeotheroptions.
—————————————————-
下载kermit这个软件时,你会发现有两个kermit包。
你只需要安装ckermit。
其中gkermit仅仅是实现kermit传输协议的一个命令行工具。
如果你主机上的Linux系统没有安装kermit,你可以到kerimt的官方网站http:
//www.columbia.edu/kermit/下载。
4.3使用minicom
minicom是另外一种非常流行的串口通信终端。
很遗憾的是,很多用户发现在使用U-Boot和Linux时,minicom有很多问题,尤其是试图使用它来下载image的时候。
因此,不推荐大家使用minicom。
4.4配置TFTP服务器
使用U-Boot下载Linux内核或者应用程序的最快捷的方法是通过网络传输。
为了这一目的,U-Boot实现了TFTP协议(参见U-Boot中的tftpboot命令)。
为了使主机支持TFTP,你必须确保TFTP后台程序/usr/sbin/in.tftpd已经安装。
在RedHat系统中,你可以运行下面的命令来确认:
$rpm-qtftp-server
如果没有安装,请从你的Linux安装盘或者其它媒介安装。
大多数的Linux发行版都默认关闭TFTP服务。
以RedHat系统为例,如果要使能TFTP服务,编辑文件/etc/xinetd.d/tftp,移除这一行:
disable=yes
或者注释掉它,或者修改disable=no
此外,确保/tftpboot目录存在,而且有访问权限(至少应该"
dr-xr-xr-x"
)。
5.DasU-Boot
5.1当前版本
DasU-Boot(或者简称“U-Boot”)是针对嵌入式PowerPC,ARM,MIPS和x86处理器的开放源代码软件。
U-Boot项目已经在Sourceforge设立,你可以访问这个官方网站:
//www.denx.de/wiki/UBoot
U-Boot最新版的源代码可以在Sourcefoge通过匿名CVS得到。
当要求输入匿名用户anonymous的密码时只需要直接按下回车键。
$cvs-d:
pserver:
anonymous@www.denx.de:
/cvsrootlogin
$cvs-z6-d:
/cvsrootco-Pu-boot
官方发布的U-Boot也可以通过FTP方式获取。
你可以到ftp:
//ftp.denx.de/pub/u-boot/下载tar形式的压缩包。
或者通过git的方式获取:
gitclonegit:
//www.denx.de/git/u-boot.gitu-boot/
gitclonehttp:
gitclonersync:
5.2源代码包的解压
如果你是通过CVS得到的U-Boot源代码,你可以跳过这一步,因为你得到的已经是解压后的目录树了。
如果你是从FTP服务器上下载的tar压缩包,那么你需要按照以下步骤解压:
$cd/opt/eldk/usr/src
$wgetftp:
//ftp.denx.de/pub/u-boot/u-boot-1.3.2.tar.bz2
$rm-fu-boot
$bunzip2<
u-boot-0.4.5.tar.bz2|tarxf-
$ln-su-boot-0.4.5u-boot
$cdu-boot
5.3配置
$exportBUILD_DIR=/opt/eldk/build//指定编译的输出目录
进入U-Boot源代码根目录后,可以先使用如下命令确保已经清除以前编译的结果:
$makedistclean
下一步是为Makalu板配置U-Boot:
$makemakalu_config
(译者注:
应该根据你自己的具体开发板配置,如$make<
yourboard>
_config,如果没有相应的开发板,应该自己照着建立相应的目录和配置文件。
)
最后我们可以开始编译U-Boot了:
$makeall
5.4安装
5.4.1动手之前
5.4.1.1安装所需
以下的章节假定你的开发板使用flash作为存储设备。
如果不是,则以下的指令不会工作。
如果你想使用U-Boot,需要换掉存储设备。
5.4.1.2开发板识别数据
所有的Makalu开发板使用一个序列号加以识别。
而且开发板需要分配一个以太网MAC地址。
如果这些数据丢失,你可能会失去授权。
在安装U-Boot或者改变开发板的配置之前,你需要搜集足够的信息。
5.4.2使用BDM/JTAG调试器安装U-Boot.bin
把数据烧入flash中的一个简单而又快速的办法是通过BDM或者JTAG接口的调试器或者flash烧写器。
当flash中没有任何数据(比如说一块新的开发板),这种方法是唯一的选择。
我们(强烈推荐)使用Abatron公司的BDI2000(见http:
//www.abatron.ch/BDI/bdiGDB.html)。
其它的BDM/JTAG调试器也可以使用,但是如何操作它们不是本文档要讨论的范围。
如果你想使用别的工具请参照它们的说明文档。
(我没有使用BDI2000,故略去操作BDI2000的方法。
我烧写u-boot.bin就是简单地通过JTAG口。
5.4.3使用U-Boot安装U-Boot.bin
如果U-Boot已经在你的板子上安装运行,你可以使用这些命令来下载新的U-Boot映像来代替当前的。
警告:
在你安装新的映像之前,你必须擦除当前的u-boot.bin。
如果出现什么差错,你的开发板将不能运行。
因此强烈建议:
做一个能工作的U-Boot映像文件的备份;
你清楚如何在一个新的开发板上安装u-boot.bin。
过程如下:
=>
tftp100000/tftpboot/uboot.bin
ARPbroadcast1
TFTPfromserver10.0.0.2;
ourIPaddressis10.0.0.100
Filename””/tftpboot/uboot.bin””.
Loadaddress:
0×
100000
Loading:
###############################
done
Bytestransferred=155376(25ef0hex)
protectoff400000004003FFFF
Un-Protected5sectors
era400000004003FFFF
EraseFlashfrom0×
40000000to0×
4003ffff
………done
Erased5sectors
cp.b10000040000000$(filesize)
CopytoFlash…done
setenvfilesize
saveenv
SavingEnviromenttoFlash…
Un-Protected1sectors
ErasingFlash…
..done
Erased1sectors
WritingtoFlash…done
Protected1sectors
reset
5.5工具的安装
U-Boot加载Linux内核、Ramdisk或者其它映像时使用一种特殊的映像格式。
这种格式包含了一些信息,如创建时间、操作系统、压缩格式、映像类型、映像名和CRC32校验和。
mkimage用来创建这种格式的映像文件或者显示它包含的信息。
如果使用ELDK,那么mkimage这个命令已经包含在ELDK中。
如果你不想使用ELDK,你应该把mkimage安装在某个能够直接执行的目录里,比如:
$cptools/mkimage/usr/local/bin/
5.6初始化
初始化你的Makalu板上的U-Boot,你需要通过终端连接板子的串口。
Makalu板的串口默认配置是波特率为115200/8N1(115200bps,每个字符8bit,无奇偶校验,1bit停止位,无握手)。
如果你的主机是Linux操作系统,我们建议你用kermit或者cu作为终端控制程序。
确定硬件和软件控制流都已经关闭。
5.7开始的步骤
在默认配置中,U-Boot运行在一种互动模式,它通过串口“UART1”提供命令行形式的用户接口。
这意味着U-Boot显示一个提示符(默认是:
),等待着接受用户的输入。
然后你输入一个命令,按下回车键。
U-Boot将运行这个命令,然后又出现提示符等待下一条命令。
你可以使用help(或者简单地一个?
)来查看所有的U-Boot命令。
它将会列出在你当前配置下所有支持的命令。
[请注意到尽管U-Boot提供了很多配置选项,并不是所有选项都支持各种处理器和开发板,有些选项可能在你的配置中并没有被选上。
]
help
?
-aliasfor‘help’
askenv-getenvironmentvariablesfromstdin
autoscr-runscriptfrommemory
base-printorsetaddressoffset
bdinfo-printBoardInfostructure
boot-bootdefault,i.e.,run‘bootcmd’
bootd-bootdefault,i.e.,run‘bootcmd’
bootelf-BootfromanELFimageinmemory
bootm-bootapplicationimagefrommemory
bootp-bootimagevianetworkusingBootP/TFTPprotocol
bootstrap-programtheI2CbootstrapEEPROM
bootvx-BootvxWorksfromanELFimage
cmp-memorycompare
coninfo-printconsoledevicesandinformation
cp-memorycopy
crc32-checksumcalculation
date-get/set/resetdate&
time
dhcp-invokeDHCPclienttoobtainIP/bootparams
dtt-DigitalThermometerandThermostat
echo-echoargstoconsole
eeprom-EEPROMsub-system
erase-eraseFLASHmemory
exit-exitscript
ext2load-loadbinaryfilefromaExt2filesystem
ext2ls-listfilesinadirectory(default/)
fatinfo-printinformationaboutfilesystem
fatload-loadbinaryfilefromadosfilesystem
fatls-listfilesinadirectory(default/)
fdt-flatteneddevicetreeutilitycommands
flinfo-printFLASHmemoryinformation
getdcr-GetanAMCCPPC4xxDCR’svalue
getidcr-GetaregistervalueviaindirectDCRaddressing
go-startapplicationataddress‘addr’
help-printonlinehelp
icrc32-checksumcalculation
iloop-infinitelooponaddressrange
imd-i2cmemorydisplay
iminfo-printheaderinformationforapplicationimage
imls-listallimagesfoundinflash
imm-i2cmemorymodify(auto-incrementing)
imw-memorywrite(fill)
imxtract-extractapartofamulti-image
inm-memorymodify(constantaddress)
iprobe-probetodiscovervalidI2Cchipaddresses
irqinfo-printinformationaboutIRQs
isdram-printSDRAMconfigurationinformation
itest-returntrue/falseonintegercompare
loadb-loadbinaryfileoverserialline(kermitmode)
loads-loadS-Recordfileoverserialline
loady-loadbinaryfileoverserialline(ymodemmode)
loop-infinitelooponaddressrange
loopw-infinitewritelooponaddressrange
md-memorydisplay
mdc-memorydisplaycyclic
mii-MIIutilitycommands
mm-memorymodify(auto-incrementing)
mtest-simpleRAMtest
mw-memorywrite(fill)
mwc-memorywritecyclic
nand-NANDsub-system
nboot-bootfromNANDdevice
nfs-bootimagevianetworkusingNFSprotocol
nm-memorymodify(constantaddress)
pci-listandaccessPCIConfigurationSpace
ping-sendICMPECHO_REQUESTtonetworkhost
printenv-printenvironmentvariables
protect-enableordisableFLASHwriteprotection
rarpboot-bootimagevianetworkusingRARP/TFTPprotocol
reginfo-printregisterinformation
reset-PerformRESEToftheCPU
run-runcommandsinanenvironmentvariable
saveenv-saveenvironmentvariablestopersistentstorage
setdcr-SetanAMCCPPC4xxDCR’svalue
setenv-setenvironmentvariables
se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ELDK 中文 开发 手册
![提示](https://static.bdocx.com/images/bang_tan.gif)