am335x编写裸机程序并在CCS中用Jlink调试

摘自:https://blog.csdn.net/mao0514/article/details/46545843

https://blog.csdn.net/colordrv/article/details/20839045?depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1&utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1

裸机开发经验教程: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 InstallerStarterWare for AM335X35416K

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

 

 

 Beaglebone black patchBeaglebone support files84K

 

特别注意,如果用的是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

 

开发环境搭建:

https://blog.csdn.net/luosong1991/article/details/39009083?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

https://blog.csdn.net/zwkdvgasiufbseiufb/article/details/50135285?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2

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

 

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值