KINETIS SDK V 2 CAS 2016 5 EXTERNAL

  • Slides: 63
Download presentation
KINETIS SDK V 2培训教程 熊宇,梁绍忠,李珂 CAS资深 程师 2016年 5月 EXTERNAL USE

KINETIS SDK V 2培训教程 熊宇,梁绍忠,李珂 CAS资深 程师 2016年 5月 EXTERNAL USE

KSDK V 2 初探 1 EXTERNAL USE

KSDK V 2 初探 1 EXTERNAL USE

Kinetis SDK v 2 – 操作系统支持 SDK包含了Free. RTOS, u. C/OS-II和u. C/OS-III操作系统的源 码和移植文件 § 通讯接口外设针对每个RTOS有单独的驱动实现:

Kinetis SDK v 2 – 操作系统支持 SDK包含了Free. RTOS, u. C/OS-II和u. C/OS-III操作系统的源 码和移植文件 § 通讯接口外设针对每个RTOS有单独的驱动实现: § Application Code Stacks / Middleware Board Support § § fsl_dspi_freertos. c / fsl_dspi_ucosiii. c 针对Free. RTOS提供了丰富的例程: § freertos_dspi RTOS Peripheral Drivers § freertos_event § freertos_generic § freertos_hello CMSIS-CORE and CMSIS-DSP § freertos_i 2 c § freertos_mutex § freertos_queue Microcontroller Hardware § freertos_sem § freertos_swtimer § freertos_tickles § freertos_uart 5 EXTERNAL USE

Kinetis SDK v 2 – Fat. Fs嵌入式FAT文件系统 § Application Code Fat. FS是专为小型嵌入式系统设计的开源FAT文件系 统: §

Kinetis SDK v 2 – Fat. Fs嵌入式FAT文件系统 § Application Code Fat. FS是专为小型嵌入式系统设计的开源FAT文件系 统: § § Stacks / Middleware Board Support § § § RTOS 完全兼容ANSI C标准的代码 分离的I/O接口层 支持FAT 12, FAT 16和FAT 32文件系统 紧凑的代码体积 灵活的配置选项支持: § 支持多个卷和分区 Peripheral Drivers § 支持长文件名 § 支持只读模式配置 § 支持裸机或者多任务环境运行 CMSIS-CORE and CMSIS-DSP Microcontroller Hardware 7 § SDK中提供了相应的应用示例: § sdcard_fatfs § usb_host_msd_fatfs Fat. Fs是第三方提供的软件, 详情访问 http: //elm. EXTERNAL USEchan. org/fsw/ff/00 index_e. html

Kinetis SDK v 2 – lw. IP嵌入式网络协议栈 § Application Code Stacks / Middleware RTOS

Kinetis SDK v 2 – lw. IP嵌入式网络协议栈 § Application Code Stacks / Middleware RTOS lw. IP是针对嵌入式系统的轻量级、全功能的 TCP/IP协议栈,支持以下子协议: Board Support Peripheral Drivers CMSIS-CORE and CMSIS-DSP § § ARP § IGMP § IPv 4 § DNS § IPv 6 § DHCP § TCP § SNMP § UDP § PPP § ICMP § PPPo. E 示例程序包括: § lwip_httpsrv Microcontroller Hardware § lwip_ping § lwip_tcpecho § lwip_udpecho 8 lw. IP是第三方提供的软件, 详情访问 EXTERNAL USEhttp: //savannah. nongnu. org/projects/lwip/

Kinetis SDK v 2 – BSP板级支持包 § Application Code Stacks / Middleware RTOS Board

Kinetis SDK v 2 – BSP板级支持包 § Application Code Stacks / Middleware RTOS Board Support Peripheral Drivers CMSIS-CORE and CMSIS-DSP Microcontroller Hardware 9 EXTERNAL USE SDK 2. 0 针对每一个示例 程都提供了相应的 BSP文件,以提供对硬件环境(时钟、I/O资 源等)标准化的的配置流程 § board. c § board. h § clock_config. c § clock_config. h § pin_mux. c § pin_mux. h

Kinetis SDK v 2 - 开发环境支持 11 EXTERNAL USE

Kinetis SDK v 2 - 开发环境支持 11 EXTERNAL USE

Kinetis SDK v 2 - 2016发布计划 Release 1 – 2016年 1月27日 Release 2 –

Kinetis SDK v 2 - 2016发布计划 Release 1 – 2016年 1月27日 Release 2 – 2016年 5月底 Release 3 – 2016年 5月底 支持Kinetis K & L系列中的热点产品 支持其他 Kinetis K & L产品和Kinetis M系 列 Kinetis W系列 • • 12 FRDM-K 22 F, TWR-K 22 F 120 M TWR-K 21 F 120 MA FRDM-K 64 F, TWR-K 64 F 120 M TWR-K 65 F 180 M TWR-K 81 F 150 M, FRDM-K 82 F FRDM-KL 43 Z, TWR-KL 43 Z 48 M FRDM-KL 27 Z EXTERNAL USE • • • FRDM-KL 02 Z FRDM-KL 03 Z FRDM-KL 25 Z FRDM-KL 26 Z FRDM-KL 46 Z TWR-K 60 D 100 M TWR-K 21 D 50 M TWR-K 24 F 120 M TWR-KL 82 Z 72 M, FRDM-KL 82 Z TWR-KM 34 Z 75 M Release 4 – 2016年 6月 底 Kinetis V系列

KSDK V 2 下� 13 EXTERNAL USE

KSDK V 2 下� 13 EXTERNAL USE

使用 SDK Builder – 入口 § 15 点击“Build an SDK”启动SDK builder 具 EXTERNAL USE

使用 SDK Builder – 入口 § 15 点击“Build an SDK”启动SDK builder 具 EXTERNAL USE

KSDK V 2 目�与文件�构 21 EXTERNAL USE

KSDK V 2 目�与文件�构 21 EXTERNAL USE

boards目录下的丰富例程 23 EXTERNAL USE

boards目录下的丰富例程 23 EXTERNAL USE

探索uart驱动示例 程目录构成 IAR 程文件 _transfer代表为基于Transactional API的示例 示例名称 emda_transfer 基于Transactional API的uart + edma组合 示例 interrupt

探索uart驱动示例 程目录构成 IAR 程文件 _transfer代表为基于Transactional API的示例 示例名称 emda_transfer 基于Transactional API的uart + edma组合 示例 interrupt 基于Functional API的uart中断示例 Interrupt_ring_buffer_tran sfer 基于Transactional API的uart环形缓冲示例 Interrupt_transfer 基于Transactional API的uart中断示例 polling_transfer 基于Transactional API的uart查询示例 KDS 程文件 Keil MDK 程文件 25 EXTERNAL USE

middleware 与 RTOS 源码目录概览 中间件 27 EXTERNAL USE dma_manage r 提供给应用程序动态管理DMA资源的接口 fatfs 移植支持ram disk,

middleware 与 RTOS 源码目录概览 中间件 27 EXTERNAL USE dma_manage r 提供给应用程序动态管理DMA资源的接口 fatfs 移植支持ram disk, mmc, SD(sdio or spi)和usb媒 介 lwip Lwip源码与移植 mmcau 针对M 0+, M 4和M 7指令优化的mm. CAU加密库 sdmmc 支持SD与mmc卡的驱动包装 usb 全新BSD-3 License usb驱动库源码

KSDK V 2 �手�� 29 EXTERNAL USE

KSDK V 2 �手�� 29 EXTERNAL USE

�手�� 1 PROJECT GENERATOR 具的使用 31 EXTERNAL USE

�手�� 1 PROJECT GENERATOR 具的使用 31 EXTERNAL USE

Project Generator 具下载 § 通过NXP官网KSDK的页面,可以下载Project Generator 具: § 下载链接:http: //www. nxp. com/products/software-and-tools/run-time-software/kinetis-software-andtools/development-platforms-with-mbed/software-development-kit-for-kinetis-mcus: KINETISSDK? code=KINETIS-SDK&node.

Project Generator 具下载 § 通过NXP官网KSDK的页面,可以下载Project Generator 具: § 下载链接:http: //www. nxp. com/products/software-and-tools/run-time-software/kinetis-software-andtools/development-platforms-with-mbed/software-development-kit-for-kinetis-mcus: KINETISSDK? code=KINETIS-SDK&node. Id=0152109 D 3 F 1 E 8 C 1 EF 7&fpsp=1&tab=Design_Tools_Tab § 33 具体细节如图所示,点击Download即可: EXTERNAL USE

�� SDK V 2的API • • 37 以ADC�例,打开 fsl_adc 16. h/. c文件,提供了大量的functional可供�用 void ADC

�� SDK V 2的API • • 37 以ADC�例,打开 fsl_adc 16. h/. c文件,提供了大量的functional可供�用 void ADC 16_Init(ADC_Type *base, const adc 16_config_t *config) − 初始化: − �取默�配置: − 校准: status_t ADC 16_Do. Auto. Calibration(ADC_Type *base); − 配置采�: *config); void ADC 16_Set. Channel. Config(ADC_Type *base, uint 32_t channel. Group, const adc 16_channel_config_t − �取采��果: static inline uint 32_t ADC 16_Get. Channel. Conversion. Value(ADC_Type *base, uint 32_t channel. Group) void ADC 16_Get. Default. Config(adc 16_config_t *config); �点 − 更��,用�大多数�候可以不用关心底�的寄存器�置 − 更灵活,每个外�的. c和. h文件各自独立,可以直接拷�并添加到用� 程中 − 更�化,抽象��低,没有���用,代�容量更小 EXTERNAL USE

�手�� 2 �易 API开��例 38 EXTERNAL USE

�手�� 2 �易 API开��例 38 EXTERNAL USE

Free. RTOS�� 操作系��介 56 EXTERNAL USE

Free. RTOS�� 操作系��介 56 EXTERNAL USE

Free. RTOS 全局配置文件Free. RTOSConfig. h 59 EXTERNAL USE

Free. RTOS 全局配置文件Free. RTOSConfig. h 59 EXTERNAL USE

Free. RTOS 内存管理API函数 队列管理相关API函数 pv. Port. Malloc 内存动态分配 v. Port. Free 动态内存回收(Heap_2, Heap_4, Heap_5)

Free. RTOS 内存管理API函数 队列管理相关API函数 pv. Port. Malloc 内存动态分配 v. Port. Free 动态内存回收(Heap_2, Heap_4, Heap_5) v. Port. Define. Heap. Regions 初始化定义多个非连续的内存区(Heap_5, Free. RTOS V 8. 1. 0) Heap_4. c . bss. data uc. Heap[ ] free memory 63 EXTERNAL USE Heap_5. c

Free. RTOS 外设驱动 1. XXX_Transfer. Receive. Non. Blocking Semaphore App Task 2. x. Semaphore.

Free. RTOS 外设驱动 1. XXX_Transfer. Receive. Non. Blocking Semaphore App Task 2. x. Semaphore. Take 3. x. Semaphore. Give. From. ISR 4. return task 64 EXTERNAL USE SDK drivers fsl_xxx_freertos. c XXX_RTOS_Callback HW ISR

�手�� 1 FREETROS开��例 65 EXTERNAL USE

�手�� 1 FREETROS开��例 65 EXTERNAL USE

Free. RTOS测试例程 KSDK V 2. 0提供了多个Free. RTOS��例程 67 EXTERNAL USE

Free. RTOS测试例程 KSDK V 2. 0提供了多个Free. RTOS��例程 67 EXTERNAL USE

QUESTIONS & ANSWERS 69 EXTERNAL USE

QUESTIONS & ANSWERS 69 EXTERNAL USE