am335x在ubuntu下使用StarterWare编写裸机程序并在CCS中用Jlink调试
StarterWare在AM335X上的烧录运行
|
步骤: |
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
am335x在ubuntu下使用StarterWare编写裸机程序并在CCS中用Jlink调试的更多相关文章
- Ubuntu下终端Vim编写C语言程序 AAAAA
我是开虚拟机下的Ubuntu,装双系统又卸了,Ubuntu默认是不包含编辑器vim和编译器gcc.如果你是刚安装好的Ubuntu电脑,下面我们将来实现自己的第一个程序. 1.准备工作 首先进入root ...
- (一)keil4 MDK 开发环境下编写裸机程序 (参考杨铸 北航) (开发板只需要连接JLNK 就行了)
首先用的是 keil4 位与 ( F:\ARM+LINUX\MDK-ARM_v4.10.exe ) 1. 新建工程名project 为 led circle ,放在 我的文档\ l ...
- 我在 Ubuntu 下使用 Sublime 编写 python 代码时遇到并解决的问题
Ubuntu 下 Sublime 无法输入中文 解决方法如下: sudo apt-get update && sudo apt-get upgrade 克隆项目到本地 : git cl ...
- linux下对qt编写的程序进行部署
当我们完成程序设计之后,需要将可执行程序交付客户,而运行环境里面可能是没有相关支持库的,这个时候就涉及到部署的相关问题.对于我们在Linux下基于QT编写的图像处理程序,我们采用linuxdeploy ...
- ubuntu下浏览器调用本地应用程序
ubunut下浏览器调用本地应用程序需要desktop文件和scheme协议的支持,和windows 的url protocol类似,只是注册协议的方式不一样. 首先是desktop文件,里面需要加入 ...
- Ubuntu下使用linuxdeployqt打包Qt程序
写了点Qt界面程序,然而发现很难移植到其他没有安装Qt环境的电脑上运行.查资料了解到,在windows上有windeployqt程序,linux上有linuxdeployqt可以帮助我们快速打包. 1 ...
- Ubuntu下eclipse开发hadoop应用程序环境配置
第一步:下载eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz 注意:如果电脑是64位,就下载linux下的64位eclipse,不要下载32位的eclips ...
- Ubuntu下Eclipse中运行Hadoop程序的参数问题
需要统一的参数: 当配置好eclipse中hadoop的程序后,几个参数需要统一一下: hadoop安装目录下/etc/core_site.xml中 fs.default.name的端口号一定要与ha ...
- Ubuntu下编译第一个C程序的成功运行
1. 打开控制台:使用快捷键 Ctrl + Alt + T: 2. 安装gcc为C语言编译器,g++为C++ 语言编译器 sudo apt-get install g++. 3. 编辑好hello ...
随机推荐
- 简单的.editconfig文件
root = true [*] charset = utf-8 indent_style = space indent_size = 2 end_of_line = lf insert_final_n ...
- javascript中的BOM对象
1.window对象 所有的浏览器都支持window对象 概念上讲,一个html文档对应一个window对象 功能上讲,控制浏览器窗口 使用上讲,window对象不需要创建对象,直接使用 2.wind ...
- CentOS安装scp命令
scp这东西应该属于openssh-clients这个包,运行: yum -y install openssh-clients 再运行scp就可以了,再次运行: .txt 注意,scp 命令操作的两端 ...
- bzoj 3597: [Scoi2014]方伯伯运椰子 [01分数规划 消圈定理 spfa负环]
3597: [Scoi2014]方伯伯运椰子 题意: from mhy12345 给你一个满流网络,对于每一条边,压缩容量1 需要费用ai,扩展容量1 需要bi, 当前容量上限ci,每单位通过该边花费 ...
- 浅谈JavaScript的事件(事件类型)
Web浏览器能够发生的事件有很多种类型,不同的事件类型有不同的事件信息.DOM3级的事件类型主要包括:UI事件,用户与页面上的元素交互时触发:焦点事件,元素获得或失去焦点触发:鼠标事件,用户通过鼠标在 ...
- linux常用命令(不断更新)
睡眠命令(第一步可省去): 1.查看你的系统支持什么模式:cat /sys/power/state(我的系统为:freeze mem disk) 2.切换到管理员模式下,执行命令:echo " ...
- php环境搭建和第一个php程序
一.开发环境搭建 因为是初学,使用的还是非常经典的组合appserv+dreamweaver cs6; 1.1 appserv安装 appserv的安装还是非常简单的,直接双击可执行程序appse ...
- 读书共享 Primer Plus C-part 4
第四章 字符串和格式化输入输出 关于printf - 左对齐 #include<stdio.h> void main() { char str [100] = "liuchua ...
- Zabbix Agent active主动模式监控
zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下: 1.当被监控端到达一个量级的时候,Web操作很卡,容易出现502 2.图 ...
- Python自动化--语言基础7--操作日志、加密、发送邮件、线程、生产者消费者
1.操作日志 logging.basicConfig:日志的统一处理器,对日志的输出格式和方式做配置日志级别等级CRITICAL > ERROR > WARNING > INFO & ...