搜索
bottom↓
回复: 12

AM335x-StarterWare用户手册

[复制链接]

出0入0汤圆

发表于 2018-3-22 14:58:47 | 显示全部楼层 |阅读模式
最近公司用基于AM335x处理器的开发板(EAC-T335)集成调试环境对Starterware进行编译调试,目前已经在整理文档中...个人觉得还是不错的,所以想跟大家分享下!因为内容有点多,有好几张章节,所以会分次发出!
前言


以AM335x-starterware、EAC-T335为软硬件平台,介绍了LED、UART、LED等裸机程序调试方案。
开发环境:
硬件平台:EAC-T335
软件平台:starterware
仿真器:XDS200
第一章节:《Starterware源码简介》


  Starterware是一个非操作系统的软件开发包,包含SOC启动代码,DDR内存初始化代码,以及串口,I2C,USB,Ethernet,LCD,中断等驱动。由于没有操作系统复杂平台化功能,所以Starterware是一个结构简单的软件包。非常适合于有高实时性,但无并行性需求的应用领域,目前在工控,HMI,工业缝纫机,PLC等工业方向已经有了很多成功应用。在此链接下载starterware源码包:http://processors.wiki.ti.com/index.php/StarterWare

  Starterware源码包的文件夹的布局除了考虑功能模块的划分外,也在板级支持和编译环境两个方面有所考虑,理清了这两点便于理解Starterware的架构,说明如下:

  A. 按支持不同开发板划分的目录。在driver,example,platform等目录中,子目录evmAM335x, beaglebone和 evmskAM335x,分别针对AM335x的三个开发板GP EVM,BeagleBone和Starter Kit,存放着相应的板级配置代码。

  B. 按不同编译环境划分的目录。Starterware把所有编译相关的工程文件放在了build/armv7a目录中,其子目录cgt_ccs, ewarm和gcc,存放分别对应CCS, IAR和GCC编译环境的工程配置文件。

从软件结构来看, Starterware有两部分组成,Bootloader和Application(应用程序),具体介绍如下:

1.1 BootLoader

BootLoader被ROMcode加载到片上SRAM中。AM335x启动后,首先运行ROM code,ROM code根据sys_boot(具体可以参考AM335x technical reference manual中的Initialization章节)的配置,从相应的存储器或者外设中得到Bootloader,并加载到片上的SRAM的起始地址处,即0x402F0400。

BootLoader中完成如下工作:

A. ARM core的配置,包括中断向量表,Cache,MMU等配置。

B. PRCM模块(具体可以参考AM335xtechnical reference manual中的PRCM章节)的配置,主要是对各PLL,power management等的配置。

C. I2C,PMIC的配置。如果使用了推荐的PMIC,首先对I2C模块配置,然后通过I2C配置PMIC。

D. UART配置,主要用于输出调试信息。

E. DDR配置。

F. 根据配置,会初始化相应的外设或者存储器。

G. 完成了上述配置后,BootLoader会相在应的外设或存储器中读取Application,并加载到DDR中。

上述工作过程和SPL很接近。但在Starterware中, BootLoader没有和u-boot一样复杂的外设工具支持,编译完成后只有34K Bytes,可以放在片上SRAM上,所以只要一级boot loader就可以完成需要的任务了。

1.2 Application

Application是 应用的主体,实现应用的逻辑,并调用相应的外设驱动。

Starterware中在example目录。其软件架构如下:


该架构很清晰,上层应用调用下层驱动或者中间件,以实现逻辑对底层模块的调用。这样的结构,在生成可执行文件时,只是链接需要的库文件,使得文件比较小,便于JTAG下载调试,同时,清晰的结构十分便于调试,查找问题所在。 Application中仅对模块的时钟进行配置,而PRCM中相关PLL,基本的电源管理功能等是在BootLoader或者编译环境的脚本中配置的,所以,Application需要在这两者准备好的环境中运行。


1.3 StarterWare 源码文件夹简介
以下列出了StarterWare 软件开发包中所包含的各种驱动文件、例子程序、库文件和其他文件以及对这

些文件相应的描述。
drivers --- 包含所有外设驱动的源文件,可以编译成库的形式进行调用
examples --- 展示外设端口的示例程序

docs --- 相关的文档介绍
grlib --- 包含图形库的源文件和头文件

mmcsdlib --- MMCSD 库的源文件和头文件
nandlib --- Nand Flash 库的源文件和头文件

usblib --- USB 库的源文件和头文件
host_apps --- 执行以太网例程的源文件
build --- makefile 文件以及链接脚本的存放路径
binary --- 生成的可执行文件存放的路径。

include --- 头文件存放的路径。
platform --- 官方平台相关的源文件

system_config --- 系统配置和初始化相关的源文件
bootloader --- bootloader 的源文件

third_party --- 第三方提供的源码
tools --- 各种工具,如flash 烧写工具、SD 卡的格式化工具等
utils --- 通用源文件

第一章节简介Starterware源码,接下来还会:



会不定时的持续更新内容!!!



本帖子中包含更多资源

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

x

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2018-3-22 17:33:05 | 显示全部楼层
先收藏一个,慢慢看

出50入10汤圆

发表于 2018-3-22 18:53:02 | 显示全部楼层
顶起!楼主继续!

出0入0汤圆

发表于 2018-3-22 20:20:17 来自手机 | 显示全部楼层
顶起!楼主继续!   linux的也介绍下

出0入0汤圆

发表于 2018-3-22 21:59:04 | 显示全部楼层
强力支持

出0入0汤圆

发表于 2018-3-22 22:29:03 | 显示全部楼层
辛苦了,顶起!楼主继续!

出0入0汤圆

发表于 2018-3-23 00:44:54 | 显示全部楼层
恩 ,终于有beaglebone 了

出115入0汤圆

发表于 2018-3-23 09:10:51 | 显示全部楼层
不错,鼓励下楼主,曾经想干没有干成的事情

出0入0汤圆

发表于 2018-3-23 12:04:06 | 显示全部楼层
辛苦了,顶起!楼主继续!

出0入0汤圆

发表于 2018-3-23 18:43:53 来自手机 | 显示全部楼层
下载要注册用户,用户名忘了。

出0入0汤圆

 楼主| 发表于 2018-3-28 15:01:03 | 显示全部楼层
谢谢大家支持,今天已经更新了!!!感谢大家的关注!

出0入0汤圆

发表于 2019-8-3 13:46:43 | 显示全部楼层
楼主继续

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-3-29 21:01

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

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