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 ...
随机推荐
- Eclipse导入servlet项目报错
Eclipse导入servlet项目,缺少servlet的jar包,导致项目报错. 解决: step1:选中项目->properties step2:选择的Targeted Runtimes s ...
- 《深入理解Java虚拟机》——Java内存区域与内存溢出异常
程序计数器(Program Counter Register):一块较小的内存空间,可看作是当前线程所执行的字节码的行号指示器.字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令 ...
- sublime插件AndyJS2安装教程
1.下载AndyJS2包,已整理上传,下载AndyJS2.rar,附上网址.(https://github.com/jiaoxueyan/AndyJS2) 2.点击首选项(preference)=&g ...
- WPF---Xaml中改变ViewModel的值
在开发中遇到实现如下需求的情景:一个输入框,旁边一个清空输入的按钮,当输入框中有内容时显示清空按钮,点击该按钮可以清空输入框内容,当输入框中无内容时隐藏按钮 当然这个需求使用wpf的绑定功能很容易实现 ...
- GO开发:接口
接口 接口定义 Interface类型可以定义一组方法,但是这些不需要实现.并且interface不能包含任何变量. type example interface{ Method1(参数列表) 返回值 ...
- 一个很好的MySQL在线学习平台
一个很好的MySQL在线学习平台 https://www.techonthenet.com/sql/
- 从Vue.js源码角度再看数据绑定
写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出.文章的原地址:https://github.com/an ...
- SpringMVC+FreeMarker实现静态资源文件自动添加版本号(md5)
近日切换java开发,开始学习springframework.在实现静态资源文件自动计算版本号的实例时,因为不熟悉框架,走了不少弯路,好在最终解决了问题.这里写篇文章记录一下实现,也希望对大家有些用处 ...
- Linux服务器上安装MySql数据库(默认安装,密码为空),首次使用需要修改密码
1,在/etc/my.cnf末尾 加入skip-grant-tables,保存,跳过身份验证. 2,重启MySql,使刚才修改的配置生效. 3,终端输入mysql,然后再输入use mysql; 4 ...
- hdu 2047递推
A[N]表示以E或者F结尾的情况下的方案数,B[N]表示以O结尾的情况下的方案数,F[N]=3*A[N-1]+2*B[N-1] 同时,A[N]=2*B[N-1]+2*A[N-1],B[N-1]=A[N ...