28
Tool Kit Tool Kit 基基基基基基基基基基基基基 基基基基基基基基基基基基基 武武武武武武 武武 武武

传统开发模式的缺陷 基于云计算的嵌入式开发 CooCox Tools

  • Upload
    muncel

  • View
    703

  • Download
    5

Embed Size (px)

DESCRIPTION

提纲. 传统开发模式的缺陷 基于云计算的嵌入式开发 CooCox Tools. 嵌入式开发的 5 大关注点. Source: 2008 Embedded Market Study. 传统嵌入式开发的缺陷. 开发周期 加长. 大量时间用于搜寻和鉴别资料 芯片手册、示例代码 ……. 孤立的工程师 寻求帮助的渠道有限,反应不及时. 不能彻底关注业务层开发 底层驱动开发、调试和移植时间占用多. 手工整理分类目录. 模式匹配自动搜寻. 精确概念手工整理. 明确主题人工回答. 知识挖掘. 2005. 1998. 1995. 2001. - PowerPoint PPT Presentation

Citation preview

Page 1: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

Tool KitTool Kit基于云计算的嵌入式开发工具基于云计算的嵌入式开发工具

武汉理工大学 李宁 博士

Page 2: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

传统开发模式的缺陷

基于云计算的嵌入式开发

CooCox Tools

提纲

Page 3: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

嵌入式开发的 5 大关注点

Source: 2008 Embedded Market Study

Page 4: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

传统嵌入式开发的缺陷

大量时间用于搜寻和鉴别资料

芯片手册、示例代码……

大量时间用于搜寻和鉴别资料

芯片手册、示例代码……

孤立的工程师

寻求帮助的渠道有限,反应不及时

孤立的工程师

寻求帮助的渠道有限,反应不及时

不能彻底关注业务层开发

底层驱动开发、调试和移植时间占用多

不能彻底关注业务层开发

底层驱动开发、调试和移植时间占用多

开发周期

加长

Page 5: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

知识挖掘

1995

手工整理分类目录

提供高质量精准的信息组织方式是人类孜孜不倦的追求,同样是嵌入式开发工具的未来方向。

模式匹配自动搜寻

1998

精确概念手工整理

2001 2005

明确主题人工回答

Page 6: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

参与参与 && 贡献贡献 && 共享共享

Google EarthGoogle Earth

Page 7: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

Device with Brower

基于浏览器的嵌入式开发

编译、存储、管理、文档、资料 ... ,尽在云端

基于云计算的嵌入式开发基于云计算的嵌入式开发

Page 8: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CooCoxCooCox Tools Tools

对用户体验的追求对用户体验的追求

Page 9: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoBuilder — CoBuilder — 基于互联网、以组件库为核心的嵌入式开发平台

主要特性: 可共享自己的组件以及组件的例程 支持 doxygen 语法规范,自动生成帮助文

档 基于 Eclpise的 IDE ,集成了 CDT 编辑器 支持 GCC 工具链 免费

Next Support:

添加更多组件,支持更多芯片 集成 CoAssistant 支持 Web 版

Page 10: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoBuilder — CoBuilder — 组件组件

组件共享平台

上传组件

下载组件

管理组件

Page 11: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoBuilder — CoBuilder — 例程例程

例程共享平台

上传例程

下载例程

管理例程

Page 12: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

组件库

......

组件库

......

CMIS core_cm3.h core_cm3.c

CMIS core_cm3.h core_cm3.c

GPIO lpc17xx_gpio.h

lpc17xx_gpio.c

GPIO lpc17xx_gpio.h

lpc17xx_gpio.c

组件 N组件 N

文档(Doxygen 格式 )

文档(Doxygen 格式 )

基于 GPIO 组件的例程

......

基于 GPIO 组件的例程

......

LED BlinkLED Blink

用户上传例程用户上传例程 用户上传组件 用户上传组件

从组件到工程 — 搭积木

工 程

完成 70% 的开发工作,用户专注于应用开发

完成 70% 的开发工作,用户专注于应用开发

组 件

Page 13: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoBuilder — 不仅仅是一个嵌入式 IDE

CoBuilderWEB

Page 14: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoAssistant — 在线辅助工具

主要特性:

在线辅助工具 直观的呈现寄存器细节信息 支持多种方式修改寄存器值 支持多用户实时协同编辑 可以查阅修订历史记录 免费

Next Support: 支持用户评论 CoBuilder、 CoDebugger 无缝集成

Page 15: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

直观的呈现寄存器细节信息

支持多种方式修改寄存器值

寄存器属性

位域细节显示枚举

通过编辑框修改

单击位域修改寄存器值

CoAssistant — 查看模式

Page 16: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

支持多用户实时协同编辑

可以查阅修订历史记录

添加一个位域

获得最新编辑结果

点击查看修订历史记录

CoAssistant — 编辑模式

Page 17: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoLinkEx — 完全开放的仿真器

支持 Cortex-M0 和 Cortex-M3 芯片 支持 SW 和 JTAG 调试 支持 CoFlash 和 CoDebugger 支持 MDK 和 IAR 集成开发环境 OPEN

SCH、 BOM List、 PCB、 FirmWare 公开,用户可以轻松DIY

< 8 USD< 8 USD

Page 18: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoDebuggerCoDebugger

CoDebugger 是一款免费,界面简单易用且可灵活定制的调试器 CoDebugger 是一款免费,界面简单易用且可灵活定制的调试器 支持 Cortex-M0/M3 芯片 , 具备所有的常用调试功能 用户可以任意拖动窗口,根据个人习惯定制出自己的 CoDebugger 界面

工程

断点

调用栈

内存

源码

反汇编

寄存器

变量

表达式

启动,停止,单步,全速等

Page 19: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoDebuggerCoDebugger

支持调试支持调试 CDT/CoBuilderCDT/CoBuilder 工程和工程和 ELFELF 文件文件 自动生成默认调试配置,导入工程或自动生成默认调试配置,导入工程或 ELFELF 文件即可调试文件即可调试

支持调试支持调试 CDT/CoBuilderCDT/CoBuilder 工程和工程和 ELFELF 文件文件 自动生成默认调试配置,导入工程或自动生成默认调试配置,导入工程或 ELFELF 文件即可调试文件即可调试

Page 20: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoDebuggerCoDebugger

支持 FLASH 下载 , 擦除功能 支持用户自定义 FLASH烧写算法 通过 CoLink 与编程算法,支持烧写 CPU 片内 FLASH 、 外扩 FLASH

支持 FLASH/RAM 调试

支持 FLASH 下载 , 擦除功能 支持用户自定义 FLASH烧写算法 通过 CoLink 与编程算法,支持烧写 CPU 片内 FLASH 、 外扩 FLASH

支持 FLASH/RAM 调试

自动下载配置

FLASH擦除模式配置

用户可自行添加用户可自行添加 FLASHFLASH 编程算法编程算法

Page 21: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoFlashCoFlash — — Cortex-M3/M0 可扩展 Flash 编程器

主要特性:

专注 ARM Cortex-M3/M0系列MCU 支持编程,擦除,空白检查,校验 多种格式目标文件支持 (*.bin/*.elf) 简单易用 用户自定义烧写算法 免费

Page 22: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoFlash—GUI&Cmd line mode

直观的图形用户界面 快速选择目标MCU 自动关联片内 Flash烧写算法 Flash Device 信息描述 友好的执行进度显示 保存最近一次配置

灵活、可批量操作的命令行模式 简洁的命令

coflash program LPC1114x301 ../example.bin

支持长类型,短类型的参数传递--driver=driver.elf -d driver.elf

完整的帮助提示通过 --help获取相应操作帮助,支持 MCU列表

Page 23: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoFlash—User-Define Algorithm

自定义烧写算法,可扩展支持多种外部 Flash 内置大多数流行MCU 片内 Flash烧写算法,且公开源代码 提供算法工程模板 仅需实现 Init,EraseSector, EraseChip, ProgramPage, UnInit逻辑

CoFlash 机制CoFlash 机制

Page 24: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoOSCoOS — — 实时操作系统实时操作系统

Task Specifications

Priority Levels 255

Active Tasks 255

Context Switch 1.5us

Interrupt Latency 0

Memory Requirements

CODE Space 974 Bytes

RAM Space 168 Bytes

RAM Space for a Task

TaskStackSize + 24 Bytes(MIN)

TaskStackSize + 48 Bytes(MAX)

多任务 – 支持时间片轮询、优先级抢占,根据任务数自适应切换任务结构体的查找算法。多模块 – 支持信号量、邮箱、队列、事件标志、互斥体、软件定时器、内存管理等模块。零中断延时时间,支持堆栈溢出检测。具有高度可裁剪性,最小内核仅 974Byte 。

Page 25: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

CoOS — 实时操作系统

主要特性: 实时系统内核 支持 Cortex M3/M0系列微控制器 支持多种编译器: ICCARM 、 ARMCC 、 GCC 开源 免费

Next support:

低功耗能源管理支持 Cortex M4FS 、 GUI 、 TCP/IP等更多中间件支持

Page 26: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

基于基于 CooCoxCooCox的的 Cortex MCUsCortex MCUs 开发四部曲开发四部曲

CooCox Tools —— 为程序开发每一环节提供最便利高效的工具

工程新建及管理

程序编写、编译

软件调试

Flash 烧写

CoBuilder 开发环境 — 便利高效

CDT 编辑器 & GCC 编译器 — 功能强大

CoFlash 烧写软件 — 简单、快捷

CoDebugger 调试器 — 简单易用

Page 27: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

使用使用 CooCoxCooCox 工具开发一个完整的工程工具开发一个完整的工程

使用 CoBuilder建立工程

使用 GCC 编译工程

使用CoDebugger 调试工程

使用 CoFlash 烧写工程

1. 选择芯片厂商 2. 选择芯片 3. 选择组件

使用 CDT 编辑应用程序

浏览并添加例程到自己的应用程序中浏览并添加例程到自己的应用程序中

Page 28: 传统开发模式的缺陷   基于云计算的嵌入式开发   CooCox  Tools

Website: www.coocox.org

Thank You !Thank You !

欢迎试用 Coocox Tools共建分享 & 奉献的嵌入式开发模式