当前位置:首页 > 工业技术
TI C66X多核软件开发(MCSDK)技术  基于CCSV5 SYS/BIOS的高级应用与实例精解
TI C66X多核软件开发(MCSDK)技术  基于CCSV5 SYS/BIOS的高级应用与实例精解

TI C66X多核软件开发(MCSDK)技术 基于CCSV5 SYS/BIOS的高级应用与实例精解PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:牛金海编著
  • 出 版 社:上海:上海交通大学出版社
  • 出版年份:2015
  • ISBN:9787313132710
  • 页数:401 页
图书介绍:本书为作者在交大社出版人另外一本《多核DSP入门与实例精解》的姐妹篇,其围绕美国德州仪器公司最新的Keystone架构C66多核DSP,介绍了CCSV5的使用、SYS/BIOS、多核编程技术的管理。同时,也给出了多核 DSP的应用,特别是在医学超声中的应用。
《TI C66X多核软件开发(MCSDK)技术 基于CCSV5 SYS/BIOS的高级应用与实例精解》目录

第1篇 CCS V5使用以及高级应用实例精解 3

第1章 CCS V6的新特性与安装使用 3

1.1 CCS V6的新特性 3

1.2 CCS V6的下载与安装 4

1.3基于CCS V 6使用C2000 LaunchPad硬件仿真 7

1.3.1准备工作 8

1.3.2新建工程 8

第2章 如何从外部输入数据文件处理并用Graph工具显示波形 17

2.1.*dat文件的格式介绍 17

2.2基于CCS V5的例程演示——读入sine.dat并显示波形 20

2.3实验中所遇到的问题 31

2.4实例程序编程语句的解释说明 32

第3章 汇编、线性汇编、C语言混合编程以及基于Prifile的性能统计 34

3.1建立混合编程实例工程 35

3.2编写程序 41

3.3运行结果以及性能统计 45

3.3.1用Profile进行混合编程性能测试 46

3.3.2使用C语言库clock函数 47

3.3.3比较分析profile和clock()函数得到的结果 49

3.4主函数调用汇编子函数参数传递示例 50

3.5汇编代码优化 52

3.6遇到的问题 53

第4章 利用CCS Image Analyzer工具对YUV格式图像处理精解 57

4.1 YUV格式详解 57

4.1.1概述 57

4.1.2与RGB格式的转换 57

4.1.3 YUV格式 57

4.1.4 YUV存储方式 58

4.1.5常见的YUV格式举例 59

4.2 Image Analyzer介绍 60

4.2.1概述 60

4.2.2 property参数介绍 61

4.3图像处理示例 63

4.3.1新建工程 63

4.3.2代码要点 63

4.3.3图像处理 64

4.4视频处理示例 70

4.4.1新建工程 70

4.4.2转换格式 70

4.4.3代码要点 70

4.4.4视频处理 72

4.5附录 74

4.5.1图像处理的Main.c代码 74

4.5.2视频处理的Main.c代码 76

4.5.3 C6416地址空间 78

第2篇 SYS/BIOS高级技术以及实例精解 81

第5章 SYS/BIOS以及线程调度实例 81

5.1 SYS/BIOS的下载及安装 82

5.2在CCS5.4中建立基于SYS/BIOS的helloworld例程 86

5.3 SYS/BIOS下Idle线程的使用实例 91

5.4 SYS/BIOS中SWI实例精解 93

5.4.1带SWI工程的建立过程 93

5.4.2程序代码及解析 99

5.5 SYS/BIOS中TASK实例精解 105

5.5.1 SYS/BIOS中相同优先级间的任务切换 105

5.5.2代码解释 106

5.5.3例程解析 111

第6章 SYS/BIOS中的同步模块 113

6.1信号量 113

6.1.1应用信号量的实例 114

6.1.2上述实例的输出结果 118

6.2事件模块(Events) 119

隐性触发事件 122

6.3“门” 124

6.3.1基于屏蔽优先级的“门”应用 125

6.3.2基于信号量的“门”应用 126

6.3.3优先级反转 126

6.4邮箱 127

6.5队列 128

6.5.1队列的“FIFO(先入先出)”基本操作 128

6.5.2队列循环 130

6.5.3队列中对象的插入与删除 130

6.5.4队列的原子操作 130

6.6 SYS/BIOS中Semaphore实例精解 131

6.6.1建立工程 131

6.6.2代码 131

6.6.3例程解析 135

6.6.4 Semaphore中的API函数 135

6.7 SYS/BIOS在CCS V5.4中的MBX例程 138

6.7.1程序代码详解 138

6.7.2 MBX, TASK, IDLE在cfg文件中配置 140

6.7.3 DSP/BIOS中例程的结果 143

第7章 SYS/BIOS中的钩子函数(hook)及其应用 145

7.1 Windows操作系统中的钩子函数 145

7.2 SYS/BIOS中的hooks(钩子) 146

7.3硬件中断钩子 148

7.3.1 Register函数 148

7.3.2 Create和Delete函数 148

7.3.3 Begin和End函数 149

7.3.4硬件中断钩子实例 149

7.4软件中断钩子 154

7.4.1 Register函数 155

7.4.2 Create和Delete函数 155

7.4.3 Ready, Begin和End函数 155

7.4.4软件中断钩子实例 156

7.5任务钩子 161

7.5.1 Register函数 162

7.5.2 Create和Delete函数 162

7.5.3 Switch函数 163

7.5.4 Ready函数 163

7.5.5 Exit函数 163

7.5.6任务钩子实例 163

第8章 SYS/BIOS中的定时服务 170

8.1定时服务概述 170

8.2时钟 170

8.3计时器模块 173

8.4时间戳模块 173

第9章 SYS/BIOS中的内存管理 175

9.1背景 175

9.2内存映射 176

9.2.1选择有效的平台 176

9.2.2创建一个自定义的平台 177

9.3将段放置到内存块中 181

9.3.1配置简单的段存放 181

9.3.2使用SectionSpec配置段存放 181

9.3.3提供附加的编译器命令文件 182

9.3.4默认链接器命令文件和自定义选项 183

9.4 MSP430, Stellaris M3和C28的段和内存映射 184

9.5堆栈 184

9.5.1系统堆栈 184

9.5.2任务堆栈 185

9.5.3系统堆栈和任务堆栈的ROV 185

9.6缓存配置 186

9.6.1在启动时配置缓存大小寄存器 186

9.6.2配置参数以便设置MAR寄存器 187

9.6.3缓存执行的程序接口 187

9.7动态内存分配 187

9.7.1内存规则 187

9.7.2设定默认的系统堆 188

9.7.3使用xdc.runtime.Memory模块 189

9.7.4为模块动态实例指定一个堆 190

9.7.5使用malloc()和free() 190

9.8堆实现 190

9.8.1 HeapMem 191

9.8.2 HeapBuf 192

9.8.3 HeapMultiBuf 193

9.8.4堆跟踪(HeapTrack) 195

第10章 SYS/BIOS中的硬件抽象层(HAL) 197

10.1硬件抽象层(HAL)应用程序接口(APIs) 197

10.2 HWI模块 198

10.2.1 C函数与系统中断源的关联 198

10.2.2 Hwi实例配置参数 198

10.2.3使用非缺省的实例配置参数创建一个Hwi对象 199

10.2.4使能和关闭中断 200

10.2.5 Hwi应用的一个简单示例 200

10.2.6中断调度器 203

10.2.7中断调度器保存和释放寄存器 203

10.2.8附加的指定目标/设备的Hwi模块功能 203

10.3定时器模块 205

10.4高速缓存模块 210

10.5 HAL封装组织 211

第11章 SYS/BIOS中的设备 214

11.1设备综述 214

11.2负载(Load)模块 214

11.2.1 Load模块配置 215

11.2.2获取Load统计数据 215

11.3错误处理 216

11.4代码调试器(CCS)中的设备工具 217

11.5 RTA Agent 218

11.5.1从暂停的目标板获取日志(Log)数据 219

11.5.2系统日志自动配置 219

11.6 CCS中的RTA Tools 220

11.6.1原始日志数据 220

11.6.2打印日志 222

11.6.3执行图 223

11.6.4执行图形数据 225

11.6.5 CPU负载 225

11.6.6线程负载(Thread Load) 226

11.6.7 CPU负载数据 226

11.6.8 RTA控制面板 227

11.7性能优化 229

11.7.1配置日志 229

11.7.2诊断配置 230

11.7.3选择一个堆管理 231

11.7.4硬中断配置 231

11.7.5栈校验 231

第12章 SYS/BIOS中的输入输出(Input/Output) 232

12.1综述 232

12.2配置设备列表中的驱动 233

12.3使用GIO APIs 236

12.3.1使用GIO APIs的限制 236

12.3.2创建与删除GIO通道 237

12.3.3使用GIO_read()与()——标准模式 239

12.3.4使用GIO_issueO, GIO_reclaim()以及GIO_ prime()——发出/回收模式 241

12.3.5 GIO_abort()以及错误处理 243

12.4在多种线程环境中使用GIO 244

12.4.1在任务中使用GIO 244

12.4.2在软中断中使用GIO 244

12.4.3在事件中使用GIO 245

12.5 GIO与同步机制 245

第13章 重新构建SYS/BIOS 247

13.1概述 247

13.2前提条件 247

13.3使用bios.mak Makefile构建SYS/BIOS 247

13.4使用SYS/BIOS重建工具构建用户的项目 250

第14章 SYS/BIOS的定时基准 252

14.1定时基准 252

14.2中断等待 252

14.3硬件中断基准 252

14.4软件中断基准 253

14.5任务基准 254

14.6信号量基准 256

第15章 SYS/BIOS的尺寸基准 258

15.1概述 258

15.2与DSP/BIOS 5的比较 258

15.3默认配置尺寸 259

15.4静态模块应用尺寸 260

15.4.1 Hwi应用 260

15.4.2时钟应用 260

15.4.3时钟对象应用 261

15.4.4 Swi应用 261

15.4.5 Swi对象应用 261

15.4.6 Task应用 261

15.4.7 Task对象应用 262

15.4.8 Semaphore(旗语或者信号量)应用 262

15.4.9旗语对象应用 262

15.4.10内存应用 262

15.5动态模块应用尺寸 263

15.5.1动态Task应用 263

15.5.2动态旗语应用 264

15.6时钟应用尺寸 264

第16章 最小化应用程序占用空间 265

16.1概述 265

16.2减少数据大小 265

16.2.1移除动态内存分配堆(memory allocation) 265

16.2.2减少主函数参数空间 266

16.2.3减少栈大小 266

16.2.4禁用指定模块(Disabling Named Modules) 266

16.2.5使得文本字符脱离目标板 266

16.2.6禁用功能模块表 266

16.2.7减少退出程序操作的数量 267

16.3减少代码大小 267

16.3.1使用自定义构建的SYS/BIOS动态库 267

16.3.2禁用日志 267

16.3.3设置内存策略 267

16.3.4禁用内核特征 268

16.3.5消除打印函数printf () 268

16.3.6禁用RTS线程保护 268

16.3.7禁止任务堆栈溢出检查 268

16.4基本大小基准配置脚本 269

第17章 SYS/BIOS中的IOM(I/O Mini-driver)微型驱动接口 271

17.1微型驱动接口概述 271

17.2微型驱动接口函数汇总 273

17.3微型驱动接口函数定义 275

第3篇 基于SYS/BIOS的多核软件编程技术(MCSDK)以及实例精解 281

第18章 基于SYS/BIOS的多核软件开发(MCSDK)技术概述 281

18.1引言 281

18.1.1缩写词和定义 281

18.1.2支持的设备/平台 283

18.1.3其他资源 283

18.1.4 MCSDK信息 283

18.1.5入门指南 284

18.1.6 API和LLD使用指南 284

18.1.7硬件-EVM概述 284

18.1.8硬件-处理器概述 285

18.1.9相关软件 285

第19章 多核软件开发(MCSDK)软件架构 286

19.1软件概述 286

19.1.1平台开发套件 287

19.1.2操作系统适配层 287

19.1.3资源管理器 287

19.1.4芯片支持库 288

19.1.5底层驱动 289

19.1.6平台库 295

19.1.7传输系统 296

19.1.8 EDMA3底层驱动程序 296

19.1.9 SYS/BIOS RTOS 297

19.2处理器间通信 298

19.2.1 IPC传输 299

19.2.2 IPC流程 301

19.3网络开发套件 305

19.4算法库 308

19.4.1 DSP库 308

19.4.2图像处理库 309

19.4.3浮点数学函数库 309

第20章 MCSDK实例演示软件 311

20.1高性能DSP实用应用程序 311

20.2图像处理示例 311

20.3引导装载程序和引导工具 311

20.4工具 312

20.4.1多核系统分析仪 312

20.4.2 Eclipse RTSC Tools (XDC) 313

20.5第三方软件和工具 314

20.5.1 CriticalBlue公司的棱镜 314

20.5.2 PolyCoreSoftware公司的Poly-Platform 314

20.6创建和实例指南 315

20.6.1创建构建环境 315

20.6.2构建软件 315

20.6.3修改库 315

20.6.4平台库(platform libraries) 315

20.6.5构建CSL和底层设备驱动程序 317

20.6.6构建设备驱动程序示例工程 317

20.6.7编辑大端MCSDK样板和示例 318

20.6.8使用软件模拟器构建和运行NDK client示例 322

20.6.9构建NDK 325

20.6.10示例 326

20.7使用MAD完成一个多核的可启动的镜像 339

第21章 使用IPC明确的编程模型 341

21.1使用和配置导航/QMSS传输 343

21.1.1通过使用QMSS传输模块&其他TransportQmssSetup参数改变GEM中断 343

21.1.2 TransportQmss配置选项(TransportQmss Configuration Options) 343

21.1.3 TransportQmss队列分配的注意事项 345

21.2使用和配置sRIO传输 345

21.2.1使用RapidIO传输配置IPC 345

21.2.2修改sRIO传输模块&其他TransportSrioSetup使用的GEM中断的参数 346

21.2.3 TransportSrio配置选项 346

21.2.4 TransportSrio内核镜像配置和IPC群集参数 348

21.2.5 TransportSrio单设备内核映射和IPC群集配置 348

21.2.6 TransportSrio多设备内核映射MAP和IPC群集配置 350

21.2.7 TransportSrio队列分配的注意事项 354

21.2.8 TransportSrio应用程序配置要求 354

第22章 Booting和Flash 356

22.1 Boot概述 356

22.2 上电自检 356

22.3 初始引导加载程序(IBL)和实例 358

22.4 NAND启动 359

22.5 NOR启动 359

22.6 TFTP启动 360

22.7 Flash和flash工具 361

第23章 MCSDK技术支持和产品更新 363

23.1技术支持和论坛 363

23.2产品更新 363

23.3 Eclipse更新管理器 363

23.3.1 Eclipse更新(自动) 364

23.3.2 Eclipse更新(手动) 364

23.4 MCSDK常见问题 366

23.4.1怎样才能恢复EVM的出厂默认状态 366

23.4.2刚更新了BIOS MCSDK软件,该如何加载到EVM中 366

23.4.3在 CCS环境汇总中使用JTAG 369

23.4.4访问发行版中提供的文件的简单方法 370

23.4.5卸载BIOS-MCSDK 370

23.4.6各种外设的示例代码 370

23.4.7加速下载BIOS MCSDK安装文件 371

23.4.8在CCS 5.1下使用BIOS MCSDK 2.0 371

23.4.9同一CCS的实例中连接并使用类型相同的两个硬件仿真器 371

第24章 空RTSC工程解决方案 377

24.1概述 377

24.2问题 377

24.3解决方案 378

24.4警告 378

第25章 HUA以及Imaging实例 382

25.1 MCSDK HUA指南 382

25.1.1概述 382

25.1.2要求 383

25.1.3软件设计 384

25.1.4构建说明 384

25.1.5运行说明 385

25.1.6排除故障 386

25.2 MCSDK图像处理例程手册 386

25.2.1概述 386

25.2.2要求 387

25.2.3软件设计 387

25.2.4了解更多处理算法 387

25.2.5多核框架 388

25.2.6算法的性能分析 388

25.2.7用户界面 388

25.2.8运行说明 389

25.2.9建立说明 390

25.2.10软件路径结构概述 391

25.2.11图像处理示例串行代码概述 391

25.2.12多核系统分析器的集成和使用 392

25.2.13用Prism分析图像处理示例 392

25.2.14使用MAD功能文件链接和创建可引导的应用程序镜像 393

25.2.15 使用IBL引导应用程序镜像 394

25.3 MCSA和MCSDK例程 398

参考文献 401

相关图书
作者其它书籍
返回顶部