完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
不知道大家有没有这样的感受,现在的 MCU 芯片复杂度越来越高了,引脚上百个,时钟系统让人眼花缭乱,外设寄存器更是一大堆,芯片参考手册长达几千页,对于软件开发工程师来说,底层开发难度真的越来越大(说到这,有没有怀念 AT89C51 启蒙单片机的单纯)。
当然大型 MCU 厂商一般都会同步推出 SDK 包来缓解软件开发工程师的焦虑,但是这也不能覆盖全部的项目需求,软件工程师还是避免不了要基于 SDK 里跟项目需求最相近的例程做二次开发,因此查引脚、配时钟、看外设这些必备底层技能该会的一个都不能少。 有没有什么工具能进一步提升软件开发工程师的底层开发效率呢?当然有!MCUXpresso Config Tools 就是恩智浦软件团队倾注很大心血研发的辅助底层开发小工具集合。今天痞子衡带大家初步体验下 MCUXpresso Config Tools 中最核心的三大组件:引脚初始化配置工具、时钟初始化配置工具、外设初始化配置工具。 一、准备开发环境 首先需要准备好环境,包含必要的软件,痞子衡的环境如下: 二、软件基本机制 MCUXpresso Config Tools 目前主要由如下七大组件组成,除了 SDK Builder 和 Project Updater 是通用服务型组件外,其余五个用蓝圈框起来的就是面向底层开发的功能型组件: Clocks - 辅助时钟初始化配置Peripherals - 辅助外设初始化配置Pins - 辅助引脚初始化配置DCD - 辅助生成由 BootROM 处理的 DCD 启动头TEE - 辅助安全特性配置 更具体来说 MCUXpresso Config Tools 就是为了辅助生成下图蓝框中标出的代码源文件 pin_mux.c/h、clock_config.c/h、dcd.c/h 等,这些文件里的代码都是芯片底层基础初始化相关代码,这些源文件存在于 SDK 包里任何一个例程中,当然也能直接用于实际项目工程中。 三、导入SDK工程编辑 3.1 使用 MCUXpresso Config Tools 安装好 MCUXpresso Config Tools 软件,首次打开会让你选择开发方式,一共有四种,最推荐的就是默认的第一种,即以官方 SDK 包为基础,从 SDK 包里导出一个例程来进行二次编辑。 SDK 包里每个例程文件夹中都有一个同名的 .mex 文件(比如下图标出的 iled_blinky.mex),这个文件就是 MCUXpresso Config Tools 的配置文件,有了它,MCUXpresso Config Tools 就能获取选中 SDK 例程的全部信息。 在 MCUXpresso Config Tools 中 SDK Path 里先指定解压后的 SDK 包路径,然后选择你心仪的 Toolchain (IAR/MDK/GCC均可,但从 SDK 包导入方式下不推荐 MCUXpresso IDE,下一节会专门介绍 MCUXpresso IDE 下使用 Config Tools 的方法),接着找一个跟实际项目最相近的 SDK Example(这里用 iled_blinky 示例),最后设好 workspace 路径即可(这里仿照 MCUXpresso IDE 风格,在同目录下创建了MCUX_CFG_V10 文件夹专门存放工程)。 上一步完成后 MCUXpresso Config Tools 便会根据 SDK 包里 iled_blinky.mex 配置文件从 SDK 里导出完整的工程包到 MCUX_CFG_V10iled_blinky_cm7 文件夹下,这个文件夹下包含了全部的 iled_blinky 工程源文件,此时我们就进入了 MCUXpresso Config Tools 的工程编辑模式。 3.2 使用 MCUXpresso IDE 如果是在 MCUXpresso IDE 下开发项目,是可以不用单独安装 MCUXpresso Config Tools 工具的,IDE 里直接集成了 Config Tools。按 《MCUXpresso IDE下SDK工程导入与workspace管理机制》 一文先导出例程并打开,然后直接在菜单栏 ConfigTools 或者右上角快捷图标里进入即可,此时 IDE 界面会立刻切换到 Config Tools 编辑界面。 四、体验三大件(Pins, Clocks, Peripherals) 4.1 引脚初始化配置工具 - Pins Tool 先来看引脚初始化工具 - Pins,在这个小工具里直接勾选设置(按 I/O 名或者按功能进行分配),很快就能完成项目里全部的引脚分配,完全不用去查看芯片参考手册,而且主界面里还提供了封装引脚视图,能非常直观地看到了当前全部引脚使用情况。配置完成点击菜单栏里的 Update Code 按钮,MCUX_CFG_V10iled_blinky_cm7boardpin_mux.c/.h 文件就直接被更新了。 4.2 时钟初始化配置工具 - Clocks Tool 再来看时钟初始化工具 - Clocks,在这个小工具里也是一通勾选设置,很快就能完成项目里全部的外设时钟分配,这个工具最大的好处是能非常直观地让你看到完整时钟链路,比你对手册去查找设置要高效 n 倍,而且最终外设时钟频率值都是实时显示的,分频系数调整起来也非常方便。配置完成点击菜单栏里的 Update Code 按钮,MCUX_CFG_V10iled_blinky_cm7boardclock_config.c/.h 文件就直接被更新了。 4.3 外设初始化配置工具 - Peripherals Tool 最后来看外设初始化工具 - Peripherals,在这个小工具里可以通过勾选的方式完成全部的外设功能设置(即 SDK 包里外设驱动库中 xxPeripheral_config_t 型初始化结构体的赋值),部分外设还会提供更进阶的面向应用的配置,需要大家慢慢去发掘。配置完成点击菜单栏里的 Update Code 按钮,MCUX_CFG_V10iled_blinky_cm7boardperipherals.c/.h 文件就直接被更新了。 |
|
|
|
只有小组成员才能发言,加入小组>>
3310 浏览 9 评论
2991 浏览 16 评论
3492 浏览 1 评论
9055 浏览 16 评论
4086 浏览 18 评论
1175浏览 3评论
603浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
596浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2333浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1894浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 00:56 , Processed in 1.120238 second(s), Total 49, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号