- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 嵌入式内存管理探究-基于FreeRTOS
嵌入式内存管理探究-基于FreeRTOS文章封面本文基于嵌入式裸机或RTOS系统下内存管理方法的探究,灰色方块为正在使用的内存块,白色为可用内存块。 好的内存管理算法,有以下几个特征: 内存碎片化小 故障调试能力:发生内存泄漏和踩踏时,可追溯位置,便于定位故障 管理成本小:管理的代码本身占用空间小,从空间复杂度 申请和释放效率高:时间复杂度 FreeRTOS的heap_5算法 相比 heap_4 支持地址不连续的两个内存区域,比如芯片内置RAM+外挂
2021-01-29 10:10:44
364
原创 嵌入式裸机内存动态管理的实现与讲解(一)
嵌入式裸机内存动态管理的实现与讲解(一)C 的标准库自带了malloc和free,为啥还要自己实现?标准库的函数占用空间较大,采用本文的实现可节约几KB的存储空间;为啥说裸机呢?因为带系统的软件系统一般都会带内存的动态管理函数供使用;内存碎片是什么? 首先明确一点,申请内存时会返回一个首地址,从首地址往后的 size 大小的空间都可用,这就说明 malloc必须返回一段连续的内存地址;有些内存动态管理算法是不支持碎片回收的,总是以新地址开始申请。已验证,标准 C 库的malloc和free的函数
2020-06-28 01:05:41
1012
原创 CRC校验原理及代码实现(一)
网上的有关CRC的原理和代码实现的文章,数不胜数,但比较全的好像还没看到;此文是集百家之智慧,加之自己的使用经验和理解汇聚此文,让你快速理解和使用CRC,当然不足之处欢迎评论区吐槽。1. CRC是什么 ?循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。---- 来自百度百科哦,他是生成一段数据包
2020-06-25 00:20:27
664
原创 ubuntu 执行ELF 32-bit文件,提示找不到,明明就在当前路径执行的
64位系统要执行32bit的文件,需要安装库,sudo apt installlib32ncurses5 lib32z1完美解决,交叉编译时常常遇到
2019-04-27 18:13:40
1586
1
原创 Android studio环境配置踩坑
1. 检查系统java环境是否安装$ java -versionjava version "1.8.0_201"Java(TM) SE Runtime Environment (build 1.8.0_201-b09)Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)2. java环境安装配置方法下载ja...
2019-04-16 23:01:15
788
原创 FreeRTOS-Software Timer
5. 软件定时器5-1 Introduction此功能为可选功能,选用请加入timers.c & timers.h功能是由一个定时器任务管理运行的,vTaskStartScheduler函数会创建这个任务daemon task,这个任务会读取定时器命令队列中的消息进行处理(是否是一直堵塞等待消息处理?)关键词定时器任务定时器命令队列回调函数#define configU...
2018-11-17 11:56:30
742
原创 ubuntu16.04无法加载cp210x解决
系统自带的ko文件好像有点问题,直接插上设备,会提示出错!cp210x的驱动依赖于 usbserial.ko才能运行!!# dmesg | tail 查看系统最后的运行日志,会提示相关文件没有打开万能解决方法:先卸载usbserial.ko 和 cp210x.ko驱动 rmmod命令下载官方源码make,替换系统的cp210x.ko(替换前先保存个副本,习惯)https://www...
2018-11-05 11:02:22
3168
1
原创 windows系统搭建make编译环境
1.先安装git工具,一路next就好,https://www.git-scm.com/download/安装选项说明参考https://blog.youkuaiyun.com/sishen47k/article/details/80211002安装完成后,右键菜单新增Git GUI Here &&Git BashHere;这里说明Git BashHere打开后是一个类似...
2018-08-28 19:42:39
15126
3
原创 unix环境编程第三版源码编译学习说明
pdf书籍下载链接:源码下载链接:http://apuebook.com/code3e.html下载解压后进入apue.3e文件夹,直接执行make,报错如下:/usr/bin/ld: cannot find -lbsd 链接出错,缺少链接库$ sudo apt-get install libbsd-dev复制头文件和库到ubuntu的/usr下:$ sudo cp ....
2018-08-27 17:11:34
253
原创 ubuntu 之软件管理 apt-get && dpkg
1. /etc/apt/sources.list文件这个文件中存放一些下载源地址,执行apt-get install packagename时,就会到对应地址get;#add aliyun in 2018-2-26deb http://mirrors.aliyun.com/ubuntu/ quantal main restricted universe multiversedeb-s...
2018-08-14 00:05:31
265
原创 持续更新《Cortex-M0内核MCU的IAP升级》
这里给出基于Keil的工程源码,分为Bootloader和App两个工程,主要实现基于UART的IAP升级功能,升级过程中通信中断,重新上电后Bootloader仍可运行,再次执行升级即可。实现平台:STM32F030R8 + STLink + SecureCrt + CubeLL库IAP的英文直译的意思是,在应用中编程,而不是传统的采用SWD/JTAG下载的方式;通讯方式只要MCU支持即可,这里用
2017-11-05 16:54:32
4376
07-5123-07-ZigbeeClusterLibrary_Revision_7.pdf
2020-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人