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

2022-11-27 14:36:43 浏览数 (2)

前 言 3

1 开发环境搭建

2 CCS工程编译与加载

3 FreeRTOS与Baremetal案例

评估板简介

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

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

评估板正面图

前 言

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

适用开发环境:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

虚拟机:VMware15.5.5

Linux开发环境:Ubuntu 18.04.4 64bit

Linux Processor SDK:ti-processor-sdk-linux-rt-am64xx-evm-08.01.00.39

U-Boot:U-Boot-2021.01

CCS版本:CCS11.2.0

MCU SDK:mcu_plus_sdk_am64x_08_03_00_18

SysConfig:sysconfig-1.12.1_2446

GCC AARCH64 Compiler:gcc-arm-9.2-2019.12-mingw-w64-i686-aarch64-none-elf

FreeRTOS案例位于“4-软件资料DemoRTOS-demos”目录下,Baremetal案例位于“4-软件资料DemoBaremetal-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环境安装

安装CCS11.2.0工具

请将产品资料“4-软件资料ToolsWindowsCCS11.2.0.00007_win64.zip”压缩包解压至Windows非中文路径目录下,并双击解压目录中的

进行安装。

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

选项,点击Next。

图 1

在弹出界面中选择安装目录,可根据实际情况修改。点击Next,进入安装环境检测界面。

图 2

图 3

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

图 4

进入如下界面中,选择需添加的组件。勾选"Sitara AM3x,AM4x,AM5x and AM6x MPUs"和"Sitara AM2x MCUs"选项,点击Next。

图 5

在后续界面中,请继续点击Next选项,直至安装完成。

图 6

图 7

安装MCU SDK组件

请将产品资料“4-软件资料ToolsWindowsmcu_plus_sdk_am64x_08_03_00_18_all.zip”MCU SDK组件压缩包解压至CCS安装目录。

图 8

双击打开CCS11.2.0,点击"Window -> Preferences"。

图 9

打开Products选项,确保"Product discovery path"选项框已存在MCU SDK的安装目录。如该安装目录不存在,请点击''Add..."添加,然后点击Refresh,即可在"Discovered products"选项框显示。

图 10

安装SysConfig工具

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

双击“4-软件资料ToolsWindowssysconfig-1.12.1_2446-setup.exe”,将SysConfig工具安装至CCS安装目录下。

图 11

双击打开CCS11.2.0,点击菜单栏"Window -> Preferences",打开Products选项,点击"install..."添加sysconfig1.12.1工具所在路径,然后点击Refresh,即可在"Discovered products"选项框显示,最后点击"Apply and Close"完成。

图 12

图 13

安装GCC AARCH64 Compiler

将产品资料“4-软件资料ToolsWindowsgcc-arm-9.2-2019.12-mingw-w64-i686-aarch64-none-elf.tar”压缩包解压至CCS安装目录,该交叉编译工具链用于Cortex-A53端程序编译。

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

图 14

双击打开CCS11.2.0,点击"Window -> Preferences",导入GCC AARCH64 Compiler。

图 15

打开"Build -> Compilers"选项,确保Compilers选项框已存在GCC AARCH64 Compiler工具链的安装目录。如该安装目录不存在,请点击"Add..."添加,然后点击Refresh,即可在"Discovered tools"选项框显示。

图 16

安装GCC ARM (R5F) Compiler

将产品资料“4-软件资料ToolsWindowsgcc-arm-none-eabi-7-2017-q4-major-win32.zip”压缩包解压至CCS安装目录,该交叉编译工具链用于Cortex-R5F端程序编译。

图 17

点击"Window -> Preferences",添加GCC ARM (R5F) Compiler工具链。

图 18

打开"Build -> Compilers"选项,确保Compilers选项框已存在GCC ARM (R5F) Compiler的安装目录。如该安装目录不存在,请点击"Add..."添加,然后点击Refresh,即可在"Discovered tools"选项框显示。

图 19

安装Python

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

请双击“4-软件资料ToolsWindowspython-3.9.1-amd64.exe”安装包,勾选"Add Python 3.9 to PATH"选项,点击"Install Now"进行安装。

图 20

安装完成如下图所示。

图 21

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

CMD# python --version

图 22

Python安装过程中,一般会附带安装pip包管理器,执行如下命令进行确认。

CMD# python -m pip --version

图 23

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

CMD# python -m pip install pyserial xmodem tqdm --proxy=

图 24

CCS工程编译与加载

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

工程导入

打开CCS11.2.0,点击"Project -> Import CCS Projects...",导入FreeRTOS或Baremetal(裸机)案例CCS工程。

图 25

选择CCS工程所在文件夹,选中CCS工程,选完后点击Finish。

图 26

环境配置

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

图 27

点击"General -> Products",确认已包含"SysConfig1.12.1"及"MCU SDK for AM64x"组件。如未存在,请点击"Add..."选项添加。

图 28

点击"Linked Resources -> Path Variables",确认MCU SDK组件、交叉编译工具链等已全部配置为实际安装路径(如下图所示)。具体说明如下所示:

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

工程编译

右键点击CCS工程,弹出菜单中选择"Rebuild Project"进行编译。

图 30

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

图 31

图 32

CPU初始化

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

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

图 33

图 34

图 35

点击“环境变量(N)…”,打开如下界面。点击“系统变量(S)”的“新建(W)…”,添加MCU SDK安装路径,具体如下:

变量名(N):MCU_PLUS_SDK_AM64X_PATH

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

图 36

打开CCS,点击菜单"View -> Target Configurations"打开仿真器配置界面。

图 37

按照如下配置新建am64x-xds200.ccxml仿真配置文件。Connection选择对应的仿真器型号,在"Board or Device"下拉框中选择AM64x_GP_EVM,点击Save保存。

图 38

请将仿真器与评估板TI Rev B JTAG接口进行连接,将评估板上电。在ccxml配置文件窗口中,点击"Test Connection",测试仿真器与评估板之间是否已连接成功。连接成功将打印如下类似信息。

图 39

图 40

在"Target Configrations"配置窗口中,右击ccxml仿真配置文件,在弹出的界面中点击"Launch Selected Configuration"进入Debug界面。

图 41

点击View -> Scripting Console选项,打开Scripting Console窗口。

图 42

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

js:> loadJSFile "D:timcu_plus_sdk_am64x_08_03_00_18toolsccs_loadam64xload_dmsc.js"

图 43

程序加载

在Debug窗口中,右击选中CortexA53_0核心,点击"Connect Target"进行连接。成功连接则显示Suspended状态,此时CCS与CortexA53_0核心已正常连接。如需连接其他核心,操作方法类似。

图 44

点击"Run -> Load -> Load Program…"进入程序加载界面。

图 45

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

图 46

点击"Run -> Resume",即可运行程序。本次加载运行led_flash程序,可看到评估底板LED以0.5s的时间间隔进行闪烁。

图 47

FreeRTOS与Baremetal案例

led_flash案例

案例功能

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

案例测试

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

图 48

GPIO配置说明

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

图 49

点击GPIO,弹出如下GPIO配置界面。

图 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

点击UART,弹出如下UART配置界面。

图 55

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

关键代码

配置串口。

图 56

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

图 57

0 人点赞