- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Composer Studio
- Code
所有‘.c’ 源文件和‘.h’ 头文件
外设驱动库: UART 示例
Int main(void) { // Set the clocking to run directly from the crystal. SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | void SYSCTL_OSC_MAIN | SYSCTL_XTAL_8MHZ); UARTIntHandler(void) // Enable the peripherals used by this example. { SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); unsigned long ulStatus; SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); // Enable processor interrupts. // Get the interrrupt status. ulStatus = ROM_UARTIntStatus(UART0_BASE, IntMasterEnable(); true); // Set GPIO A0 and A1 as UART pins. GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | // Clear the asserted interrupts. GPIO_PIN_1); ROM_UARTIntClear (UART0_BASE, ulStatus); // Configure the UART for 115,200, 8-N-1 operation. UARTConfigSet (UART0_BASE, 115200, // Loop while there are characters in the receive (UART_CONFIG_WLEN_8 | FIFO. UART_CONFIG_STOP_ONE | while(ROM_UARTCharsAvail (UART0_BASE)) UART_CONFIG_PAR_NONE)); { // Enable the UART interrupt. // Read the next character from the UART IntEnable(INT_UART0); // and write it back to the UART. UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT); ROM_UARTCharNonBlockingPut(UART0_BASE, // Loop forever echoing data through the UART. while(1) ROM_UARTCharNonBlockingGet(UART0_BASE)); { } } } }
Checkbox Container
多国语言库(适用于多种语言的人机交互界面设计)
• •
例如中文,韩文,日文,西方字符重音等等.
支持UTF8, ISO8859和Unicode编码。
Canvas Push Buttons
StellarisWare® 图形库效果示例
Primitives
Radio Buttons
• • • •
包含参考设计软件代码
所有boot_loader代码完全公开
支持绝大部分流行的第三方开发工具 预装载在大部分Stellaris MCU的ROM内(所有M4 Blizzard)
StellarisWare 简介 (2/2)
\stellarisware
StellarisWare 软件
Latest Softwar最新的软件更新信息
DriverLib 简介
•
所有外设具有方便的API 接口 Free license & royalty-free 简化并加速客户应用的开发进度 可用于应用开发或编程示例 可以使用编译后的目标库或者直接使用库源代码 支持ARM/Keil, IAR, Code Red, GNU 预装载在大部分MCU的ROM中(所有LM4F Blilzzard)
– IAR – CodeRed – Keil
USB ‘Host’ 相关文件
•
•
•
C:\StellarisWare\usblib\sourcerygxx –CodeSourcery
StellarisWare® 图形库
• •
完全用C语言编写,易用,高效 按功能分三个层次, 各层可直接调用:
• •
显示驱动层 图形单元层 部件层
• •
对其余通用的图形库有相关的 ‘c’ 和‘.h’文件 与编译器相关的库输出目录
• • • •
.\StellarisWare\grlib\ewarm
– IAR
.\StellarisWare\grlib\gcc
.\StellarisWare\grlib\rvmdk
– CodeRed
– Keil
\StellarisWare\grlib\sourcerygxx– CodeSourcery
StellarisWare USB 库
• •
全免费的USB应用示例加速Stellaris MCU USB相关应用的开发 例程:
•
Device 例程:
• • • • • • • •
HID Keyboard HID Mouse CDC Serial
Mass Storage
Generic Bulk Audio Device Firmware Upgrade Oscilloscope Mass Storage HID Keyboard HID Mouse Isochronous Audio Input
•
Host 例程:
• • • •
•
符合USB-IF
•
Stellaris MCU通过USB Device和嵌入式Host兼容性测试
•
TI 购买的Stellaris VID & PIDs 可供客户使用!
StellarisWare USB 库文件架构
包含所有USB库相关文件
• •
编译器相关的项目信息 与USB 类相关的 ‘.c’ 源文件和‘.h’头文件
•
•
•
•
•
•
DriverLib 组织结构
• •
每个外设/功能模块的C源代码和头文件 编译器相关的项目文件用来在不同编译 器环境下生成“库”
•
每个编译器有专门的输出目录和文件, 例如每个编StellarisWare\driverlib\ewarm - IAR
•
CDC HID
•
USB ‘Device’ 相关文件
• •
•
MSD
其它通用的USB ‘.c’ 源文件和‘.h’头文件 编译器相关的‘library’ 输出目录
•
C:\StellarisWare\usblib\ewarm C:\StellarisWare\usblib\gcc C:\StellarisWare\usblib\rvmdk
Stellaris® ARM® Cortex™-M 微控制器解决方案
StellarisWare® 驱动库软件包介绍
Simplicity Robustness Efficiency Determinism Flexibility … in Adoption and Implementation. … in Design. … in System Architecture. … in Control and Connectivity. … in Production.
StellarisWare® Software
CPU Test SRAM Test Flash Test
ADC Test GPIO Test Clock/Interrupt Test Nested Vector Interrupt Controller
Performs stuck bit testing on the CPU PC and registers. Performs stuck bit testing on the SRAM. Performs a CRC test on the Flash. Performs a conversion test on an ADC channel connected to a known voltage reference. Performs ADC temperature sensor test. Performs GPIO input/output plausibility test. Performs tests to check the clock frequency, interrupt handling, and execution. Deterministic, fast interrupt processing for execution certainty.
(Lowest Level) … (Highest Level)
Primitives Radio Buttons
•
专用小工具
• • • • •
ftrasterize: 设计你自己的字体 mkstringtable: 创建多国语言字符表 makefsfile: 以C阵列方式创建bin文件 lmi-button: 预定义带阴影和3D效果的按钮 pnmtoc: 将图片文件转化成GraphicsLib 可以识别的格式
– OTG 例程: • SRP (Session Request Protocol) • HNP (Host Negotiation Protocol)* – Windows INF文件 • Points to base Windows drivers • Sets config string • Sets PID/VID • Precompiled DLL saves development time – Device framework integrated into USBLib
C:\StellarisWare\driverlib\gcc - CodeRed
C:\StellarisWare\driverlib\rvmdk - Keil C:\StellarisWare\driverlib\sourcerygxx - CodeSourcery
•
C:\StellarisWare\driverlib\ccs
• •
‘.\StellarisWare\tools\ftrasterise’ 用来创建字体 ‘.\StellarisWare\tools\pnmtoc’用来创建图像
图形库字体相关文件
- Safe at Home with IEC 60730
Module Reset Handler Description Performs basic register and memory test out of reset.
Checkbox
Security Keypad
Canvas
Push Buttons
Container
BLDC Touchscreen Motor Controller
StellarisWare® 多国语言功能示例
StellarisWare 图形库组织架构
Grlib包含所有图形库相关文件
•
•
与编译器相关的项目
StellarisWare® 简介 (1/2)
• • •
所有源代码免费公开
所有代码由C语言编写,包括中断服务程序和启动代码
主要功能
• • • •
Stellaris Peripheral Driver Library (driverlib) Stellaris Graphics Library (grlib) Stellaris USB Library (usblib) Stellaris IEC 60730 Library
对所有的图形对象有专门的 ‘.c’ 和 ‘.h’ 文件
• •
Canvas, checkbox, circle, container, context Image, line, listbox, pushbutton, radiobutton
•
Rectangle, string, slider, widget