0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【玩转多核异构】飞凌嵌入式AM6254核心板M核程序的启动、编写和仿真

飞凌嵌入式 2023-03-31 14:27 次阅读

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

pYYBAGQmTliAYXd8AAM2bCbWVNw098.png

在实际应用中,M核的程序运行在裸机或者实时操作系统上,实时性和稳定性较高,一般用于简单但重要的控制,比如实时采样、开关控制、PWM输出等。小伙伴是不是对这款多核异构处理器的M核如何使用比较好奇呢?今天小编将通过飞凌嵌入式FET6254-C核心板来详细介绍AM6254处理器M核程序的启动配置、程序编写和实时仿真等使用方法

1、M核程序启动

(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方式,程序自动加载,配置简单。

2、搭建开发环境和程序编译

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

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

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

01、CCS

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

poYBAGQmTleAI_YhAAATuyelIwQ691.png

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

pYYBAGQmTleAYcqgAAAO6SlJyZM003.png

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

poYBAGQmTliAIntXAAAMadoM9YQ187.png

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

pYYBAGQmTliAL7N4AAAVfIWWhRs718.png

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

poYBAGQmTliAPcLjAAAMDh8PUVc057.png

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

pYYBAGQmTliAZenwAAAKqMF9zOY347.png

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

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

poYBAGQmTliAI0dnAAAUkmq1gAc993.png

02、SysConfig

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

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

03、开发环境确认

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

poYBAGQmTliAQL_CAAATWMrHk_s879.png

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

pYYBAGQmTliADrzwAABBjM14Nbc699.png

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

pYYBAGQmTliAEYmOAAAxpiulnn8256.png

04、仿真配置

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

poYBAGQmTlmARymYAAA3uUrzik0270.png

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

pYYBAGQmTlmAGI5mAAAeOR-eVDo568.png

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

poYBAGQmTlmAbEuDAAAi8blE5z8955.png

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

pYYBAGQmTlmAMI-kAAAyoULjkCk646.png

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

pYYBAGQmTlmAKW5kAAAgyosIFLs689.png

05、加载、编译程序

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

poYBAGQmTlmAWUSTAAAcP_0OYyg477.pngpYYBAGQmTlmAE_spAAAauZmQOkI169.png

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

poYBAGQmTlmAJapeAABGyjYMzTE813.png

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

poYBAGQmTlmAFhXTAABRRdSpAKg175.png

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

pYYBAGQmTlmAfifDAAAMBKDqp2I219.pngpoYBAGQmTlqAdc8BAAAgQUTMcDE808.png

3、下载程序

01、目标文件

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

pYYBAGQmTlqAWe6uAAAdXmtimfU044.png

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核程序。

poYBAGQmTlqABGf0AAAf8tDhFHs493.pngpYYBAGQmTlqAK5VUAAAT837qWts723.png

03、am62-mcu-m4f0_0-fw

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

04、remoteproc框架

以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核程序

4、M核程序仿真

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

01、JTAG仿真

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

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

pYYBAGQmTlqAcZNyAAANbSBeelY164.png

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

pYYBAGQmTlqAL5Y7AAAnTuwLg6c103.png

02、串口输出

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

poYBAGQmTluAO8nPAABckBDEykE514.png

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

poYBAGQmTlqALME0AAA6aRM8oeI216.png

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

poYBAGQmTlqAZzHfAAAPL-9RyTg510.png

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

pYYBAGQmTluAa1aPAAAV7bSIf5w554.png

03、硬件仿真

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

poYBAGQmTluAbTFTAAAoct0RNhQ253.png

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

pYYBAGQmTluABHg3AADYLGACmpY656.png

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

poYBAGQmTluAe1ecAABDGY9hrtQ210.png

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

pYYBAGQmTluAXq2yAAAwgy7wUIw105.png

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

poYBAGQmTluABODmAAARLD1GKno983.pngpYYBAGQmTluASzAIAAARB1D2jB4466.png

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

pYYBAGQmTluAMvhiAAAX9U6z3pA683.png

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

poYBAGQmTlyADVGnAAAVZ_EfcEE886.png

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

pYYBAGQmTlyAQI6uAAAXHRFuqrs441.png

04、程序实测

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

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

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

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9043

    浏览量

    366771
  • 嵌入式
    +关注

    关注

    5068

    文章

    19014

    浏览量

    303139
  • 多核异构
    +关注

    关注

    0

    文章

    17

    浏览量

    5438
收藏 人收藏

    评论

    相关推荐

    嵌入式FET3576-C核心板已适配Android 14

    在今年3月举办的RKDC2024大会上,嵌入式FET3576-C核心板作为瑞芯微RK3576处理器的行业首秀方案重磅亮相,并于今年6月率先量产发货,为客户持续稳定地供应,得到了众多
    的头像 发表于 11-21 15:55 72次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>FET3576-C<b class='flag-5'>核心板</b>已适配Android 14

    嵌入式RK3576核心板已适配Android 14系统

    FET3576-C核心板此前已提供了Linux 6.1.57系统,为了满足更多客户的需求,嵌入式近日又为其成功适配了Android 14系统——硬件性能卓越的
    的头像 发表于 11-14 10:59 468次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>RK3576<b class='flag-5'>核心板</b>已适配Android 14系统

    AM6254开发常见问题之「烧写问题排查」——嵌入式

    在项目的开发过程中,各位工程师小伙伴们可能会遇到各种类型的问题,其中“烧写问题”就是非常典型的一种。本篇文章,将以嵌入式OK6254-C开发
    的头像 发表于 11-08 11:51 971次阅读
    <b class='flag-5'>AM6254</b>开发常见问题之「烧写问题排查」——<b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>

    嵌入式FET527N-C核心板现已适配Android 13

    嵌入式FET527N-C核心板与Android13系统的结合,为嵌入式设备领域带来了新的发展机遇。这一结合不仅提升了
    的头像 发表于 11-08 11:25 257次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>FET527N-C<b class='flag-5'>核心板</b>现已适配Android 13

    FET113i-S核心板已支持RISC-V,打造国产化降本的更优解

    FET113i-S核心板嵌入式基于全志T113-i处理器设计的国产工业级核心板,凭借卓越的稳定性和超高性价比,FET113i-S
    的头像 发表于 10-31 15:20 378次阅读
    FET113i-S<b class='flag-5'>核心板</b>已支持RISC-V,打造国产化降本的更优解

    基于全志T113-i多核异构处理器的全国产嵌入式核心板简介

    一、嵌入式核心板产品介绍 基于全志公司的T113-i处理器精心设计的多核异构处理器、工业级ECK30-T13IA系列嵌入式
    的头像 发表于 10-25 13:40 167次阅读

    嵌入式FET6254-C核心板为智能运动控制系统强力赋能

    基于TI Sitara™ AM62x系列处理器设计开发的嵌入式FET6254-C核心板,以其
    的头像 发表于 10-23 14:42 551次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>FET<b class='flag-5'>6254</b>-C<b class='flag-5'>核心板</b>为智能运动控制系统强力赋能

    嵌入式RK3576核心板的四大优势详解

    为了充分满足AIoT市场对高性能、高算力和低功耗主控日益增长的需求,嵌入式近期推出了基于Rockchip RK3576处理器开发设计的FET3576-C核心板,具有出色的图像和视频
    的头像 发表于 06-28 09:34 1866次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>RK3576<b class='flag-5'>核心板</b>的四大优势详解

    嵌入式FET3576-C核心板四大优势详解

    为了充分满足AIoT市场对高性能、高算力和低功耗主控日益增长的需求 ,嵌入式近期推出了基于Rockchip RK3576处理器开发设计的FET3576-C核心板,具有出色的图像和视
    的头像 发表于 06-28 09:17 490次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>FET3576-C<b class='flag-5'>核心板</b>四大优势详解

    嵌入式FET3568/3568J-C核心板现已适配OpenHarmony4.1

    近日,嵌入式为FET3568/3568J-C核心板适配了OpenHarmony4.1系统,新系统的加持使核心板在兼容性、稳定性与安全性等
    的头像 发表于 05-31 14:17 650次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>FET3568/3568J-C<b class='flag-5'>核心板</b>现已适配OpenHarmony4.1

    首发!嵌入式FETMX6ULL-S核心板已适配OpenHarmony 4.1

    近日,嵌入式在FETMX6ULL-S核心板上率先适配了OpenHarmony 4.1,这也是业内的首个应用案例,嵌入式
    的头像 发表于 05-20 09:04 785次阅读
    首发!<b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>FETMX6ULL-S<b class='flag-5'>核心板</b>已适配OpenHarmony 4.1

    稳定运行矿山鸿蒙系统——嵌入式的这2款核心板获得「矿鸿资质证书」

    嵌入式FETMX6ULL-S核心板和FETA40i-C核心板近期通过了“矿鸿兼容性测试认证”,这两款
    的头像 发表于 02-23 15:24 669次阅读
    稳定运行矿山鸿蒙系统——<b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>的这2款<b class='flag-5'>核心板</b>获得「矿鸿资质证书」

    为什么嵌入式的FET527N-C核心板更值得期待?

    嵌入式最新发布的FET527N-C核心板是一款值得特别关注的产品,具有许多令人瞩目的优势。下面小编将从四个角度为您剖析为什么FET527N-C
    的头像 发表于 02-02 15:10 1370次阅读
    为什么<b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>的FET527N-C<b class='flag-5'>核心板</b>更值得期待?

    嵌入式A40i-H核心板已适配“矿鸿OS”

    嵌入式基于全志科技A40i-H打造的FETA40i-C核心板成功完成了“矿鸿OS”的系统适配,嵌入式
    的头像 发表于 01-18 08:02 918次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>A40i-H<b class='flag-5'>核心板</b>已适配“矿鸿OS”

    AMP“双系统”加持,嵌入式RK3568核心板强实时性再升级

    嵌入式FET3568-C系列核心板再度迎来新升级——支持“AMP”双系统。
    的头像 发表于 01-17 11:30 928次阅读
    AMP“双系统”加持,<b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>RK3568<b class='flag-5'>核心板</b>强实时性再升级