Keil MDK 5.30来了,编译性能优化,快速入门Cortex-M55

关注、星标公众号,不错过精彩内容素材来源:Arm Keil编辑整理:strongerHuang早在ARM推出Cortex-M55内核的时候,就放出来一些关于Keil MDK V5.30的消息:Cortex-M55来了,将集成在下一代STM32、Keil MDK等产品中.果不其然,在两个多月后的今天,在官方推送了Keil MDK V5.30的更新消息。地址:...
📅 2023-07-08 阅读全文 →

代码为什么需要遵循规范,来看看µC/OS代码规范

关注、星标公众号,不错过精彩内容素材来源:micrium编辑整理:strongerHuang开发过项目的工程师都知道,一个好的项目,代码基本都有统一的规范,否则代码就会随着版本迭代,变得越来越臃肿。代码规范应在项目早期建立,这些规范对于保持整个项目的一致性非常有必要,采用一致的规范可以提高效率并简化项目维护。采用一致的规范可以:可移植性一致性整洁维修方便容...
📅 2023-07-08 阅读全文 →

简单几步DIY属于自己的IAR工具栏

关注、星标公众号,不错过精彩内容作者:strongerHuang微信公众号:strongerHuang对于开发工具,有的朋友喜欢使用快捷键进行操作,而有的朋友喜欢使用快捷按钮做一些操作。本文给大家带来一点小知识:定制属于自己的IAR工具栏。1什么是IAR工具栏简单来说;IAR工具栏就是在菜单下面哪一行具有快捷功能的图标栏。IAR 的工具栏 ToolBar ...
📅 2023-07-08 阅读全文 →

STM32 ST-LINK Utility查看内核运行状态

关注、星标公众号,不错过精彩内容作者:strongerHuang微信公众号:strongerHuangST-LINK Utility 是一款针对 STM32 的下载编程工具,目前它被 STM32CubeProgrammer 代替了,官方没有更新了,但它同样是一款很好的工具,也相对比较稳定。一、编程工具针对 STM32 的编程工具,官方出了三个比较常用的工具...
📅 2023-07-08 阅读全文 →

C语言 volatile 关键字在编译优化过程中有何作用

关注、星标公众号,不错过精彩内容作者:strongerHuang微信公众号:strongerHuang初学的读者可能不怎么关心编译器优化的功能,但对于经验丰富的工程师来说,掌握代码优化是必备技能。今天讲述的话题就是关于代码优化中,关键字volatile在优化过程中起到的作用。一、关键字 volatile 是什么?volatile是一个类型修饰符(...
📅 2023-07-08 阅读全文 →

USB 2.0 网络、传输、通讯和协议

关注、星标公众号,不错过精彩内容作者:strongerHuang微信公众号:strongerHuangUSB在我们生活中应用非常广泛,但绝大部分工程师都只注重USB应用层的开发,很少有人去了解USB更底层的一些技术。今天就结合USB 2.0来简单讲述USB底层的一些基础知识。一、USB网络USB物理层网络为分层星型网络:一台主机和若干从设备。USB 2.0...
📅 2023-07-08 阅读全文 →

FreeRTOS V10.4.0更新了哪些功能?

关注、星标公众号,不错过精彩内容素材来源:FreeRTOS编辑整理:strongerHuang前几天,FreeRTOS 从V10.3.1 升级到了 V10.4.0,其中更新并增强了不少内容。FreeRTOS源码Github地址:https://github.com/freertos/freertos(公号不支持外链接,请复制链接到浏览器打开)一、版本管理到...
📅 2023-07-08 阅读全文 →

__FILE__、__LINE__等几种C标准用法

关注、星标公众号,不错过精彩内容作者:strongerHuang微信公众号:strongerHuangC语言有很多特殊的用法,如果这些特殊用法使用得当,会是你的代码变得更加有健壮,更加容易维护。比如我们在使用STM32库的断言(assert),你会发现官方提供了包含“__FILE__、__LINE__”的代码。标准外设库位于stm32fxxx_conf.h...
📅 2023-07-08 阅读全文 →

FreeRTOS如何减少RAM占用空间并加快执行速度

关注、星标公众号,不错过精彩内容作者:strongerHuang微信公众号:strongerHuang之前分享了《FreeRTOS V10.4.0更新了哪些功能?》,今天就来详细讲述其中的一个知识点:FreeRTOS的直接任务(消息)通知,这样做的目的就是减少RAM占用空间并加快执行速度。一、写在前面几乎所有RTOS操作系统都提供了队列和信号量的功能,对于...
📅 2023-07-08 阅读全文 →

Keil MDK V5.32 和 V5.31 对比,及价格

关注、星标公众号,不错过精彩内容作者:strongerHuang微信公众号:strongerHuangKeil MDK-ARM升级到了V5.32,有多少人下载试用了,下面我就来简单讲讲这次更新内容。一、MDK V5.32更新内容与V5.31相比,这次只进行小小更新,各种组件软件包也支持小版本升级。1.ARM编译器编译器由上一版本的Arm Comp...
📅 2023-07-08 阅读全文 →

Keil MDK的一个bug

关注、星标公众号,不错过精彩内容素材来源:Keil编辑整理:strongerHuang不知道还有多少人在继续在使用Keil MDK做开发,或学习,猜的没错的话,应该还是有不少人任然在使用MDK。前面有个读者给我反馈一个问题,大概就说说Keil中的配置(configuration)信息不全。类似下图:之前读者给我反馈的问题我没有遇到过,所以也没有帮忙解决。但...
📅 2023-07-07 阅读全文 →

全面解读STM32生态环境,介绍、下载安装、使用教程等

关注+星标公众号,不错过精彩内容作者:strongerHuang微信公众号:strongerHuangSTM32能被这么多开发者认可,它的强大生态系统起了关键作用。本文围绕STM32生态各软件工具进行相关描述,其中包含一些技术细节。一、STM32生态系统总预览STM32提供了全套开发工具,以及开发所需的软件包,下面看一张图,从全局来了解STM32生态系统工...
📅 2023-07-07 阅读全文 →

几款优秀的支持C、C++等多种语言的在线编译器

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang今天10.24程序员节,是一个特殊的日子,2020 - 1024 = 996,你没看错,2020年的1024更加特别(不要问我为什么特别)。作为程序员,使用编译器是必备技能,但是从入门到放弃,基本上就是在开发环境安装、配置这一步。。。大家...
📅 2023-07-07 阅读全文 →

结合 Keil 描述如何编写ARM处理器的Bootloader

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang之前从应用的角度给大家分享过Bootloader相关的文章,今天从底层原理来给大家描述ARM处理器如何编写Bootloader。1关于BootloaderBootloader顾名思义就是引导加载程序,是在操作系统或应用程序运行之前的一段程序,是在系...
📅 2023-07-07 阅读全文 →

下载调试接口 SWD 和 JTAG的区别

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang作为嵌入式工程师,下载调试器都应该知道,但你真正了解其SWD 和 JTAG接口的含义和区别吗?1什么是下载调试器简单来说,下载调试器是将PC(例如通过USB协议)发送的命令转换为MCU(负责MCU内部外围设备)理解的语言(例如SWD或JTAG协议)...
📅 2023-07-07 阅读全文 →

SEGGER的三款RTOS(embOS)有什么特点?

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang说到SEGGER可能有些读者比较陌生,但说到J-Link相比大家都比较熟悉。是的,J-Link就是SEGGER公司下的一款产品,SEGGER除了我们熟悉的J-Link其实还有很多嵌入式软件相关的产品,你了解多少?之前还给大家分享过《STM32生态系...
📅 2023-07-07 阅读全文 →

Keil MDK如何将变量存储在指定内存地址

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang变量是程序中重要的一部分,产品中很多业务代码都是变量起到了关键作用。传感器采集的数据、通信中传输的数据、算法中的数据等这些数据都需要借助变量这个东西来实现。我们为什么要将变量、数组(例如表或函数)存储到特定的地址?因为有些特殊的数据可能需要指定地址...
📅 2023-07-07 阅读全文 →

无MMU抢占式操作系统的抢占工作原理

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang操作系统对于初学者来说是一个很神秘的东西,里面很多原理摸不清楚,导致还没入门就放弃了。本文就来从底层开始,详细讲述抢占式操作系统(大多数RTOS)的抢占原理。包含:线程基础原理线程之间抢占中断抢占线程中断抢占中断stronger...
📅 2023-07-07 阅读全文 →

Cortex-M强大的调试和跟踪CoreSight技术

关注、星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang如今众多Cortex-M处理器能这么方便调试,在于有一项基于Arm Cortex-M处理器设备的CoreSight技术,该技术引入了强大的新调试(Debug)和跟踪(Trace)功能。下面就来重点讲讲关于CoreSight中调试和跟踪的相...
📅 2023-07-07 阅读全文 →

函数体内局部变量定义的问题

关注、星标公众号,不错过精彩内容作者 | strongerHuang微信公众号:strongerHuang有读者问了这样一个问题:我将IAR EWARM中的一个函数,拷贝到Keil MDK-ARM中之后,编译出错了?为什么在EWARM中可以编译通过,却在MDK-ARM中会出错呢?strongerHuang1函数中变量的定义位置大家先看下...
📅 2023-07-07 阅读全文 →

手把手教你升级Keil MDK的ARM编译器

关注、星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang今天在我的技术交流群里,有朋友问了这么一个问题:怎么才能用更高的编译器呀?这位朋友给了一张图:从上图可以看得出来,这位朋友使用的Keil MDK并不是最新版本。目前(2020-11)最新MDK版本为V5.32,默认编译器版本为V...
📅 2023-07-07 阅读全文 →

手把手教你在Keil MDK中使用GCC编译器工具链

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuangKeil MDK 是否支持编译器?有没有办法选择其他编译器?可能你使用其他GUN工具链进行编译时,会出现类似如下错误:--- Error: can't execute 'as'--- Error: can't execute '...
📅 2023-07-07 阅读全文 →

STM32四种库对比:寄存器、标准外设库、HAL、LL

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang1.我是选择寄存器开发STM32,还是标准外设库呢?2.你有STM32L0标准外设库吗?3.HAL库和LL库有什么差异?。。。下面就来讲讲开发STM32的四种库:STM32SnippetsStandard Peripheral ...
📅 2023-07-07 阅读全文 →

FreeRTOS中相对延时和绝对延时的区别

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏嵌入式软件代码中延时是很常见的,只是延时种类有很多,看你用什么延时。嵌入式专栏1一个延时的问题问题:周期性(固定一个时间)去处理某一件事情。你会通过什么方式去实现?比如:间隔10ms去采集传感器的数据,然后通过一种算法计算出一个结果,最后通过串...
📅 2023-07-07 阅读全文 →

手把手教你制作基于IAR、STM32H7的下载算法

关注+星标公众号,不错过精彩内容作者 | Lucas编排 | strongerHuang本文由作者『Lucas』原创并授权发布,地址:https://blog.csdn.net/lin_duo/article/details/110754189下载算法对于大部分工程师来说,只需要会使用即可,也不用过多去关心里面实现的方法。当然,对于有时间...
📅 2023-07-07 阅读全文 →

Keil MDK 和 IAR EARM发展历程及历史版本下载

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏Keil 和 IAR算是一代经典的IDE工具,之所以这么多人使用,除了工具比较好之外,他们的发展历史比较长也是一个原因。下面来描述一下Keil MDK 和 IAR EARM发展历程及历史版本下载。嵌入式专栏1Keil MDKKeil MDK之前其实是叫R...
📅 2023-07-07 阅读全文 →

STM32Cube HAL库中断处理机制,回调函数实现原理

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏STM32Cube HAL出来六七年了,还是有很多初学者没有适应,今天就分享一个读者问到的关于中断处理的问题。很多人都知道STM32CubeMX这套工具的一个目的:减少开发者对STM32底层驱动的开发时间,把重心放在应用代码上。但是,STM32...
📅 2023-07-07 阅读全文 →

2020,记录这特殊的一年

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang时间过得太快,一晃一年就过去了,仿佛上一次写2019年终总结就在昨天。2020日子挺难过,但难过归难过,日子还得继续下去,我觉得今年没有什么大病大灾就是最大的幸福。这两天抽空梳理了下今年所做的一些事情,以及今年的一些收获...
📅 2023-07-07 阅读全文 →

当年,我也搞过安卓

关注+星标公众号,不错过精彩内容作者 | strongerHuang公众号 | strongerHuang可能你看到标题,以为我在推荐安卓的课程,我觉得6W多粉丝中,搞安卓的不超过20人,推荐安卓课程也没人买。今天不推荐安卓课程,而是真正聊一下,我当年搞安卓那段“辉煌”又“失败”的经历。strongerHuang1爱折腾是一件好事关注我...
📅 2023-07-07 阅读全文 →

Keil MDK使用编译器AC5与AC6生成浏览信息的差异

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏很多使用过Keil MDK的工程师都发现了一个问题,Keil MDK编译代码的时候,速度很慢。编译速度慢有几个原因:编译器代码量大小工程配置(生成信息)其中工程配置中生成信息包含多种,打开工程选项卡就能看见。Project ->...
📅 2023-07-07 阅读全文 →