Tool KitTool Kit基于云计算的嵌入式开发工具基于云计算的嵌入式开发工具
武汉理工大学 李宁 博士
传统开发模式的缺陷
基于云计算的嵌入式开发
CooCox Tools
提纲
嵌入式开发的 5 大关注点
Source: 2008 Embedded Market Study
传统嵌入式开发的缺陷
大量时间用于搜寻和鉴别资料
芯片手册、示例代码……
大量时间用于搜寻和鉴别资料
芯片手册、示例代码……
孤立的工程师
寻求帮助的渠道有限,反应不及时
孤立的工程师
寻求帮助的渠道有限,反应不及时
不能彻底关注业务层开发
底层驱动开发、调试和移植时间占用多
不能彻底关注业务层开发
底层驱动开发、调试和移植时间占用多
开发周期
加长
知识挖掘
1995
手工整理分类目录
提供高质量精准的信息组织方式是人类孜孜不倦的追求,同样是嵌入式开发工具的未来方向。
模式匹配自动搜寻
1998
精确概念手工整理
2001 2005
明确主题人工回答
参与参与 && 贡献贡献 && 共享共享
Google EarthGoogle Earth
Device with Brower
基于浏览器的嵌入式开发
编译、存储、管理、文档、资料 ... ,尽在云端
基于云计算的嵌入式开发基于云计算的嵌入式开发
CooCoxCooCox Tools Tools
对用户体验的追求对用户体验的追求
CoBuilder — CoBuilder — 基于互联网、以组件库为核心的嵌入式开发平台
主要特性: 可共享自己的组件以及组件的例程 支持 doxygen 语法规范,自动生成帮助文
档 基于 Eclpise的 IDE ,集成了 CDT 编辑器 支持 GCC 工具链 免费
Next Support:
添加更多组件,支持更多芯片 集成 CoAssistant 支持 Web 版
CoBuilder — CoBuilder — 组件组件
组件共享平台
上传组件
下载组件
管理组件
CoBuilder — CoBuilder — 例程例程
例程共享平台
上传例程
下载例程
管理例程
组件库
......
组件库
......
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% 的开发工作,用户专注于应用开发
组 件
CoBuilder — 不仅仅是一个嵌入式 IDE
CoBuilderWEB
CoAssistant — 在线辅助工具
主要特性:
在线辅助工具 直观的呈现寄存器细节信息 支持多种方式修改寄存器值 支持多用户实时协同编辑 可以查阅修订历史记录 免费
Next Support: 支持用户评论 CoBuilder、 CoDebugger 无缝集成
直观的呈现寄存器细节信息
支持多种方式修改寄存器值
寄存器属性
位域细节显示枚举
通过编辑框修改
单击位域修改寄存器值
CoAssistant — 查看模式
支持多用户实时协同编辑
可以查阅修订历史记录
添加一个位域
获得最新编辑结果
点击查看修订历史记录
CoAssistant — 编辑模式
CoLinkEx — 完全开放的仿真器
支持 Cortex-M0 和 Cortex-M3 芯片 支持 SW 和 JTAG 调试 支持 CoFlash 和 CoDebugger 支持 MDK 和 IAR 集成开发环境 OPEN
SCH、 BOM List、 PCB、 FirmWare 公开,用户可以轻松DIY
< 8 USD< 8 USD
CoDebuggerCoDebugger
CoDebugger 是一款免费,界面简单易用且可灵活定制的调试器 CoDebugger 是一款免费,界面简单易用且可灵活定制的调试器 支持 Cortex-M0/M3 芯片 , 具备所有的常用调试功能 用户可以任意拖动窗口,根据个人习惯定制出自己的 CoDebugger 界面
工程
断点
调用栈
内存
源码
反汇编
寄存器
变量
表达式
启动,停止,单步,全速等
CoDebuggerCoDebugger
支持调试支持调试 CDT/CoBuilderCDT/CoBuilder 工程和工程和 ELFELF 文件文件 自动生成默认调试配置,导入工程或自动生成默认调试配置,导入工程或 ELFELF 文件即可调试文件即可调试
支持调试支持调试 CDT/CoBuilderCDT/CoBuilder 工程和工程和 ELFELF 文件文件 自动生成默认调试配置,导入工程或自动生成默认调试配置,导入工程或 ELFELF 文件即可调试文件即可调试
CoDebuggerCoDebugger
支持 FLASH 下载 , 擦除功能 支持用户自定义 FLASH烧写算法 通过 CoLink 与编程算法,支持烧写 CPU 片内 FLASH 、 外扩 FLASH
支持 FLASH/RAM 调试
支持 FLASH 下载 , 擦除功能 支持用户自定义 FLASH烧写算法 通过 CoLink 与编程算法,支持烧写 CPU 片内 FLASH 、 外扩 FLASH
支持 FLASH/RAM 调试
自动下载配置
FLASH擦除模式配置
用户可自行添加用户可自行添加 FLASHFLASH 编程算法编程算法
CoFlashCoFlash — — Cortex-M3/M0 可扩展 Flash 编程器
主要特性:
专注 ARM Cortex-M3/M0系列MCU 支持编程,擦除,空白检查,校验 多种格式目标文件支持 (*.bin/*.elf) 简单易用 用户自定义烧写算法 免费
CoFlash—GUI&Cmd line mode
直观的图形用户界面 快速选择目标MCU 自动关联片内 Flash烧写算法 Flash Device 信息描述 友好的执行进度显示 保存最近一次配置
灵活、可批量操作的命令行模式 简洁的命令
coflash program LPC1114x301 ../example.bin
支持长类型,短类型的参数传递--driver=driver.elf -d driver.elf
完整的帮助提示通过 --help获取相应操作帮助,支持 MCU列表
CoFlash—User-Define Algorithm
自定义烧写算法,可扩展支持多种外部 Flash 内置大多数流行MCU 片内 Flash烧写算法,且公开源代码 提供算法工程模板 仅需实现 Init,EraseSector, EraseChip, ProgramPage, UnInit逻辑
CoFlash 机制CoFlash 机制
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 。
CoOS — 实时操作系统
主要特性: 实时系统内核 支持 Cortex M3/M0系列微控制器 支持多种编译器: ICCARM 、 ARMCC 、 GCC 开源 免费
Next support:
低功耗能源管理支持 Cortex M4FS 、 GUI 、 TCP/IP等更多中间件支持
基于基于 CooCoxCooCox的的 Cortex MCUsCortex MCUs 开发四部曲开发四部曲
CooCox Tools —— 为程序开发每一环节提供最便利高效的工具
工程新建及管理
程序编写、编译
软件调试
Flash 烧写
CoBuilder 开发环境 — 便利高效
CDT 编辑器 & GCC 编译器 — 功能强大
CoFlash 烧写软件 — 简单、快捷
CoDebugger 调试器 — 简单易用
使用使用 CooCoxCooCox 工具开发一个完整的工程工具开发一个完整的工程
使用 CoBuilder建立工程
使用 GCC 编译工程
使用CoDebugger 调试工程
使用 CoFlash 烧写工程
1. 选择芯片厂商 2. 选择芯片 3. 选择组件
使用 CDT 编辑应用程序
浏览并添加例程到自己的应用程序中浏览并添加例程到自己的应用程序中
Website: www.coocox.org
Thank You !Thank You !
欢迎试用 Coocox Tools共建分享 & 奉献的嵌入式开发模式