会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
蜗牛等等
博客园
首页
新随笔
联系
订阅
管理
2025年3月31日
在微控制器(MCU)上,内存管理更倾向于使用内存池而非动态分配(如malloc/free)
摘要: 资源限制 内存容量小:MCU 的 RAM 通常仅有几十 KB 到几百 KB,动态分配需要维护复杂的内存链表和元数据,占用额外内存空间。 性能敏感:动态分配的时间复杂度(如搜索空闲块)可能导致不可预测的延迟,影响实时性。 实时性需求 确定性响应:内存池预先分配固定大小的内存块,分配 / 释放时间为常数
阅读全文
posted @ 2025-03-31 12:01 蜗牛等等
阅读(80)
评论(0)
推荐(0)
2024年7月12日
MCU中断向量表的重映射
摘要: Coretx M0 和 Cortex M3/4 的中断向量表映射有所不同。 M3/M4 可以通过设置 SCB->VTOR 寄存器完成向量表的映射,而M0 没有这样的寄存器。 M0 中断向量表的映射,就是从哪里执行APP。 如果APP 在FLASH中基于XIP执行,即将FLASH 的基地址重映射到0x
阅读全文
posted @ 2024-07-12 13:16 蜗牛等等
阅读(105)
评论(0)
推荐(0)
2024年7月3日
你真的理解了 i++么
摘要: ` include <stdio.h> void main(void) { int j = 0; for (int i = 0; i < 10; i++) { j = (j++); } printf("j == %d\r\n", j); } ` 这段代码最后输出的j的值是多少? 最开始我以为结果是1
阅读全文
posted @ 2024-07-03 11:41 蜗牛等等
阅读(18)
评论(0)
推荐(0)
2024年6月27日
Lillte Kernel 中memcpy实现
摘要: 点击查看代码 // 基于32位系统分析 #define lsize sizeof(word) // sizeof(word) == 4 // 为什么是lsize - 1?32位系统4字节对齐,地址跨度是0x0, 0x4, 0x8,0xC...... // 所以4字节对齐的地址,最低两个bit都是0,
阅读全文
posted @ 2024-06-27 14:17 蜗牛等等
阅读(24)
评论(0)
推荐(0)
2024年6月19日
Linux 内核模块杂记
摘要: Linux 内核模块加载程序 模块加载函数 static int __init test_init(void) { } module_init(test_init); 模块卸载函数 static void __exit test_exit(void) { } module_exit(test_exi
阅读全文
posted @ 2024-06-19 18:04 蜗牛等等
阅读(17)
评论(0)
推荐(0)
公告