随笔分类 - 实战技术分享
摘要:之前针对外部SPI Flash的SWD接口烧写,制作过一期专题视频教程。 产品生产时,不仅SPI Flash,有时候希望烧录目标板程序后,将EERPOM里面的参数也通过SWD接口存储进去,这样就不再需要大家单独再接上EEPROM的I2C接口烧录了,产品生产比较省事。针对这个问题就花了些时间,制作了下
阅读全文
摘要:首先感谢大家对上一个视频的点评回复,非常有意义的讨论,这次AC6的表现更新惊呆,不开优化都可以乱跳。 【实验目的】 同样的程序代码,目的是测试C环境的调试现象。 【实验版本】 IAR版本 :9.3x MDK版本:5.3x, 含AC5和AC6 Embedded Studio:使用GCC,版本V7.1X
阅读全文
摘要:视频: https://www.bilibili.com/video/BV1Bw411D7F5 介绍: 看参数手册的Debug章节,System ROM Table里面带Timestamp generator的都是支持的,不带的不支持。当前测试H743/H750等系列是带的。与DWT时钟计数器一样,
阅读全文
摘要:原贴地址:https://www.armbbs.cn/forum.php?mod=viewthread&tid=120114 这两天研究了下LVGL的持单缓冲,双缓冲和配合硬件消隐的双缓冲的实现(已经分享V5,V6和V7开发板的程序模板),特别是这个整屏缓冲方案,这几款GUI的实现基本是一样的,所以
阅读全文
摘要:这个问题之前一直理所当然,没有深究过,认为就是复位中断服务程序退出后进入到main的,实际不然。 【视频版】 https://www.bilibili.com/video/BV1Le411V7jS 【引出问题】 我们这里以MDK,IAR和GCC分别进行说明: (1) MDK的处理: main函数确实
阅读全文
摘要:视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 USB实战应用教程让大家不必为移植协议和底层驱动而烦恼,轻松上手应用实战。 本期视频给大家展示了一个USB Host外接扫描枪转串口输出的功能。 视频: https:/
阅读全文
摘要:H7-TOOL详细介绍:https://www.armbbs.cn/forum.php?mod=viewthread&tid=89934 【说明】 这几天一直在思考如何方便的使用SWD接口实时分析RTOS任务执行情况的问题,今天终于开窍了。 像uCProbe,SystemView,ThreadX T
阅读全文
摘要:前面的bootloader专题视频教程已经分享了基于WiFi,NAND,eMMC,SD卡和U盘的BootLoader实战,带CRC完整性校验,以及BootLoader的AES加密实战, 本期视频教程再来一期各种常用通信接口方式的。 视频: https://www.bilibili.com/video
阅读全文
摘要:之前分享过SPI Flash烧写算法的文档版制作教程,但是网友反馈移植到其它单片机上不是很方便,此贴为此而生,方便大家移植到各种平台。 SPI Flash烧写算法的应用场景: 1、IDE环境,比如MDK,可以方便的一键下载内部Flash和外部SPI Flash,在UI开发,比如字库,图库,主题或者各
阅读全文
摘要:查找资料也是学习能力的重要组成部分,初学的时候还可以在网上搜到各种资料,各种视频可以学习,随着自己也开始做项目,做开发,懵逼的问题一个接着一个,不仅没有视频可以学习,文档资料更是少的可怜。 全靠自己硬着头皮上。本帖为此而生,分享下这些年的心得。 搜索网站: 百度:虽然大部分搜索不太给力,但是搜索国内
阅读全文
摘要:本帖为继续为大家分享实战技能。 一、内联函数Inline function: 内联函数就是带inline关键字修饰的函数,作用是将函数直接嵌入到调用此函数的代码中,从而降低调用此函数所占用的时间。 典型的像CMSIS软件包,ST的LL库都开始采用内联的定义方式,这类函数特点是简短,适合需要频繁调用的
阅读全文
摘要:一、背景知识: (1)中断延迟:从中断触发到执行中断服务程序的第一条指令这段时间就是中断延迟时间。 对于Cortex-M内核芯片,典型的中断延迟时间是12-16个时钟周期 以Cortex-M3/M4内核为例,中断触发后,执行时序效果如下,其中xPSR,PC,R0,R1,R2,R3,R12和LR是硬件
阅读全文
摘要:这里以STM32H7为例进行说明,先看支持的校验格式: 主要是三种,6bit数据 + 1bit校验,7bit数据+1bit校验,8bit数据+1bit校验: 而发送寄存器和接收寄存器都是9bit格式的: 那么重点来了,校验位是串口外设硬件完成的,对应的数值也在发送/接收寄存器上。操作8bit数据+1
阅读全文
摘要:我们这里主要以STM32平台为例进行说明。 一、DMA到底能不能起到加速的作用 初学的时候,很容易存在这样的认识,DMA直接从一个外设到另一个外设的数据传输,少了CPU的参与,直接硬件传输,应该可以做到更快。 我们这里用实验数据说话,争取有理有据,下面是STM32H7的DMA2D,DMA1,DMA2
阅读全文
摘要:引出问题: 一个好的工程项目代码,特别是开源类的,如果能做到各种优化等级通吃,是一种非常好的工程案例,这样别人借鉴的时候,可以方便的适配到自己工程里。但实际项目中,针对一款产品代码,我们一般不会这么干,因为非常耗精力,意义也不大,一般是追求最高性能,最小代码量或者更高的稳定性,我们会选择一个合理的优
阅读全文
摘要:背景知识: 各种类型的数据传输和存储就涉及到大小端的问题,所以我们在开头把这个知识点做个说明。 首先要简单说下芯片的大小端问题,我们这里主要讨论Cortex-M内核。 权威指南的说明如下: Support for little endian and big endian memory systems
阅读全文