分享一个超棒的stm32的开源usb-can项目
照理来说,USB-CAN这种东西应该已经被做的烂大街的工具,国内居然没有一个拿得出手的开源方案。某立....
ToolKit是一套应用于嵌入式系统的通用工具包
ToolKit是一套应用于嵌入式系统的通用工具包,可灵活应用到有无RTOS的程序中,采用C语言面向对....
循环队列C语言面向对象实现
而我已经按照更面向对象的方法大改了原来的那个环形缓冲区模块,考虑到整个结构已经完全不同了,所以直接弃....
嵌入式开发模块指南:通用接收状态机模块
在软件开发的过程中,只要涉及到通信,就会涉及到数据接收机的编写,通信协议虽然多种多样,但是数据包的形....
FreeRTOS任务间通信,怎么实现?
FreeRTOS 是一个可裁剪、可剥夺型的多任务内核,十分好用,而且没有任务数限制,在此之前分析过很....
C语言的驱动法编程详细解析分享
使用表驱动法时需要关注两个问题:一是如何查表,从表中读取正确的数据;二是表里存放什么,如数值或函数指....
基于IAR的Cortex-M/R内核程序启动流程
在系统启动期间,进入 main() 函数之前执行初始化序列。 初始化序列处理目标硬件和 C/C++ ....
ARM中关键字的具体使用
今天在使用 Keil (主要是 armcc 编译器)编译代码(华大的 MCU 驱动库hc32f46x....
Cortex-M内核中断/异常系统、中断优先级/嵌套详解
最近在使用 STM32F3 芯片的时候,遇到这样一个问题:如果外部中断来的频率足够快,上一个中断没有....
Keil项目/生成的各种文件类型(.AXF、.D、.crf、.exf)说明
.UVMPW:用于多个项目的 μVision4 项目文件(工作空间项目文件)。包含对其他项目文件的引....
ELF文件、镜像(Image)文件、可执行文件、对象文件详解
ELF(Executable and Linking Format)是一个二进制文件规范。用于定义不....
聊聊程序分散加载启动的奥秘
程序是静态的概念,有数据有代码,都是存在不同的区域,但是进程是动态的概念,主进程在运行的时候,会实际....
神器必会!特别好使的编辑器Source Insight
“Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢....
如何设定PendSV优先级?
保存PSP到R0。为什么是PSP而不是MSP。因为在OS启动的时候,我们已经把SP设置为PSP了。这....
使用DFU方案实现STM32单片机的高级开发
DFU全称为Device Firmware update,是ST官方推出的一个通过USB接口进行....
C语言面向对象编程的最佳实践
以STM32为例,打开网络上下载的例程或者是购买开发板自带的例程,都会发现应用层中会有stm32f1....
几种用jLink命令行烧录hex文件的方法
工厂使用j-flash工具进行烧录,发现烧录后的数据和发布的hex文件数据对应不上,经过深入对比和分....
UDP/TCP包的大小限制是多少?
结论是显而易见的,这个数据包会被再次分片,更重要的是,这种情况下,如果 IP 包被设置了“不允许分片....
使用分散文件指定栈和堆创建root执行区
您可以FIXED在执行区分散文件中使用该属性来创建在固定地址加载和执行的根区。FIXED用于在单个加....
SVN与Git的最主要的区别
人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的....
如何使用CubeMx生成一个DFU工程
DFU用来做IAP是很方便的,可以直接通过USB来对APP进行升级,因此,掌握DFU的制作还是挺有好....