- 博客(6)
- 收藏
- 关注
原创 `#pragma DATA_ALIGN` 和 __attribute__((aligned(n)))
但是,需要注意的是,`#pragma DATA_ALIGN`主要用于初始化块(`.init_array`)或者其他分配在数据段的数据,不像`aligned`属性那样可以直接作用于变量声明。如果是在变量声明处需要对齐,你应该使用`__attribute__((aligned(n)))`,如之前所述。它与使用`__attribute__((aligned(n)))`的效果相似,都是为了确保变量或数据结构在内存中按照指定的字节数对齐。这会让`myVar`变量以8字节对齐。
2024-08-02 13:14:14
202
原创 Keil5工程名称的修改
2. 使用记事本打开工程文件.uvprojx,将其中的工程文件名(NewMainBoardARM)替换为更改后的工程文件名。1. 将工程所在文件夹下的.uvprojx、.uvoptx、.uvguix.xxx 文件名重命名。3. 删除Listings文件夹 和 Objects文件夹下的所有文件。4. keil5打开该工程,重新编译后即可。
2024-04-26 12:21:02
1647
1
原创 关于Quartus Prime 中 Power Analyzer Tool 的使用说明
对Quartus Prime 中 Power Analyzer Tool 的使用进行一个简单的举例实验。
2024-04-08 15:26:27
1078
1
原创 LwIP 的内存管理——笔记
用户只能申请大小固定的内存块,在内存初始化的时候,系统会将所有可用的内存区域划分为 N 块固定大小的内存,然后将这些内存块通过单链表的方式连接起来,用户在申请内存块的时候就直接从链表的头部取出一个内存块进行分配,同理释放内存块的时候也是很简单,直接将内存块释放到链表的头部即可,这样子分配内存的时间就是固定的,非常高效。LwIP 为了防止内存碎片的出现,通过算法将内存相邻的两个空闲内存块进行合并,在释放内存块的时候,如果内存块与上一个或者下一个空闲内存块在地址上是连续的,那么就将这两个内存块进行合并。
2024-03-12 15:30:00
2076
1
原创 STM32以太网(ETH) 学习笔记1 —— ETH接口功能说明
使用外部 50 MHz 时钟驱动 PHY 或使用嵌入式 PLL 生成 50 MHz 频率信号来驱动 PHY。
2024-02-23 11:49:10
3744
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人