首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

代码自动生成重构一次探索

不过,工作量肯定和插件个数,以及插件代码规模肯定是成正比,我只需要把这两点统计出来,估计一个大概工作量还是可以。于是,有下面的统计表: 图 3 横坐标是代码行数,纵坐标是插件个数。...关于注解解析相关知识可参看我另一篇KM《apt与JavaPoet 自动生成代码》,由于篇幅限制,这里不做讲解。...然后Event.java中使用该注解: 图 4 图 5 (注:PlayerEvent 和UIEvent是Event定义内部类,事件Id定义在内部类。...图 12 图 13 图 14 总结 本文主要记述了我如何通过编写工具自动生成代码方式,提高代码重构效率。原本计划需要共计60人日工作量,实际一个人只用了不到三周时间便完成了任务。...由于文章已经比较长了,篇幅限制,本文并未对实现自动化工具代码实现细节进行过多讲解,这部分内容待到以后来分享了。

2.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

STM32Cube-01 | 初识 STM32 Cube 生态系统

开始介绍之前,先放上一段ST官方视频,作以欣赏了解: 它包括两大部分: PC软件工具: STM32CubeMX STM32CubeIDE STM32CubeProgrammer STM32CubeMnitor...STM32Cube PC Tools STM32Cube MX:适用于任何STM32设备配置工具 该工具用Java编写,所以可以Windows、Linux、Mac上运行,它可以使用用户通过图形用户界面对微控制器进行配置...,然后为Cortex-M内核生成初始化C代码,或者为Cortex-A内核生成Linux设备树源(下面两张图对STM32CubeMX作用作以诠释): ?...用户代码 底层库代码 STM32Cube提供HAL库或者LL库,覆盖STM32全系列,包括: ?...中间件代码 STM32Cube提供中间件代码非常丰富,包括: ? 用户代码 STM32Cube提供初步写好用户代码,开发者可以在此基础上开发各种应用: ?

93930

stm32微控制器开发者福音

物联网时代,MCU迎来了新爆发期!ST在这一浪潮走在了前列。 这不,创新又来了,使stm32使用更简单了。这完全是在打造生态链啊,竞争对手估计是很难超越了。去打听打听用stm32片子满大街。...它特色: 1.STM32CubeMX图像化配置工具,通过傻瓜化操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等。...STM32CubeMX生成代码基于STHAL库(硬件抽象层)和LL库(底层),ST已经停止更新STD库(标准外设库)情况下,使用基于HAL库和LL库STM32CubeMX就成了面向未来一个较好选择...自己写稳定性如何?这部分工作它也考虑了。STM32CubeMX提供了HAL硬件抽象层,方便你使用。STM32HAL库,STM32CubeMX就是以HAL库为基础,且目前仅支持HAL库及LL库。...在此结构下,用户代码处理主要分为三部分: 处理外设句柄(实现用户功能) 处理MSP 处理各种回调函数 3.TrueStudio forSTM32,针对stm32打造完全免费好用开发软件IDE,还再为使用

98740

STM32CubeMX 创建工程模板

STM32CubeMX是ST意法半导体推出STM32系列芯片图形可视化配置工具,用户可以通过图形化向导为Cortex-M系列MCU生成初始化代码工程模板。...相较于Keil创建工程模板,STM32CubeMX步骤少、上手快,但生成工程模板比较臃肿,因此本小结只简单介绍下相关创建操作,后面的实验仍使用前面自定义创建工程模板。...带代码生成完后,出现如图 7.2.7 所示提示,点击“Open Project”打开工程。 随后,将使用Keil自动打开工程,点击编译测试,编译成功,没有错误,如图 7.2.8 所示。...以后用户只需要在“main()”里添加代码内容即可。 【总结】 使用STM32CubeMX创建工程,非常便利。但同时也限制了用户对工程调整,代码内容、注释也臃肿。...如果用户需要快速搭建工程环境,STM32CubeMX是一个非常不错选择;如果想深入学习,根据自己习惯优化,可先熟悉如何自定义创建工程模板,以后根据自己习惯调整。

42630

RT-Thread CPU 固件移植理解

STM32CubeMX 固件工具 STM32CubeMX 是一个图形化工具,可以使用该工具来很方便配置 STM32 微处理器相关硬件并生成底层驱动(Low-layer APIs(LL)),硬件抽象层接口...生成一个完整项目,包含所有必需库和初始化C代码,以在用户定义工作模式下设置设备。可以选定应用开发环境中直接打开项目(适用于一系列支持IDE),以继续进行应用程序开发。...board\CubeMX_Config 目录 STM32CubeMX 工程,双击可以直接打开。...生成工程目录结构如下图所示: 这里你是不是就有疑问了,生成其余文件夹为什么可以删除,那是因为 bsp\stm32\libraries\STM32L4xx_HAL\ 已经包含了 STM32... CubeMX 生成文件除了上面提到 HAL 库外还有一个叫 CMSIS 文件夹。

90620

STM32STM32 CubeMx使用教程一–安装教程

一、STM32CubeMX 简介 1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,...CubeMX上,通过傻瓜化操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等 省去了我们配置各种外设时间,大大节省了时间...安装CubeMx一共需要三个 JRE (Java Runtime Environment) Java运行环境 运行JAVA程序所必须环境集合 STM32CubeMX HAL库 STM32...HAL库是ST公司为STM32MCU最新推出抽象层嵌入式软件,为更方便实现跨STM32产品最大可移植性。HAL库推出,可以说ST也慢慢抛弃了原来标准固件库,这也使得很多老用户不满。...盘 可以自行修改 ​ 解压到相对应路径即可 ​ 到此,恭喜你STM32 CubeMx安装成功了。

1.3K10

从小白到 Pro | RCC时钟基础知识和常见问题

RCC,Reset and Clock Control(复位和时钟控制),绝大部分MCU芯片中都包含复位和时钟控制模块,也是MCU重要组成部分。...标准外设库配置时钟 STM32F0、 F1、 F2、 F3、 F4、 L1系列都有标准外设库,如果外部高速时钟频率和官方一致,就可以直接使用标准外设库代码。 ?...生成代码默认 main.c 文件 SystemClock_Config 函数。 提示:分频和倍频因子值不能太大,也不能大小,建议参考官方例程参考值。...STM32 时钟常见问题 STM32时钟模块一旦出问题就可能引起系统不正常工作,特别是对时钟敏感部分。比如:定时器、串口波特率、I2C时钟等。...提示:CSS功能默认是关闭。标准外设库系统初始化代码默认配置开启CSS,STM32CubeMX默认配置是关闭

1.2K20

NUCLEO-L432KC实现GPIO控制(STM32L432KC)

LED灯外围电路搭建原理; 学习STM32CubeMX新建工程方法; 掌握STM32编程实现LED闪烁编程技巧。...按照自己工程要求配置时钟,本次以自动设置为例,直接将最后频率设置为 80MHz(确定后电机回车),STM32CubeMX 会自动设置。 ? 第5步:配置生成代码一些配置。... Project 界面设置本工程名称,选择按照什么开发工具生成项目工程,这里我们使用是 MDK5。 ?...可以看到工程目录分为两个部分,一个是 MDK5 工程目录,一个是 STM32CubeMX 工程。...第1步: stm32l4xx_hal_def.h文件查找到所需驱动函数:HAL_GPIO_TogglePin()和HAL_GPIO_WritePin,stm32l4xx_hal.h文件查找到所需延时函数

84820

详述使用CubeMX配置STM32RCC时钟

前言 STM32微控制器时钟部分是其操作核心,处理器稳定工作也离不开时钟,它负责为微控制器提供时钟信号以驱动CPU、外设和总线, 所用软件: Keil5 STM32 CubeMX 所用开发板型号...:stm32f103vet6 一、STM32时钟概述 STM32微控制器,时钟系统由多个时钟源、时钟分频器和时钟使能控制组成,可以通过寄存器配置来实现对时钟控制和调整。...时钟使能: 对于每个外设,都有相应时钟使能控制位,用于启用或禁用该外设时钟信号。当某个外设不被使用时,禁用其时钟可以减少功耗。 STM32,时钟配置通常由寄存器进行设置。...通过配置相关寄存器,可以选择时钟源、设置PLL倍频因子、配置分频器等。除了手动配置外,ST提供了CubeMX工具,它可以帮助用户通过图形界面来配置时钟,最终生成相应初始化代码。...三、使用CubeMX配置 配置RCC 修改HCLK为最大72M, 他这里是问我们没有时钟源没配置成功,点击ok,cubemx会自动帮我们修改 3.

65130

抢1.2万亿美元大蛋糕?意法半导体推出全新AI工具

刚刚过去STM32国峰会上,意法半导体将原本STM32CubeMX工具,全新升级为STM32CubeMX.AI,这无疑是一个非常重要信号,未来ST开发工具可以将人工智能数据/结果作为数据源潜入到硬件开发平台上...具体来说,就是先预先训练神经网络依赖框架输入STM32CubeMX.AI,STM32优化库会自动快速生成代码,就可以STM32上运行优化后神经网络生成代码,实现图像分类、语音激活文字、上下文检索以及动作分类等应用...STM32CubeMX.AI有独立DL框架,具体,意法半导体还有STM32 NN层软件库,这是STM32专家生成代码库,可以生成一些固件,也可以在这上面进行编程。...这仅仅是我们开始,我们AI方面有很大雄心,未来我们会做更多工作。迈向人工智能对于意法半导体来说是非常重要一步。”...比如您按一个键,相关数据运算就可以STM32上实现。这一点非常重要,我们人工智能领域也有相关非常好例子。

68120

stm32编程步骤_单片机STM32

可以从微控制器MCUSTM32入手… STM32,从字面上来理解,ST是意法半导体、M是Microelectronics缩写、32 表示32 位。...目前STM32生产厂商意法半导体,已经开发出一套软件STM32CubeMX + keil,能够用来自动生成ST公司生产全部stm单片机产品。...1、首先双击打开“STM32CubeMX ” 2、鼠标单击选择 “New Project” 3、搜索框搜索 “stm32f51k8” 4、鼠标双击“stm32f051k8Ux” 5、下载stm32f051k8u6...”,生成芯片代码 8、输入项目名称 “Project Name”(最好不要有中文) 选择项目保存到磁盘路径“Browse”(最好不要有中文) 选择生成 Keil5软件项目“Toolchain / IDE...而各种传感器、发光二极管、电阻、USB TTL 转接、等,是后续深入学习可能用到东西了。 如今32位控制器当中,STM32 可以说是最璀璨新星,它受宠若娇。

2.4K20

stm32开发教程_单片机STM32

上一段话包含两层意思:1、不熟悉STM32情况下,如何入手学习相关技术知识。2、不熟悉STM32情况下,作为公司在职开发人员,如何快速进入STM32相关项目开发工作,保证开发效率。...看一个我碰到项目实例:一同事在用STM32CubeMx生成代码,要交到我这里来对项目代码进行整合,代码里用到延时函数有两个HAL_Delay(), osDelay(),理论上,这两个延时函数参数延时基准都是...特别是整合程序时,基本我不再用STM32CubeMX去自动生成代码,不然很多代码被自动修改,会造成很大麻烦。 2、STM32CubeMX生成代码,有可能存在BUG,所以调试需全面考虑。...3、不用手册,通过观察CubeMX图形配置部分,然后明确具体有关时钟总线,外设关系情况下,就可以找到代码问题所在。...另外,STM32还可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL输出2分频、HSI、HSE、或者系统时钟。   系统时钟SYSCLK,它是供STM32绝大部分部件工作时钟源。

75420

keil MDK5搭建STM32开发环境

配置target选项(疑惑) 如果包含头文件是#include "stm32f4xx.h",则需要在Define填写USE_HAL_DRIVER(这个宏作用是启用外设),STM32F429XX...如果直接包含头文件#include "stm32f4xx_hal.h",则可以Define什么都不用填,就能正常使用外设。 为何会有两种方法,我还不明白。 5....到stST-Link官方页面下载驱动: 下载STM32 ST-LINK utility,: 页面的最下面,不容易看到: STM32 ST-LINK utility包括驱动和烧录程序软件...官方提供了更为方便初始化代码工具 STM32CubeMX,利用这个工具可以用图形化方法配置芯片并生成初始化代码,支持mdk,EWARM多种IDE,支持stm32全系列单片机,只有hal库。...用STM32CubeMX建立工程会生成一个模板,主函数while()里空白处写用户程序,方便很多,也规范很多。

1.4K20

STM32】STM32CubeMX教程二–基本使用(新建工程点亮LED灯)

前言 配置好CubeMX之后,就是新建工程开始了,那么首先我们需要一些准备,本片博客我们会很详细介绍STM32CubeMx基本使用和如何创建一个新工程并且点亮LED灯 面向初学者 如果您想着快速实现工程创建...,可以直接跳过功能介绍,观看工程创建一栏 并且,新建工程时,我们分为了具体流程1~7 如果您不想看每部分讲解,直接按照流程操作即可,5分钟即可成功点亮LED灯 安装STM32CubeMx请参看《STM32...CubeMx使用教程一–安装教程》 前期准备: 1、STM32硬件(我是STM32F407ZE和STM32F103ZE) 2、STM32CubeMx软件、 IDE Keil(MDK-ARM)软件...将HAL库所有.C和.H都复制到所建工程 优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX时候便会很方便 缺点: 体积大,编译时间长(很长) 只复制所需要.C和.H...到此,STM32CubeMX基本使用介绍完了 ,接下来会更新CubeMX和HAL库配置STM32UART ADC DMA 定时器 PWM 等等 发布者:全栈程序员栈长,转载请注明出处:https

1.7K30

RT-Thread 如何移植RTT到stm32《Rice RT-Thread 学习开发》

3.CubeMX工具(ST官网下载,提示:安装CubeMX需要安装java环境):ST公司推出一种自动创建单片机工程及初始化代码工具 CubeMX、java、Env我已经打包好:(下载路径:https...从源码路径:rt-thread\bsp\stm32\libraries\templates,复制一份stm32f10x模板到源码路径:rt-thread\bsp\stm32,并修改其名字(我修改为...,其中stmf103c8t6FLASH是64k,RAM是20k,然后将其配置到红框。...13.输入scons –target=mdk5,重新生成工程 14.双击工程文件没打开工程。 15.打开main.c,因为我所用板子上PC13接了一颗LED,所以修改一下代码。...生成完之后,可以工程路径下:\rt-thread\bsp\stm32\Rice_RT_Thread_stmf103c8t6\dist,将工程拷贝到任意位置。

1.2K20

STM32CubeMX入门教程(一)

01 STM32CubeMX软件简介 ABOUT STM32CubeMX STM32CubeMX是ST公司推出一种自动创建单片机工程及初始化代码工具,适用于旗下所有STM32系列产品。...02 HAL库LL库简介 ABOUT HAL & LL STM32CubeMX集成了HAL库和LL库,生成代码也是基于这两个库。...再往下,“2”部分则是外设配置,相信都清楚是什么。右侧“3”处则是芯片总体显示。右侧芯片管脚配置会根据左侧设置自动变化,也可直接点击芯片管脚设置功能。...此处命名会在自动生成代码main.h文件宏形式定义。操作如图。 到此,管脚配置完成。 4、时钟配置 选项页中选取第二个页Clock Configration,进行时钟配置。...第二个是如果日后更改配置重新生成文件是,是否备份以前所有文件。第三个是当重新配置后,不更改用户自己编写代码。这个我们勾选上,具体自己编写代码要写在正确位置才不会被擦除,后面再详述。

24.6K165
领券