TI AM62x的M核该如何使用

2023-10-20 17:20
文章标签 使用 ti am62x 核该

本文主要是介绍TI AM62x的M核该如何使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

M核程序启动

飞凌嵌入式FET6254-C核心板基于TI Sitara™ AM6254工业级处理器打造,这是一颗采用4*Cortex-A53+Cortex-M4F架构组合的多核异构处理器,其中M4F内核既可用于运行实时性操作系统,访问外设,增加系统的功能安全,同时也可以作为通用MCU使用。

(1)AM6254的A核和M核从设计上是相互独立的,理论上A核的运行状态对M核的运行没有任何影响,其稳定性大大提高。但目前官方放出的资料中大部分还必须由A核加载M核程序,后续此部分官方还会不断升级。

(2)A核有两种方式启动M核程序。一是当A核内核启动过程中,加载/lib/firmware/am62-mcu-m4f0_0-fw;二是当A核文件系统运行后,用户可根据remoteproc框架命令执行/lib/firmware/m4fss_firmware/*.out文件。

(3)am62-mcu-m4f0_0-fw和*.out文件均为CCS编译M核程序生成的可执行文件,am62-mcu-m4f0_0-fw为二进制执行文件,内容较小,*.out文件包含地址信息,内容略大。

(4)A核可根据cat state命令检测到M核程序是否在running状态,从而控制M核程序的启停。推荐使用am62-mcu-m4f0_0-fw方式,程序自动加载,配置简单。

搭建开发环境和程序编译

CCS(Code Composer Studio)是TI专为微控制器和处理器开发的集成开发环境(IDE),它包含一整套用于开发和调试嵌入式应用的工具。如C/C++编译器、源代码编辑器、项目构建环境、调试器、性能分析器以及很多其他功能。类似于Keil或IAR,用户使用CCS可对程序进行编译和仿真。

SysConfig是一个统一的软件配置工具,该工具采用图形化配置界面,可用于配置时钟、外设、管脚和其他组件。简化了外设配置流程,并能发现复杂产品的外设资源冲突,降低了开发难度,提高了软件开发速度。功能与ST公司的STM32CubeMX类似。

AM6254的M核开发主要采用CCS+SysConfig完成程序的配置、编译和仿真等功能,SysConfig一般嵌入CCS软件中。

01CCS

(1)将M核SDK包tools文件下CCS和SysConfig拷贝至其他路径,路径不包含中文字符,否则安装报错。双击CCS安装程序进行安装。

(2)选择安装目录,推荐选择各盘根目录,如C:\ti\ccs1210。

(3)点击next,出现以下警告时,点击确定。

(4)安装类型推荐选择“Custom Installation”。

(5)处理器型号选择"Sitara AM3x, AM4x, AM5x and AM6x MPUs"选项。

(6)仿真器如下选择SEGGER J-Link。

(7)一路点击next,完成安装。

(8)在桌面点击CCS图标,选择工作区目录,后续从SDK加载的工程将保存在此工作区。如果有360杀毒软件,请选择允许软件所有操作或退出360杀毒。

02SysConfig

(1)在上一步目录下双击SysConfig setup.exe安装程序进行安装。

(2)一路点击next,完成安装。

03开发环境确认

(1)打开CCS软件,在菜单栏选择 "Window > Preferences"。

(2)在弹出窗口中选择 "Code Composer Studio > Products",检查SysConfig 1.13.0是否正确安装。

(3)选择"Code Composer Studio > Build > Compilers",检查TI CLANG 2.1.2.LTS是否安装。

04仿真配置

(1)菜单栏选择"View > Target Configuration"。

(2)在User Defined文件夹右击,选择“New Target Configuration”,新建AM6254处理器的仿真配置。

(3)在新窗口输入仿真名称,如AM6254_XDS110.ccxml。

(4)Connetction仿真器选择XDS110 USB Debug Probe。

(5)Board or Device栏输入AM6254,选择"AM6254_SK_EVM"。点击"Save"保存配置。

05加载、编译程序

(1)菜单栏选择 "View > Project Explorer",在菜单栏右击选择"Project>Import CCS Projects"。

(2)在弹出的窗口中,选择CCS Project。点击"Browse"按钮,从飞凌M核SDK包中选择相应的CCS工程,如从\examples\drivers\gpio\gpio_led_blink目录下加载m4fss0-0_freertos例程。点击“Finish”按钮。

(3)在左侧工程文件夹双击选择 "example.syscfg",即可看到内核和外设的相应图形化配置了,CCS会根据SysConfig配置生成初始化代码,放入Generated Sourece文件夹内。SysConfig的功能很强大,用户可以自行体会。

(4)在左侧工程文件夹右击选择 "Build Project",即可看到程序编译过程,最后显示“Build Finished ”表明编译完成。

下载程序

01目标文件

在左侧工程目录下Debug文件夹右击选择"Show In > System Explorer",可在Debug目录下看到编译生成的am62-mcu-m4f0_0-fw和*.out文件。

02下载文件

使用串口Xmodem,网络FTP,SCP,U盘,TF卡等多种方式,将am62-mcu-m4f0_0-fw放至/lib/firmware目录下,还可将*.out放至/lib/firmware/m4fss_firmware目录下。A核启动过程中加载am62-mcu-m4f0_0-fw运行。如果没有am62-mcu-m4f0_0-fw文件,也可在A核启动完成后,使用remoteproc框架手动加载*.out文件启动M核程序。

03am62-mcu-m4f0_0-fw

以gpio_led_blink为例,将am62-mcu-m4f0_0-fw放至开发板,重启开发板,上电自动运行M核程序,四个绿色流水灯轮流亮灭。

04remoteproc框架

以gpio_led_blink为例,将am62-mcu-m4f0_0-fw从开发板删除,重启开发板,M核程序不会执行,依次输入以下命令,可加载M核程序,四个绿色流水灯轮流亮灭


cd /sys/class/remoteproc/remoteproc0  //1 切换到M核控制目录
echo m4fss_firmware/gpio_led_blink_AM6254-sk_m4fss0-0_freertos_ti-arm clang.out > firmware//2选择程序  
echo start > state     //3 选择执行 
cat state              //4 查看M核程序运行状态
echo stop > state      //5 停止M核程序
 

cd /sys/class/remoteproc/remoteproc0 //1 切换到M核控制目录

M核程序仿真

飞凌嵌入式FET6254-C核心板支持JTAG对M核的硬件仿真功能,用户可在CCS中通过JTAG设置断点,实时查看和修改各变量,全速运行或单步运行程序等功能,提高程序排查错误时的效率,另外AM6254还支持串口输出调试。

01JTAG仿真

(1)购买TI XDS-110仿真器,要求固件能支持AM6254系列。

(2)通过USB连接电脑和XDS-110。电脑会自动安装XDS-110驱动,在设备管理机器>端口下可以看到两个XDS-110串口。

(3)用户可通过XDS-110和20pin转接板将电脑和开发板连接,注意XDS-110 1脚要和开发板的Jtag 1脚对应。

02串口输出

(1)通过USB转TTL,可将电脑和开发板M核端子连接(绿色P36),用户可在串口上看到M核程序的输出信息。注意电脑TXD与开发板RXD相连,电脑RXD与开发板TXD相连。在设备管理器可以看到串口号。

(2)在CCS中菜单栏,打开"View > Terminal"。

(3)在新窗口点击蓝色电脑图标,新建一个串口终端。

(4)在串口配置界面,选择串口号,波特率为115200,数据位8位,无流控,停止位1位。这样在CCS界面就可以看到串口输出信息了。用户也可在其他串口调试软件如上设置,效果一样。

03硬件仿真

(1)在Target Configuration栏AM6254_XDS110.ccxml处右击选择”Create Target Configuration”,CCS通过JTAG连接AM6254。

(2)如果Jtag连接正常,可以在Debug栏看到AM6254的所有核的信息,在M4F_1核右击选择”Connect Target”。

(3)菜单栏下拉选项中选择”CPU Reset”。

(4)加载程序,在菜单栏选择”Run>Load>Load Program”。

(5)点击”Browse project”按钮选择要仿真的*.out文件。

(6)在Debug栏,可以看到M4F_1核已经跳转到main函数入口。

(7)用户可以在代码双击鼠标左键可以设置和取消断点,按F5或F6单步执行,按F8全速执行。更多功能和快捷键可以菜单栏Run下查看。

(8)在CCS串口栏或其他串口调试工具上可以看到M核的输出信息。

04程序实测

我们以gpio_led_blink为例,来演示硬件仿真功能。

(1)将am62-mcu-m4f0_0-fw放至开发板,这一步必须有,否则无法仿真。

(2)重新启动开发板,按照步骤3 硬件仿真环节操作,进入main函数。

(3)通过按键F6单步执行程序,可以看到四个绿色流水灯的亮灭,还可以从M核串口看到程序输出信息。

以上就是小编为大家带来的飞凌嵌入式FET6254-C核心板M核程序的使用方法了,是不是感觉和单片机的开发一样简单方便呢?

这篇关于TI AM62x的M核该如何使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/248559

相关文章

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.