刚开始学习使用bios模式的编程,对于在BIOS下的多核编程有些模糊,有两个问题,请专家指导:
先前自己的非bios模式下研究了下6678的多核编程,如果要各个核分别跑不同的程序,调试起来比较费劲。想通过bios模式的编程来解决
1、对于6678,是在一个bios工程下通过任务分配,实现对各个核所运行的任务进行调度,还是每个核都有自己的一个工程?如果是在一个bios工程下,如何将各个线程安排到不同的核中运行?要是每个核都有自己的工程,这样感觉就会非常麻烦了。。。
是否有关于bios多核编程相关的文档?
2、SYS/BIOS是否能对外设接口进行图形化配置呢?在看DSP/BIOS时提到,有csl支持库来配置各个外设接口,在sys/bio 6.35中好像没有相关的介绍。
谢谢。
Andy Yin1:
Bios多核编程与不带操作系统时没有什么差异。
如果各核运行的代码差异很小,可以多核共享一个工程,在代码中通过coreID区分执行差异;如果多核运行代码差异很大,则建议每个core使用独立的代码工程。这对于不带操作系统及Bios工程是一样的。在Bios工程下,并不能指定任务所属core,建立的任务都会被调度起来,可以在任务中通过coreID来区分。
sysBios只支持对HAL模块下Timer、中断等的界面配置,对于其他诸如SRIO等外设的配置没有界面配置,其使用方式与不带bios是一样。
Wu Feng:
回复 Andy Yin1:
谢谢~~
有几个问题再咨询一下:
1、你们在利用C6678进行工业系统应用时,通常是采用SYS/BIOS编程还采用普通的大循环式编程?在TI的网站上有给出了许多多核芯片在基站等系统中的应用方案,像这样的系统,都采用什么架构?
2、有没有SYS/BIOS在多核中实现的例程?在mcsdk中看到过一些sys/bios例程,通常只是比较简单的单核BIOS例程,上到多核编程是,就一头雾水了。
Andy Yin1:
回复 Wu Feng:
1 如果系统简单,不需要涉及到多任务,则完全可以不用操作系统,直接通过响应硬中断的方式处理即可,如果你对sysbios不熟悉,建议可以不用操作系统应该也是可以满足你的需求;工业类客户有的没有用操作系统,也有用操作系统,这都跟客户传统的习惯有关;基站系统相对比较复杂,这些客户都用了操作系统。
2 sysBios多核例程参考mcsdk安装目录下的image process 例程:mcsdk_2_01_02_06\demos\image_processing
Wu Feng:
回复 Andy Yin1:
谢谢回复
目前我们的系统涉及到 网口通讯、SPI通信、SRIO与FPGA通讯等几个主要模块,到后续系统中可能还会涉及到单板多片6678,就是感觉不用操作系统的话会有点麻烦。我们的思路是核0做主,其他核做从。对于这样的做法,您有比较好的建议么?还有,操作系统的使用,对于系统的稳定性和功耗方面有多大成效?
Andy Yin1:
回复 Wu Feng:
是否选择操作系统与使用到的外设没有关系,外设在初始化的时候配置好,run-time过程中根据应用调用即可,或者由中断通知。
单板多片6678,及主从架构等都可以带或者不带操作系统,操作系统中会附件一些问题分析的手段,主要还是看你是否有很多任务,如果没有,我觉得不带操作系统也挺好。
April April:
您好,通过看您发表的这个帖子,受益颇深。
请问一下,对于非bios模式下的多核编程您那有没有例程呢,能不能分享一下,我看到的例程都是基于BIOS。
对C6678,有一个VLFFT的BIOS多核程序,我用的不是6678,所以你可以找一下
long gao1:
回复 Andy Yin1:
你好Andy,这个帖子里面你说:“sysBios只支持对HAL模块下Timer、中断等的界面配置,对于其他诸如SRIO等外设的配置没有界面配置,其使用方式与不带bios是一样。”,那我想问下像UPP、UART等的硬件中断能用界面设置吗?你指的其他外设的配置是什么意思?是不是除了中断以外的配置?
Yingying Liu:
回复 April April:
你好,基于sys/bios哪里下载的,能发给我一些关于BIOS的例程吗,谢谢
TI中文支持网