相关服务

  • 《电子产品世界》2007年第10期摘录:#include一呲.h’#i

如发现有乱码,请点击下面链接浏览原文
正文摘录:

#include一呲.h’#iⅡclude0UarttranBmit.h0眦ti~lgaedg—Jittim0;自tati…i即dg.鼬t^№m.I。rd0,voiduartTr—mit8etup(un8igndbittimun4ignedT随tN~word,)fg—Jittime-bittim0;q—mt蚰㈣ord…t址mⅫ.ord0;=::=:嚣:盎:r-舞竺t譬”““‘”。一gned㈨,outporttxd){unBigIltdijun_ig。ed血ta-byte,for(i-O;it8ji+-11{tnti…‘,d^ta:“…g—’ittinoilt*dH…‘1j//stopbitti~9一bitti~m;盏:嚣:‘劂:!芝::嚣寰妻£2嚣型’;。。。unBignedm“唧ce8t0utporttxd.inportct4Txautpo…EOTx}ti口*rtjunaignedtiM.itindH兰:。芸0:盘。,unoig咖chrhnejrt8Tx…O;/,^…t珊ct-Tx…ct8t《v^lj,/-aitforctsif…d|dif(ct$T】Ⅳ^l-·1】ct8Tx…intct$Tx-h蚰Ict“Tx--O)Jc…ti∞№jH…9.p“tim‘jforIi-O.1ndex。g—懈t删I嘲怕rd且‘‘2,itnmⅡ『yte_;i+-1,1nd…1)fb牡e-byte-【index】jtim6-UartT…itByte(bytetti口}.tx哪图1本例中XMOSc(xC)程序实现了一个UART传输功能。语句如inport和outport直接指向芯片引脚I,O操作。时间参照值可以使用内部或外部计时器作为来源,其可将I/0操作控制在特定时间或间隔。附加的xC扩展通过采用单处理器核多线程或多处理器核多线程多任务来支持硬件级别的并行那样走的那么远。它仍是一种主要写软件的语言,而非描述硬件(除了I/O接口)。程序员可以使用标准C或c++来写不要求严格时序的软件。实际上,如图2所示,按照程序的作用,一个典型的项目将具有以c,c++及:XC所写的模块。XMOS将提供新的软件开发工具,其在基于单Eclipse的集成开发环境中可以处理所有的程序。在源代码中,程序员明确将线程指定给各种硬件I/O及软件任务。其效果为这些指定操作手工将Xcore处理资源进行了分割。处理器保证每个线程的最低水平性能,这些线程在空闲时不消耗电力。在周期精确软件模拟器的帮助下,程序员可以在设计时决定特定栏目编辑l莫怡欣II/O或软件任务是否达到了预期的性能。如果某一任务未能达到性能指标,程序员可为其指派附加的线程。如果即便是调动其所有线程后,当前使用的Xcore芯片仍无法完成所需性能,开发人员可选择更高性能的Xcore芯片,该芯片拥有更多的处理器核或可运行于更高的频率。XMOS正在开发软件库,其可帮助开发员实现常用的I/0接口及执行普通软件任务。XMOS也正在尝试对xCore输出现有的软件库。在依赖严格时序的架构上保留可用高级语言的编程能力是:XMOS技术重要的一部份。我们将拭目以待XMOS开发工具及程序库如何有效实现这一目标。殴{’}多线饪蕾火氆蛰为保证硬实时性能,XCore处理器采用硬件多线程,而不是传统的操作系统实现的多线程。实质上,硬件多线程是处理器级别的确定性时间片段。处理器可以对各种任务倾注特定量的执行时间。每个XCore处理器可以同时执行八个线程并且在每个时钟周期切换线程上下文。尽管XMOS还没有发布XCore架构细节,但其他处理器通过为每个线程维持重复寄存器文件来实现硬件多线程。该处理器并非在上下文切换中保存并储存寄存器文件内容,而仅仅是改变指向合适注册文件的指针。对于从一个线程切换至另一线程并没有存储和回复的动作。xcore有关资料。

阅读此文(图):   点击此处在线翻阅