- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 C语言字节对齐与访问效率的研究
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。编译器为了提高CPU对数据成员的访问速度,通常会在不同大小的数据成员之间插入空白内存(padding),进行补齐操作,即内存对齐。
2023-09-02 16:40:02 129
原创 关于单片机固件的研究
在IAR IDE中数据被简单的分为三种,readonly code和readonly data使用的是ROM空间,readwrite data使用的是RAM空间,其编译生成BIN文件大小等于readonly code+readonly data,对于一些已初始化的可读写全局变量的初始值IAR将它们划分到了readonly data里。bin文件是纯粹的二进制文件,内部无地址标记,是直接的内存映象表示,可直接在裸机运行,如果下载运行,则需要下载到对应链接文件中的起始地址。
2023-08-27 22:14:03 324
原创 STM32F446 UASRT1和USART6工作异常问题与解决
问题描述项目中使用stm32f446中的多个串口,波特率全部设置为115200,测试过程中发现USART1和USART6工作异常,如串口可以进入中断,但收发数据全部错误,用示波器和逻辑分析器观察收发引脚都有波形,其它串口全部正常工作。问题定位与解决stm32f446中共有6个串口,其中UART2,3,4,5 时钟挂载在APB1上, UART1和6时钟挂载在APB2上,主时钟配置180M, A...
2019-09-04 17:07:09 773
USB 2.0.rar
2019-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人