国产DSP FT M6678开发1-预备篇A

简介:

之前做过几个关于TMS320C6678芯片的开发项目,都较为顺利,毕竟官方提供的资源以及网络上的资源都很丰富。最近公司准备开发国产DSP 银河飞腾的FT M6678的移植开发工作,所以准备写一个国产DSP的专题,记录一下开发过程。

首先看了一下差异,国产M6678与TI的C6678功能性能大致类似,但是在芯片架构,开发工具,接口外设方面都存在差距,先看一下各自的功能框图:

TMS320C6678功能框图如下:

FT-M6678功能框图如下:

差异:

从功能框图上都可以很清晰地看出一部分差异,至少内部总线从TeraNet变成CrossNet,Ethernet Switch和Multicore Navigate也无影无踪了,网口从2个变成了1个,另外添加了1553B接口等等。下面根据官方文档我们再系统地、仔细地对比一下。

划重点:首先,国产DSP的PIN脚排布与TI的不一样,所以不是PIN2PIN兼容的,不过FT-M6678H封装与TI封装一致,那么之前的设计是否需要更改呢?需要自己去查一下《FT-M6678 DSP产品使用手册》“引脚表”来确认和之前的设计是否一致。国产DSP设计原则还是兼容设计:

a. 国产芯片和进口芯片同功能管脚,位置相同;

b. 进口芯片独有的管脚,保持默认电平配置;

c. 国产芯片增加引脚尽量使用RSV引脚,或使用删除部件的引脚。

其次,FT-M6678分为两中封装型号,FT-M6678H为陶瓷封装,FT-M6678N为塑封。

再次,电源设计上有差异,在硬件设计时需要注意!

划重点:首先,国产FT-M6678的主频不支持1.25GHz了(虽然在我的项目中一直使用的是1GHz的);

其次,国产FT-M6678仅支持小端,不支持大端模式了。

其他,L1/L2 Cache,MSMC,DSP内核等等基本上都是一摸一样的~

划重点,核外存储系统差异就较为明显了,EMIF和DDR3接口的位宽都有调整了,对我来说DDR部分影响较小,基本上可以不改动,但是EMIF侧就需要调整一下了。

这部分差异就更大了,具体的就看右侧说明部分的提示了~上电顺序部分注意一下哦!~

高速接口部分,国产DSP的SRIO接口增加了一路,SGMII网络减少了一路.

低速接口部分基本上大同小异,仅仅是增加了一路1553B航空总线接口。

自举方式有些微差异,不影响我的项目,我只用EMIF NORFLASH启动。

仿真器需要换成FT-EMU的,开发工具还是CCS5.5/6.0,只是需要安装一个支持包(M66支持包),该软件是在"FT-M6678手册及交付物"文件夹内提供的,里面有安装使用说明,按照步骤来就可以了。

包加速器部分,国产DSP基本上就不支持了,另辟蹊径地使用OpenMP来替代,FT在TI的omp库上移植了一个多核软件队列支持核间任务信息的交互,来替换MC navigator的硬件队列管理子系统。

在开发时FT-M6678不支持软件项目包括:

1. M6678与C6678不兼容部件的CSL库和底层驱动LLDs。

2. 与Multicore Navigator相关的IPC QMSS Transport、PktLIB和OpenEM。

不过国产DSP提供了兼容的CSL库,并提供了配套的驱动接口函数,详见“FT-M6678 Project”文件夹。

操作系统方面,M6678上可适配锐华、凌玖、ucCos、ucLinux以及SYS/BIOS等。

其他:

国产DSP FT-M6678官方提供资料目录如下:

今天简单讲讲国产和进口6678的一些差异,大部分工作还是在准备中。具体开发和使用情况,待我开发后一点点补充~

在Java中,可以利用Apache POI库来实现在Excel文件中插入图片并导出功能。Apache POI是一个流行的用于处理Microsoft Office格式文档(如Word、Excel和PowerPoint)的API。以下是基本步骤: 1. 引入依赖:首先需要在项目中添加Apache POI的依赖,包括`poi`, `poi-ooxml`, 和 `poi-ooxml-schemas`。 ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>最新版本号</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>最新版本号</version> </dependency> <dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans</artifactId> <version>最新版本号</version> </dependency> ``` 2. 创建HSSFWorkbook对象:这是Excel的工作簿。 ```java HSSFWorkbook workbook = new HSSFWorkbook(); ``` 3. 添加Sheet:创建一个新的工作表。 ```java HSSFSheet sheet = workbook.createSheet("Sheet1"); ``` 4. 插入图片:找到一个ImageDataRecord对象来保存图片数据,然后将其添加到单元格。 ```java // 获取图片路径 File imageFile = new File("path_to_your_image.jpg"); // 将图片读取为字节流 InputStream inputStream = new FileInputStream(imageFile); byte[] imageData = IOUtils.toByteArray(inputStream); // 创建ImageDataRecord HSSFDataFormat format = workbook.createDataFormat(); // 图片数据格式 HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0, 1, 1, 5, 5); // 定位图片位置 XSSFComment comment = sheet.createCellComment(new XSSFRichTextString("Your Image Comment")); // 注释 XSSFImage image = wb.addPicture(imageData, Workbook.PICTURE_TYPE_JPEG, anchor, comment); // 将图片插入到单元格 HSSFRow row = sheet.createRow(0); HSSFCell cell = row.createCell(0); cell.setCellValue("Image Cell"); cell.setCellStyle(format.getCenteredStyle()); // 设置单元格样式 cell.setDrawingCell(true); // 标记为包含图像 cell.set Drawing(new XSSFDrawing(sheet)); cell.getDrawing().addAnchor(image); ``` 5. 保存文件:完成所有操作后,将工作簿保存到磁盘上。 ```java try { FileOutputStream outputStream = new FileOutputStream("output.xlsx"); workbook.write(outputStream); workbook.close(); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } ```
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值