嵌入式
就理个锅盖头吧
老师问:你有梦想吗?
我:有啊!
老师问:你的梦想是什么?
我:我的梦想就是不止在梦里想想,come true!!!
展开
-
IAR 的ICF文件之新建一个BLOCK
在IAR编译环境设置存储空间是通过“*.icf”文件来完成的。icf文件中:region >block >section修改前:/*###ICF### Section handled by ICF editor, don't touch! ****//*-Editor annotation file-*//* IcfEditorFile="$TOOLKIT_DIR...原创 2019-12-06 14:32:33 · 1115 阅读 · 0 评论 -
嵌入式中 固化函数接口,并通过函数的入口地址来调用
在嵌入式开发中,经常需要将函数接口固化到Flash中的特定位置,供其他应用来调用。特别是层次分明的嵌入式开发(IAP编程),这种需求会变得更加强烈。今天介绍一种简单的方法,来实现这一功能。1、先来分析下,在同一块MCU上,要想让A程序调用B程序中的函数,首先得让A程序知道自己将要调用的这个函数,在B程序中的入口地址。那么我们是不是首先得在A、B程序之间做一个约定,将接口放在某一特定地址,让A程原创 2017-08-18 10:53:04 · 3314 阅读 · 4 评论 -
单片机上内存管理(重定义malloc & free)de实现
在单片机上经常会需要用到像标准c库中的内存分配,可是单片机并没有内存管理机制,如果直接调用库函数(malloc,free...),会导致内存碎片越用越多,很容易使系统崩溃掉,这里分享一个自己写的适用于单片机的内存分配方法,具备轻量级的内存管理能力,有效减少内存碎片,提高单片机系统工作稳定性。 如下图,heap_start开始的地方,是我们存放用户数据的地方,在heap_end之前都是...原创 2017-08-25 16:36:33 · 5103 阅读 · 0 评论 -
飞思卡尔Kinetis系列单片机被锁住后,怎么解锁
Kinetis提供了相当可靠地知识产权保护机制;人为的给芯片上锁,这个对量产后的产品是必须的。但是,用户误擦写了芯片内部security的内存部分(0x400~0x40F),从而锁住了芯片;难道芯片就要报废了么,其实有解救办法。一旦芯片被锁,就是J-LINK等调试工具都没法下载程序,真是烦人。不过我们现在有解救办法了:在"J-Link Commander"中输入 “unlock k...原创 2017-09-21 18:14:09 · 7821 阅读 · 3 评论 -
STM32 USB CDC 驱动问题
问题:STM32的 USB CDC 工程使用STM32Cube 生成,编译下载后,插上USB发现如下图问题:在设备管理器显示黄色感叹号,驱动不正常。原因: 由于SMT32 USB 部分的代码用到了 malloc 和 free 这种标准库(#include <stdlib.h>)中定义的内存管理接口 ,而使用这种函数的前提是在内存中开出大小确定的 Heap_Siz...原创 2018-07-16 20:09:34 · 6477 阅读 · 0 评论 -
arm-eabi(arm交叉编译器) 在ubuntu虚拟机上的安装方法
arm-eabi 交叉编译器:可以用来编译 Android ARM ,Xboot,RT-Thread等。 在ubuntu虚拟机上的安装方法:# 此处为获取7.3.1版本,您可获取其他版本或者通过链接直接下载wget https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-eabi/gcc-linaro...原创 2019-01-17 17:29:17 · 626 阅读 · 0 评论 -
单片机嵌入式二维码解码识别
1)单片机嵌入式二维码(QRcode)生成2)单片机嵌入式二维码(QRcode)解码在我另一篇博客关于 “嵌入式二维码生成” 的博客里,经常会有小伙伴咨询关于单片机上做二维码解码的方法,其实直接利用单片机做解码基本是不可行的,不是速度慢就是内存不够,因为绝大多数单片机的资源是捉襟见肘的。因此本博主推出嵌入式二维码解码模组,需要在嵌入式环境做二维码解码的朋友,有福了。它体积小巧更易集...原创 2019-08-25 18:48:11 · 4863 阅读 · 0 评论