摘自:https://blog.csdn.net/mao0514/article/details/46545843
裸机开发经验教程:https://blog.csdn.net/szhebin/article/details/79728099
StarterWare在AM335X上的烧录运行
步骤: 1、下载安装StarterWare,我们团购的SK需要02.00.00.07版本。最近外网访问慢,我上传到论坛。 2、找一张miniSD卡,不需要很大,系统只有几个M而已。 3、如果你按默认路径安装,那请去C:\ti\AM335X_StarterWare_02_00_00_07\tools\sd_format下面执行TI_SDCard_boot_utility_v1_0.exe 4、在路径 C:\ti\AM335X_StarterWare_02_00_00_07\binary\armv7a\cgt_ccs\am335x\evmskAM335x\bootloader 选好MLO 5、在路径C:\ti\AM335X_StarterWare_02_00_00_07\binary\armv7a\cgt_ccs\am335x\evmskAM335x\demo 选择APP 6、执行,格式化并拷贝。 7、把mini-sd放到SKit上运行即可 |
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。
当然大家还可以用TI的CCS IDE。
如果要使用CCS进行StarterWare开发,在安装CCS时,要选上TI的ARM 编译器。
我们可以通过File->Import ..-> Import eisting CCS project
project路径在~/AM335X_StarterWare_02_00_01_01/build/armv7a/cgt_ccs目录下,project文件是隐藏的,在ubuntu下按Ctrl+H键可以看到隐藏文件
比如我import了了上面说的gpioproject
由于打开的CCS project默认有Debug和Realse两个版本,默认Debug版本为Active状态
如果直接build project会出错,原因是因为Build时有lib文件链接,而在StarterWare的Debug下的lib需要自己生成。
所以我们需要先Import platform drivers等(最好把全部的lib都用Dedug模式Build一遍)lib project,先生成Debug下的LIB文件。
这样之后就会Build前面的DEMO工程的Debug版了
而realse版本默认已经有LIB文件了,所以不需要该无聊的步骤了。
在CCS下使用JLINK调试BeagleBone-Black的StarWare
可以参考
需要安装CCS的Jlink插件
http://processors.wiki.ti.com/index.php/J-Link_Emulator_Support#Installation
至于怎么配置,可以看下面的网页
http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/21227.aspx
开发环境搭建:
M335x运用starterware裸机运行环境搭建:
Host:win7
Target:AM335x
编译环境:CCSv5.5
调试工具:XD100V2 USB Emulator (JTAG接口)
CCS是TI针对DSP和ARM系列芯片开发的基于Eclipse的集成调试环境,有windows和linux两个版本,AM335x系列芯片较新,只有CCS5.4及以上的版本的开发环境才支持,这里以CCSv5.5的win7版本说明环境的搭建加载starterware过程中可能碰到的一些问题。
首先我们需要下载CCS并安装。TI官网下载地址
http://processors.wiki.ti.com/index.php/Download_CCS
TI提供了Web installers 和Off-line installers两种方式安装,在线安装方式可能会受到网速等影响安装不正确,建议将源文件下载到本地安装,进入安装向导后里面有选择安装对应芯片的软件,上面有TI全系列产品软件,根据实际需要选择对应的安装可有效节约时间。
安装好软件之后需要破解,要不然加载starterware和build会出错误
破解方法:许可证lic文件,拷贝到/ccsv5/ccs_base/DebugServer/license 下面,来源于http://download.csdn.net/detail/hbhuang_nj/6796833
在CCS中加载starterware:可能有很多人不太熟悉Starterware这个软件,这是TI公司提供的软件包,类似于库函数,里面以工程为单位提供了对应芯片的所有片内外设基本操作源码,对于初学者还是有较大的参考价值。
在加载starterware前我们需要安装AM335X_StarterWare,可以到TI官网下载安装,下载地址:http://www.ti.com/tool/starterware-sitara
根据向导安装好之后,打开CCS 在file菜单下Import->code composer studio->Existing CCS Eclipse Projects
Next 进入在Browse下加载starterware安装目录下的AM335X_StarterWare_02_00_01_01文件夹,在Discovered projects下可以看到加载的工程,选择需要加的工程选择Auto后Finish,在CCS Project Explorer下可以看到我们刚加载的工程。
在CCS Project Explorer下选中工程右键clean project 在建立build project可能会存在unresolved symbol Entry 这样的错误
这是由于库函数找不到连接不成功的原因,在右键工程 PROPERTIES / BUILD/ ARMLINKER /FILE SEARCH PATH下可以看到我们所添加的库和头文件path
解决方法,根据错误提示添加PATH就好了,我们可以找到安装文件下\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\evmskAM335x\platform\Debug没有我们需要的platform.lib库在Release目录下有,将platform.lib考到Debug下,再将其他没找到的库函数加进去,再clean project
buildproject 就能连接成功生成.out和.bin执行文件。
现在我们工程的编译和连接算是完成了,但还没和目标板建立连接,在CCS中与目标板建立连接需要一个配置文件Target Configuration文件,在View菜单下选择Target Configuration,在Target Configuration下右击User Defined->Newtarget configuration
Finish选择target型号和仿真器类型之后save ->Test connection连接成功会在test connection窗口出现succeeded 不成功会提示faild
成功之后就可以仿真了,在run下Debug(F11)进入仿真页面,
在CortexA8(Suspended)下右键connect target 就可以通过Register窗口查看和修改寄存器的值了
TI官方烧写步骤:https://processors.wiki.ti.com/index.php/AM335X_StarterWare_Booting_And_Flashing