搜索
bottom↓
回复: 8

AM335x-StarterWare用户手册(二)

[复制链接]

出0入0汤圆

发表于 2018-3-28 15:00:02 | 显示全部楼层 |阅读模式
接着上一章节,继续:
《调试环境的准备》
该章主要介绍了ccs开发工具的安装、在ccs中导入starterware源码包的工程代码、开发板如何通过仿真器连接ccs三部分,这是进行调试开发的基础工作。
2.1CCS的安装

CCS 是TI 针对DSP 和ARM 系列芯片开发的基于Eclipse的集成调试环境,有Windows 和Linux 两种版本。CCStudio 包含一整套用于开发和调试嵌入式应用的工具,包括适用于每个TI 器件系列的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器、实时操作系统以及多种其他功能。下面我们将介绍CCS v5..5 集成开发环境在Windows 系统下的配置过程。
下载地址(请下载Windows 版本):http://processors.wiki.ti.com/index.php/Download_CCS

从官网上下载CCS5.5安装器后(下载时需要注册TI 账号,且只能下载在线安装器),安
装时默认路径为(C:\ti),由于为在线安装,故安装过程十分缓慢(将持续数小时),为了加
速安装过程可以在处理器选择界面只勾选AMXXXX 芯片,如下图:
安装过程一路默认即可。
安装结束后,双击桌面上的图标,打开ccs5.5软件,进行注册破解。

将安装文件夹中的安装证书TMDFCCS-ALLT90A-v5.lic(放在tools的根目录下)拷贝到刚才的安装路径对应的文件夹中。
破解成功出现以下界面。
由于CCSV5.5 自带XDS200(本教程所使用的仿真器)的驱动,故无需安装任何额外软件。
2.2导入CCS工程并编译:
1)软件包安装完成后,启动CCSV5.5,在软件界面上的菜单栏中选择Window->OpenPerspective->Other,并选择“CCS Edit”选项卡,如下图所示:
2)在菜单栏中选择View->ProjectExplorer,在Project Explorer 窗口内单击右键选择菜单Import:
弹出如下界面,选择ExistingCCS/CCE Eclipse Projects 后选择“Next”:
导入ccs中StarterWare代码的存放路径为:eac-t335_starterware\build\armv7a\cgt_ccs\am335x\eac_t335,选择Select All,最后单击Finish,如下所示:
3)同以上第二步,导入各个例程所依赖的库:drivers、system_config、usblib、mmcsdlib、nandlib、utils、grlib,它们的路径如下:
eac-t335_starterware\build\armv7a\cgt_ccs\am335x\driverseac-t335_starterware\build\armv7a\cgt_ccs\am335x\system_configeac-t335_starterware\build\armv7a\cgt_ccs\am335x\usblibeac-t335_starterware\build\armv7a\cgt_ccs\mmcsdlibeac-t335_starterware\build\armv7a\cgt_ccs\nandlibeac-t335_starterware\build\armv7a\cgt_ccs\utilseac-t335_starterware\build\armv7a\cgt_ccs\grlib说明:导入库后最好先编译这些库,再编译应用程序,因为应用程序运行时需要依赖一些库。 4)将库和例程设置为“Debug”调试模式,编译rtcClock 例程,先编译例程所依赖的库(drivers、systemconfiguration、platform),其他的库(utils、mmcsdlib、usblib、grlib、nandlib)如果被应用例程所依赖,应该先编译。编译完成后生成的可执行文件在对应的二进制目录中,如编译“rtcClock”,可执行文件路径为:eac-t335_starterware\binary\armv7a\cgt_ccs\am335x\eac_t335\rtc。各个例程编译方法相同,以rtcClock 为示例,右键单击“rtcClock”,选择“Build Configuration”设置为“Debug”
说明:编译的模式分为Debug和Release两种,调试程序阶段一般设置为Debug模式,Release是发布版本。程序调试没问题之后,正式下载到开发板中运行时,这时选择的是Release模式编译。
右键单击“rtcClock”,选择“Rebuild Project”编译rtcClock 例程:
进入eac-t335_starterware\binary\armv7a\cgt_ccs\am335x\eac_t335\rtc\Debug目录下,可看到编译好的.bin执行文件。
以上介绍的是在ccs工具中直接编译,这是编译的其中一种方式,以下简单介绍另外一种在Ubuntu编译方式: 安装Linux 交叉编译工具1)、拷贝tools 目录下的gcc-arm-none-eabi-4_7-2013q1-20130313-linux.tar.bz2文件到Ubuntu 中,并解压到/opt 目录下,命令如下tar-xvfgcc-arm-none-eabi-4_7-2013q1-20130313-linux.tar.bz2-C/opt如下图:
2)、增加编译器的环境变量,修改/etc/profile文件导出交叉编译工具路径:export PATH=/opt/gcc-arm-none-eabi-4_7-2013q1/bin:$PATH导出库路径:export LIB_PATH=/opt/gcc-arm-none-eabi-4_7-2013q1如下图:

3)、保存退出,重新启动系统,这样每次进入Ubuntu 系统,会自动增加环境变量。

安装源代码包拷贝doc目录下的eac-t335_starterware.tar.bz2到Ubuntu 的/home/cust/starterware-work 目录下,执行以下命令将源码包解压到当前文件夹(以下提到的/home/cust/starterware-work 目录都是源码包的安装目录)。tar -xvfstarterware_2013.10.tar.bz2如下图所示:
编译Bootloader程序进到目标程序的目录:cd  /home/cust/starterware-work/eac-t335_starterware/build/armv7a/gcc/am335x/eac_t335/bootloader清除之前编译的内容:make clean编译:make BOOT=NAND(nand flash启动编译模式)
说明:Bootloader有四种编译模式,分别是SPI、UART、NAND、MMCSD.编译对应的模式时要BOOT=对应的模式,比如make BOOT=UART. 编译好的执行文件在以下路径中:./home/cust/starterware-work/eac-t335_starterware/binary/armv7a/gcc/am335x/eac_t335/bootloader
编译应用程序程序以在Ubuntu 下编译uart为例。执行的相应指令如下:cd  /home/cust/starterware-work/eac-t335_starterware/build/armv7a/gcc/am335x/eac_t335/uart 清除之前编译的内容:make clean编译:make
编译好的执行文件在以下路径中:./home/cust/starterware-work/eac-t335_starterware/binary/armv7a/gcc/am335x/eac_t335/uart

编译其他应用程序的步骤跟这个例子的类似,读者可参考这个例程。 编译好的执行文件中有.bin、.out 、xxx_ti.bin几个格式的文件,说明如下:
注:以上的操作环境是在Ubuntu12.04/14.04下完成的,在其它版本Ubuntu中没有验证过,读者实际操作时要注意版本的问题。

2.3连接开发板并测试连接:
主要分为仿真器的调试环境搭建和连接开发板两个步骤,具体操作如下:1)使用仿真器(本文介绍的是XDS200)将开发板同pc 连接起来并且给开发板上电,选择View->Target Configurations 窗口,然后在该窗口内右键菜单新建一个Target Configuration,如下图:弹出如下对话框,随便取文件名,如ti_starterware,单击Finish,如下图所示:
弹出如下对话框,随便取文件名,如ti_starterware,单击Finish,如下图所示:
新建后将出现如下界面:
在1 处选择XDS2xx USB Emulator(如果此处无法选择XDS200,则说明仿真器没有正确连接,使用其他仿真器的用户请参考其他说明),然后在2 处选择AM3352(EAC-T335 使用的CPU),然后点击3 处的save 按钮进行保存,之后点击4处的Test Connection 按钮进行连通性测试。
出现如下图的界面则说明测试成功,亦说明仿真器的调试环境搭建成功,


如果出现类似如下界面,请检查在选仿真器和cpu型号时是否正确,重复多试几次。
说明:有时候因为一些故障,连接失败后仿真器会死掉(看仿真器的指示灯亮不亮),此时需要断电,拔出连接线,重新连接,再次上电。
出现界面如下,如果没有看到任何反应,将“CCS Edit perspective”切换到“CCS Debugperspective”并选择菜单栏的“View->Debug”选项:
然后在ContexA8项上右键菜单,选择Connect Target,如下图:
注:connect target连接开发板时,要注意开发板的nand flash中不能有Linux内核,最好在用之前擦除掉nand flash中的内容(或者短接跳线J1),否则连接时会报错。之后出现以下界面,表明已成功完成了CCS 的安装和配置,此时开发板已连接到开发板ContexA8 核:

还有会继续更新....







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

阿莫论坛才是最爱国的,关心国家的经济、社会的发展、担心国家被别国牵连卷入战争、知道珍惜来之不易的和平发展,知道师夷之长,关注世界的先进文化与技术,也探讨中国文化的博大精深,也懂得警惕民粹主义的祸国殃民等等等等,无不是爱国忧民的表现。(坛友:tianxian)

出0入0汤圆

发表于 2018-3-28 20:42:08 | 显示全部楼层
沙发,感谢楼主分享经验,辛苦了!!!

出30入0汤圆

发表于 2018-4-8 14:31:08 | 显示全部楼层
好久没有来技术论坛看贴了,好文。督促自己加油学习。

出0入0汤圆

 楼主| 发表于 2018-4-8 16:00:53 | 显示全部楼层
本帖最后由 szypf2011 于 2018-4-8 16:04 编辑

刚刚放完假回来,马上就各位更新了,第三章久等了...
AM335x-StarterWare用户手册(三)
本章介绍了编译运行裸机程序本章介绍了四种方式,分别是仿真器、SD卡、nand flash和串口运行裸机程序,详细论述看下文的介绍。
3.1准备工作
3.1.1连接开发板和PC
1、PC 和开发板的COM1通过开发板附带的串口线连接。


2、打开超级终端进行如下的设置:根据您的串口连接选择COMx

设置串口参数:

设置完成后,保持PC 和开发板的连接。
3.1.2 SD卡格式化
步骤如下:1、请把tools 目录下的HPUSBFW.EXE 安装到PC 上,该工具支持WindowXP, Win7 32 位,Win7 64 操作系统.2、把SD 卡通过读卡器接入PC3、运行HPUSBFW 工具,会自动扫描到您的SD 卡4、选择“FAT32”系统格式,选择“Quick Format”5、点击“Start”
6、等待格式化完成,点击“OK”,终端中显示如下:下图为运行HPUSBFW 工具后的图片:
注意:请确认HPUSBFW 工具扫描到的SD 卡就是您的SDHC 卡,以防出现误操作。

3.1.3 BootLoader编译模式的讲述

Bootload的编译模式根据不同的启动方式分为了SPI、MMCSD、UART、NAND四种类型,选择编译模式的示例图如下:
   本文介绍了MMCSD、UART、NAND三种启动方式,分别对应的编译模式是:Release_MMCSD、Release_UART、Release_NAND(Degug模式只限于调试模式,前文已有所提及)。如果选择SD卡这种方式启动时,务必要选择Release_MMCSD编译模式,这种情况下生成的MLO文件在SD卡中启动时app应用程序才能引导启动起来。同理,UART、NAND方式启动开发板时,也要选择对应的编译模式。3.2 仿真器运行调试裸机程序
  以下内容介绍在Windows系统中将裸机程序加载到开发板的DDR里面去运行,在准备调试裸机程序之前,请确保完成第二章的步骤内容。1程序加载完成后是运行在DDR上的,由ARM执行,如果这两部的初始化不完成,程序是没法正常运行的,所以在加载裸机应用程序之前,要先配置ARM和DDR,只有在这两部分初始化完成后,才能使用CCS去load程序。完成这个功能有两种方式:①把starterware源码中的BootLoader程序编译后的执行程序boot_ti.bin在开发板先运行起来(有三种方式初始化启动方式:SD卡,nand,串口),完成初始化工作,再load应用程序。②在ccs中加载gel文件,也可以完成对ARM和DDR的配置。在本章节中介绍的是第二种方式。点击Tools→Gel Files,在CCS主窗口下方会出现一个Gel File新功能窗口
将鼠标放在上图右下角的GEL Files窗口中点击右键,加载gel文件(C:\ti\ccsv5\ccs_base\emulation\boards\beaglebone\gel\beagleboneblack.gel)


然后点击主菜单Scripts-->AM335x System Initialization -->AM335x BeagleBlack_Initialization。进行初始化操作。初始化成功后会在控制台打印以下信息:

2、下载程序,如下图所示,通过主菜单的Run下载程序。
出现如下界面,单击浏览,选择可执行文件所在的目录eac-t335_starterware\binary\armv7a\cgt_ccs\am335x\eac_t335\gpioled\Debug\gpioled.out,然后单击ok

程序加载完成后,显示如下:
3.运行应用程序,点击菜单Run-->Resume,也可以直接点击图标运行。
可以看到板子的D2和D11在闪烁,蜂鸣器在响,超级终端打印显示如下:

3.3 SD卡运行裸机程序
1、在CCS中分别编译boot和uartEcho这两个应用程序,他们对应的可执行文件在以下路径:eac-t335_starterware\binary\armv7a\cgt_ccs\am335x\eac_t335\bootloader\Release_MMCSD\boot_ti.bin
eac-t335_starterware\binary\armv7a\cgt_ccs\am335x\eac_t335\gpioled\Debug\gpioled_ti.bin2、将boot_ti.bin和gpioled_ti.bin分别重命名为MLO、app,并将这两个文件拷贝到已格式化好的SD卡中。将SD 卡插入SD card 卡槽,上电,D2和D11在闪烁,蜂鸣器在响,超级终端打印显示如下:
eac-t335_starterware\binary\armv7a\cgt_ccs\am335x\eac_t335\gpioled\Debug\gpioled_ti.bin2、将boot_ti.bin和gpioled_ti.bin分别重命名为MLO、app,并将这两个文件拷贝到已格式化好的SD卡中。将SD 卡插入SD card 卡槽,上电,D2和D11在闪烁,蜂鸣器在响,超级终端打印显示如下:
每一个应用程序的运行方法都跟这个类似,要改名为app,boot_ti.bin改为MLO,在这不一一介绍其它的应用程序。
3.4 nand flash运行裸机程序3.4.1 从SD卡中进入u-boot

在image\nand\U-Boot_256M_RAM目录下,有MLO和u-boot.img这两个文件(作为启动u-boot用的),把MLO和u-boot.img拷贝到格式化好的SD卡中,将SD 卡插入EAC-T335的SD card 卡槽,上电,启动时快速按space键,进入u-boot中。在超级终端中显示如下:
执行mtdparts指令,查看nand flash的具体分区,终端显示如下:
这里显示了256M大nand flash是如何进行分区的,分区的地址很重要,它决定我们烧录进nandflash的程序要放在具体的哪一段。同在SD中启动一样,boot_ti.bin和gpioled_ti.bin(或者其他的应用程序)分别重命名为MLO、app。它们分别烧录在SPL(0x00)和u-boot(0x80000)的段分区上。具体可参考此链接的文章http://processors.wiki.ti.com/index.php/AM335X_StarterWare_Booting_And_Flashing#Boot_Modes
3.4.2设置TFTP服务器
打开tftpd,点击Tftpd-configure进入配置界面,点击Home Directory –Browse,设置tftp的根目录位置。然后点击Tftpd-start,开启TFTP server 。如下图所示:根目录:即供客户端下载/上传文件的存放路径。
点击configure进入配置界面
点击Browse,设置根目录。
开启tftp-server

开启后TFTP server界面如下
注意:计算机的ip就是u-boot中的serverip,计算机的ip和主板的ip必须在同一个网段,否则下载的过程会失败。
3.4.3通过TFTP网络烧录程序
完成3.4.2中tftp的设置步骤后,就可以通过tftp开始烧录程序了。1、执行nandscrub.chip -y指令,擦除掉nand flash里面的内容,终端显示如下:
2、下载MLO,并烧录到nand flash中,指令如下:Tftp MLOnand write 0x80000000 SPL $filesize

注:通过tftp烧录时开发板要连接网线。
掉电拔出SD卡,重启开发板,上电后显示如下就表示MLO已经成功烧录进nand flash。
以上步骤表示MLO烧录完成,我们继续烧录app应用程序。下载app,并烧录到nandflash中,指令如下:tftp appnand write 0x80000000 u-boot$filesize
注意:烧录MLO后,再烧录app时,要再次插入SD卡,同时短接跳线J1,不然会默认从Nand flash里面启动MLO程序,这样就无法进去u-boot烧录app应用程序。
app应用程序烧录完成之后,断电,拔出SD卡,并断开J1跳线。再次给开发板上电,D2和D11闪烁,蜂鸣器在响,超级终端打印显示如下:

3.5串口运行裸机程序
串口方式运行裸机程序时,编译时要选择Release_UART模式编译,选择UART模式编译出来的可执行文件才可以调试。截图如下所示:
编译好的可执行文件在以下路径:eac-t335_starterware\binary\armv7a\cgt_ccs\am335x\eac_t335\bootloader\Release_UART开发板上电后,当超级终端窗口中连续显示ccc…时,单击超级终端窗口上工具栏中的发送图标来发送之前生成的boot.bin文件,选择Xmodem协议,点击发送,如下图所示:
boot.bin 文件发送完成后,根据提示继续发送gpioled.bin (或者其他应用程序的可执行文件)文件。gpioled.bin 文件完成发送后,就可以观察到开发板上LED 灯闪烁,同时蜂鸣器在响,超级终端中显示如下:

还有最后一章《示例程序的演示》...下次发!!!好长啊。
======================================================================================================================================================================================================================================================
搜索盈鹏飞嵌入式加关注,每周最新的开发板、行业信息、板卡活动等信息可以让你一手全掌握。推荐关注!
【微信扫描下图可直接关注】







































本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2018-4-16 15:48:54 | 显示全部楼层
最后一章了!!!
《示例程序的演示》
4.1 LED示例程序的演示
4.1.1 SD卡方式演示
将boot_ti.bin和gpioled_ti.bin分别重命名为MLO、app,并将这两个文件拷贝到已格式化好的SD卡中。将SD 卡插入SD card 卡槽,上电,D2和D11在闪烁,蜂鸣器在响,超级终端打印显示如下:
4.1.2 nand flash方式演示
烧录方法可参考前章节中的2.4,烧录成功后拔掉SD卡并且断开J1跳线,上电启动EAC-T335板,可看到超级终端显示如下:
4.1.3 串口方式演示
操作步骤可参考3.5章节,成功后超级终端中显示如下:
4.2 UART示例程序的演示4.2.1 SD卡方式演示
将boot_ti.bin和uartEcho_ti.bin分别重命名为MLO、app,并将这两个文件拷贝到已格式化好的SD卡中。将SD 卡插入SD card 卡槽,超级终端打印显示如下:
关闭超级终端,打开串口调试助手,在发送区中输入字符串,点击发送,如若看到接收区回显的字符串信息和发送区的字符串一样,则表示串口工作正常。串口的界面显示如下:
4.2.2nand flash方式演示
烧录方法可参考前章节中的3.4,程序烧录入nand flash成功后,上电,终端的显示如下:

4.2.3串口方式演示
操作步骤可参考3.5章节,成功后超级终端中显示如下:

4.3 LCD示例程序的演示4.3.1 SD卡方式演示
在EAC-T335 上连接一LCD屏(LVDS接口),并将boot_ti.bin和rasterDisplay_ti.bin分别重命名为MLO、app,并将这两个文件拷贝到已格式化好的SD卡中。将SD 卡插入SD card 卡槽,上电,可以看到屏上显示一副月夜星空图。4.3.2 nand flash方式演示
程序烧录入nandflash成功后,上电,可以看到屏上显示一副月夜星空图。4.3.3串口方式演示
通过串口方式,先发送boot.bin文件,再发送rasterDisplay.bin,然后可以看到屏上显示一副月夜星空图。

说明:由于串口方式发送的数据比较慢,当程序比较大的时候,发送数据的时间会比较长,不建议采用这种方式。本文根据调试只介绍了LED、UART、LCD三个程序,经验证可以正常运行。若您还需要调试其他的程序,请更具自己的需要另行调试。









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出50入10汤圆

发表于 2018-4-16 16:07:54 | 显示全部楼层
来个IAR的工程例子就好了!

出0入0汤圆

发表于 2018-4-16 16:58:28 | 显示全部楼层
留个脚印备用

出0入0汤圆

发表于 2018-4-16 19:34:57 来自手机 | 显示全部楼层
楼主厉害,期待楼主linux方面的例程

出0入0汤圆

发表于 2018-9-18 14:26:35 | 显示全部楼层
楼主,请问有打算做AM335x的教程或书吗
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-19 13:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表