内容发布更新时间 : 2025/4/4 19:07:07星期一 下面是文章的全部内容请认真阅读。
TMS320C6678的EMIF16多核程序烧写软件使用说明
1 概述
1.1 范围
本文档包括:TMS320C6678的EMIF16多核程序烧写软件使用说明。
1.2 目的
指导C6678的EMIF16多核程序烧写过程。
1.3 设计依据
[1].TMS320C6678 Multicore Fixed and Floating-Point Digital Signal Processor data manual,德州仪器
[2].KeyStone Architecture Bootloader User Guide, 德州仪器
1.4 背景
a) 本项目的任务提出者:雷达所9号楼课题组 b) 开发者:边小艳 c) 用户:课题组内部
1.5 开发环境和运行环境
开发工具:CCStudio v5.1。
运行的硬件环境:TMS320C6678芯片,EMIF16外挂并行Nor Flash,Nor Flash容量为32MB,可选型号如Numonyx生产的JS28F256P,Spansion生产的S29NS256等。
2 任务概述
TMS320C6678的EMIF16多核程序烧写主要包括三个部分:多核的待烧写工程, 烧写转换工具以及烧写工程。三个部分之间的联系如下图所示:
多核的待烧写工程
.out文件烧写转换工具.bin文件烧写工程烧到NOR Flash
图1 TMS320C6678的EMIF16多核加载总体框图
多核的待烧写工程: core0的待烧写工程除了完成自身的处理任务外,还要实现加载其它待加载的核,因此需要在core0的待烧写工程中增添加载这部分程序,其它核的待烧写工程不需要添加,若多核是同一个工程,则需要在core0的处理程序中添加加载程序。 具体请看第3节。
烧写转换工具:在路径EMIFBootUtility\\hex_ge6678_EMIFBoot中的EMIFboot_out2bin.bat是各核的代码转换工具,实现将各核的.out文件转换成.bin文件,八个核使用同一个转换工具,但是在转换之前需要将.out文件重命名,具体使用方法请参看第4节。
5
烧写工程:将待烧写的核的.bin文件通过EMIF16接口烧写到外接Nor Flash中去,具体请看第5节。
3 多核的待烧写工程说明
3.1 core0待烧写工程说明
在core0的待烧写工程中,除了完成自身的任务之外,还要作为主核去加载其他的核,因此,加载这部分作为一个单独的模块整理在一个文件夹core0_Pjt_Use中,对于core0的待烧写工程,只要把这个文件夹放到此工程中,并调用加载函数Core0_EMIF16_BOOT()即可。 3.1.1
工程文件说明
在core0_Pjt_Use文件夹主要有如下文件:
表1 core0_Pjt_Use文件函数说明
文件名 功能、用途 包含的函数 函数功能 初始化EMIF16接口,EMIFboot.c 包含加载多核的函数 Core0_EMIF16_BOOT() 加载其它需要加载的核,在主函数中直接被调用 Init_DDR3_C6678.c InitPLL_C6678.c 包含DDR3接口初始化函数 包含PLL的初始化函数 Init_DDR3() InitMainPLL() 初始化DDR3接口 初始化PLL Core0从Flash中读出Core0_Boot_Secondarycore () core0_boot.c 包含加载单核的函数 core0_boot_othercores() NOR_init() flash_nor.c 包含对flas