在Ubuntu下使用StarterWare为BeagleBone-Black编写裸机程序


StarterWare为何物,简单说是像STM32库函数一样的东西。

StarterWare for AM335X 最新下载地址: http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/starterware/latest/index_FDS.html

注册ti帐号下载

Linux Installer StarterWare for AM335X 35416K

然后在同一个页面下载for BeagleBone-Black的patch

  Beaglebone black patch Beaglebone support files 84K

特别注意,如果用的是64位的linux,请安装ia32-libs

在/home/<user>/目录下:

修改AM335X_StarterWare_02_00_01_01_Setup.bin 为可执行 ,chmod +x AM335X_StarterWare_02_00_01_01_Setup.bin

然后输入./AM335X_StarterWare_02_00_01_01_Setup.bin进行安装

安装好后,再将下载好的BBB的patch文件StarterWare_BBB_support.tar.gz放到你StartWare的安装目录底下

解压 tar -xvzf StarterWare_BBB_support.tar.gz,这样就打好patch了,具体修改来什么文件,请看安装目录底下的doc文件BBB_support_manual

下载官方推荐的编译器,下载地址为: gcc-arm-none-eabi-4_7-2012q4-20121208-linux.tar.bz2

gcc-arm-none-eabi-4_7-2012q4-20121208-linux.tar.bz2

看个人爱好,我将编译器放在StarterWare的安装目录底下,解压 tar -xjvf gcc-arm-none-eabi-4_7-2012q4-20121208-linux.tar.bz2

个人不推荐将编译器直接添加到/etc/environment 文件,这样会搞到PATH中默认有太多编译器,在后面编译内核什么的容易造成冲突

Ctrl + Alt + T打开终端,使用export将编译器和LIB临时添加到PATH和LIB_PATH

export PATH=$PATH:/home/colordrv/AM335X_StarterWare_02_00_01_01/gcc-arm-none-eabi-4_7-2012q4/bin/

export LIB_PATH=/home/colordrv/AM335X_StarterWare_02_00_01_01/gcc-arm-none-eabi-4_7-2012q4

使用cd切换目录到~/AM335X_StarterWare_02_00_01_01/build/armv7a/gcc/am335x/beaglebone/gpio/

这下面是gpio翻转LED示例的build目录,下面有makefile

输入make命令,自动make,生成bin文件将放在~/AM335X_StarterWare_02_00_01_01/binary/armv7a/gcc/am335x/beaglebone/gpio/目录下

默认有Debug和Realse两个版本

 

下载测试步骤

找一张microSD卡,容量不要太小,我的用2G,所用官方提供的HPUSBFW.EXE格式化sd卡

然后将~/AM335X_StarterWare_02_00_01_01/binary/armv7a/gcc/am335x/beaglebone/bootloader/Release_MMCSD/MLO拷贝到SD卡根目录下

在将刚才生成的LED实验的BIN文件改名成app(注意没有扩展名)也拷贝到SD卡根目录下

插入SD到BBB上,按住boot按键,给BBB上点,LED闪烁,裸机环境搭建OK。

当然大家还可以用CSS IDE。

相关内容