建立主机基本系统
玩BeagleBoard 的需要建立一个Host Computer (主机)系统,用于程序开发,编译,移植以及监控Bealgeboard上程序的运作。 通常购买的Bealgeboard都带有SD卡,上面已经写好了可以启动Beagleboard的系统(通常是一个Ubuntu 或者Armstron的Linux系统,对于第一次接触嵌入式系统开发的,最好从远程监控Beagleboard上已有程序的运行入手,然后再进行程序开发移植等较复杂的操作。
一般玩家再Beagleboard上通常用的是Linux系统,(TI是以Ubuntu 10.4 版为基础,所有相关开发、測試都是在该版本下进行的, Matlab/Simulink2012a 用的是 Ubuntu11.04, 但20121a之前的用的是Armstrong)。由于网上的技术文档也是以Linux为主,所以大部Host系统也都是Linux。所以,再用Linux之前,最好能装个双启动的系统。虽然很多人都再网上提供了用虚拟机在Windows下跑Linux,做一般的纯软件开发没问题,可是一旦涉及到硬件操作,那就很麻烦了。
基本概念:
1. Beagleboard 入门
基本概念: Native Compiler vs. Cross-compiler
native compiler (本地编译器) 是指在本地上的一个编译器,用于把(本机上的)源文件编译成可在本机或者与本机具有相同软硬件构架的其他机器上运行的可执行文件。比如, 在一台运行x86 处理器的Turbo C 编译器,可以得到一个可以在本机上运行的exe文件。把该exe文件拷贝到其他x86和相似操作系统的电脑上,也能运行。
但是,我们通常用的是x86上的Windows操作系统,可是嵌入式系统一般是ARM处理器(早期有名的嵌入式处理器是 Intel 8051),无法运行在x86机器上通过Native Compiler得到的exe文件。 这时就需要用到cross-compiler了。 A cross-compiler is one that compiles binaries for architectures other than its own, 比如在x86机器上编译得到一个Intel 8051的执行文件.bin,或者在PowerPC 上编译SPARC库。 Cross-compiler在某个软硬件平台上运行,生成的代码是用于在另一个不同的软硬件平台执行。 比如在x86上开发一个洗衣机的或者电视机的控制程序,可是这些代码是在洗衣机、电视机离运行的,不是在x86电脑上运行。
我们的目的就是如何搭建一个在Windows7下面开发BeagleBaord(ARM)代码的平台,简单的说就是搭建一个平台,使得我们能在Windows7 下面写一个hello world的c代码,然后将该代码编译成可在Beagleboard上运新的.elf文件。
下文中, 这个Windows 7的计算机被称为Host system (主机), Beagleboard被称为Target system
呵呵,写起来太累了,大家可以先去看看
http://fee.northumbria.ac.uk/nucontrol/people/dxw/projects/BeagleboardMatlab.html
我后面慢慢再写了。
No comments:
Post a Comment