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 ...
随机推荐
- 【原创】Hibernate通过实体类自动建表时type=MyISAM的问题
ι 版权声明:本文为博主原创文章,未经博主允许不得转载. 当使用的mysql数据库为5.5版本时,方言需要设置为 <property name="hibernate.dialect&q ...
- css选择器:nth-child()与:nth-of-type()的差异
:nth-child()和:nth-of-type()都是Css3中的伪类选择器,其作用相似却又不完全相同. 名词解释 :nth-child()选择器匹配其父元素的第n个子元素,不论元素类型. :nt ...
- php动态编辑zlib扩展
linux系统上,在php已经编译安装的情况下,启用zlib扩展不是那么容易,需要动态编译 以下是编译步骤: cd ./ext/zlib mv config0.m4 config.m4 /usr/lo ...
- CF798E. Mike and code of a permutation [拓扑排序 线段树]
CF798E. Mike and code of a permutation 题意: 排列p,编码了一个序列a.对于每个i,找到第一个\(p_j > p_i\)并且未被标记的j,标记这个j并\( ...
- 编写服务器程序时遇到的connect:no route to host的问题
亲测,,ftp服务器:在一台虚拟机上,没有问题.但是在不同的计算机或虚拟机上就会出现这种错误提示.一般是linux防火墙的问题 解决方法: 关闭linux防火墙 在root账户下 命令行:servic ...
- Codewars练习
记录一下比较聪明的codewars练习题解决方案,不得转载. 2017/12/19 You will be given a string and you task is to check if it ...
- PHP生成图片验证码、点击切换实例
http://www.jb51.net/article/51506.htm 现在让我们来看下 PHP 代码 复制代码代码如下: <?php session_start();function ra ...
- JQuery 验证框架
设计完美,可扩展性好,以后就用他了. http://docs.jquery.com/Plugins/Validation /**//** * @author ming */ $(document) ...
- openvpn 客户端一键脚本安装
#!/bin/bash dir=/etc/openvpn#file=AD00012basepath=$(cd `dirname $0`; pwd)PACKAGE_DIR="${basepat ...
- MySQL事务处理案例演示
<?php $mysqli=new mysqli("localhost", "root", "123456", "xsphp ...