源码先锋

源码先锋

TI Sitara系列 AM64x开发板——FreeRTOS、Baremetal案例开发案例

admin 82 147

前言3

1开发环境搭建

2CCS工程编译与加载

3FreeRTOS与Baremetal案例

评估板简介

创龙科技TL62x-EVM是一款基于TISitara系列AM62x单/双/四核ARMCortex-A53+单核ARMCortex-M4F异构多核处理器设计的高性能低功耗工业评估板,由核心板和评估底板组成。处理器ARMCortex-A53(64-bit)主处理单元主频高达1.4GHz,ARMCortex-M4F实时处理单元主频高达400MHz,采用16nm最新工艺,具有可与FPGA高速通信的GPMC并口,同时支持双屏异显、3D图形加速器。核心板经过专业的PCBLayout和高低温测试验证,稳定可靠,可满足各种工业应用环境。

评估板接口资源丰富,引出3xEthernet(两路支持TSN)、3xCAN-FD、9xUART、多路DI/DO、GPMC、USB、MIPI、LVDSLCD、TFTLCD、HDMI等接口,板载WIFI模块,支持4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。

评估板正面图

前言

本文主要介绍基于AM64x的FreeRTOS、Baremetal(裸机)案例使用说明。本文同时提供了Cortex-A53、Cortex-M4F核心对应的CCS工程。

适用开发环境:

Windows开发环境:Windows764bit、Windows1064bit

虚拟机:

Linux开发环境:

LinuxProcessorSDK:

U-Boot:

CCS版本:

MCU+SDK:mcu_plus_sdk_am64x_08_03_00_18

SysConfig:_2446

GCCAARCH64Compiler:

FreeRTOS案例位于“4-软件资料\Demo\RTOS-demos\”目录下,Baremetal案例位于“4-软件资料\Demo\Baremetal-demos\”目录下。案例project目录分别存放Cortex-A53、Cortex-M4F核心对应的CCS工程源码,bin目录分别存放Cortex-A53、Cortex-M4F核心对应的程序可执行文件。

表1

RTOS-demos

led_flash

uart_echo

Baremetal-demos

led_flash

uart_echo

本文档默认使用TL-XDS200仿真器进行程序加载,如要求更高的加载、固化、调试速度,或具有网络远程调试、Trace等功能,推荐使用创龙科技的TL-XDS560V2仿真器。

开发环境搭建

本章节主要介绍FreeRTOS、Baremetal(裸机)案例的开发环境搭建。

CCS环境安装安装工具

请将产品资料“4-软件资料\Tools\Windows\_”压缩包解压至Windows非中文路径目录下,并双击解压目录中的

进行安装。

在弹出的CCS安装界面中,勾选

图1

图2

图3

备注:如出现如下界面,则表示环境检查未通过。请尝试关闭Windows防火墙,再重新安装。

图4

图5

图6

图7

安装MCU+SDK组件

请将产品资料“4-软件资料\Tools\Windows\mcu_plus_sdk_am64x_08_03_00_18_”MCU+SDK组件压缩包解压至CCS安装目录。

图8

图9

图10

安装SysConfig工具

SysConfig(SystemConfiguration)是一个综合的图形化配置工具集合,用于配置引脚、外设、子系统和其他组件。该工具的输出文件包括C头文件和代码文件,可用于配置CCS工程。

双击“4-软件资料\Tools\Windows\_2446-”,将SysConfig工具安装至CCS安装目录下。

图11

图12

图13

安装GCCAARCH64Compiler

将产品资料“4-软件资料\Tools\Windows\”压缩包解压至CCS安装目录,该交叉编译工具链用于Cortex-A53端程序编译。

备注:Cortex-M4F端工程使用CCS工具自带的交叉编译工具链。

图14

图15

图16

安装GCCARM(R5F)Compiler

将产品资料“4-软件资料\Tools\Windows\”压缩包解压至CCS安装目录,该交叉编译工具链用于Cortex-R5F端程序编译。

图17

图18

图19

安装Python

使用CCS编译CCS工程时,需使用Python工具进行命令解析。

图20

安装完成如下图所示。

图21

打开WindowsCMD命令行,执行如下命令,可查看Python是否已安装成功。

CMDpython-mpip--version

图23

执行如下命令,安装Python增量包,以支持部分程序固化功能。

CMD#python-mpipinstallpyserialxmodemtqdm--proxy=

图24

CCS工程编译与加载

本章节主要演示FreeRTOS、Baremetal(裸机)案例CCS工程的导入和编译方法。

工程导入

图25

图26

环境配置

右键选中CCS工程,弹出菜单列表中选择Properties,打开工程属性界面。

图27

图28

CCS_BASE_ROOT:CCS安装目录的ccs_base文件夹绝对路径

CCS_INSTALL_ROOT:CCS安装目录绝对路径

CG_TOOL_ROOT:交叉编译工具链安装目录绝对路径(请根据实际工程进行配置)

COM_TI_MCU_PLUS_SDK_AM64X_INSTALL_DIR:MCU+SDK安装目录绝对路径

MCU_PLUS_SDK_PATH:MCU+SDK安装目录绝对路径

PROJECT_LOC:CCS工程目录绝对路径

WORKSPACE_LOC:workspace目录绝对路径

图29

工程编译

图30

编译成功后,Console窗口将打印"BuildFinished"信息,并在Debug目录下生成程序可执行文件。

图31

图32

CPU初始化

本小节主要讲述如何调用GEL脚本初始化CPU的方法。

在Windows右键“我的电脑”,选择“属性(R)-高级系统设置”,打开如下系统属性界面。

图33

图34

图35

变量名(N):MCU_PLUS_SDK_AM64X_PATH

变量值(V):D:/ti/mcu_plus_sdk_am64x_08_03_00_18(MCU+SDK实际安装路径)

图36

图37

图38

图39

图40

图41

图42

在"ScriptingConsole"窗口执行如下命令,调用GEL脚本初始化CPU,打印如下类似信息说明CPU初始化成功,即可正常加载运行程序。

js:loadJSFile"D:\ti\mcu_plus_sdk_am64x_08_03_00_18\tools\ccs_load\am64x\load_"

图43

程序加载

图44

图45

在如下加载界面中,选择对应的CCS工程*.out格式可执行文件。

图46

图47

FreeRTOS与Baremetal案例led_flash案例案例功能

案例功能:控制评估底板用户LED每隔0.5s闪烁一次。

案例测试

请加载运行led_flash程序,运行成功后,串口调试终端将会打印如下信息,同时评估底板用户LED将会每隔0.5s闪烁一次。

图48

GPIO配置说明

请参考“CCS工程编译与加载”章节导入并编译案例工程,双击打开工程界面的"*.syscfg"文件。

图49

图50

用户可根据实际应用配置GPIO引脚,在代码中调用已配置的GPIO引脚是以"*.syscfg"配置文件中的Name为标识。本案例Name为GPIO_LED1,对应代码中的GPIO_LED1_BASE_ADDR、GPIO_LED1_PIN、GPIO_LED1_DIR配置。

关键代码

配置GPIO。

图51

控制LED每隔0.5s状态翻转。

图52

uart_echo案例案例功能

案例功能:实现串口回显功能。

案例测试

请加载运行uart_echo程序,程序运行后,等待串口输入8个字符,然后回显输入字符。串口调试终端将会打印如下类似信息。

图53

UART配置说明

请参考“CCS工程编译与加载”章节导入并编译案例工程,双击打开工程界面的"*.syscfg"文件。

图54

图55

用户可根据实际应用配置UART,在代码中调用已配置的UART引脚是以"*.syscfg"配置文件中的Name为标识。本案例Name为CONFIG_UART_CONSOLE,对应代码中的CONFIG_UART_CONSOLE配置。

关键代码

配置串口。

图56

使用阻塞模式。接收完数据后,UART_read返回;发送完数据后,UART_write返回。

图57