- 博客(7)
- 收藏
- 关注
原创 驱动、中间件与app程序分模块工程的疑难点
最近要做一个项目,需要用到FATFS、FreeRTOS和USB驱动库,还需要bootloader。bootloader使用SD卡更新固件,因此也需要用到FATFS。一开始的思路是简单粗暴地在bootloader和app工程中都塞进去一个FATFS库。然而一个FATFS库就要占用10KB+的ROM,导致bootloader所占用的空间就有20KB左右,浪费了大量的空间。而且考虑到后期可能需要增加CAN、RS485等更新方式,通信的不稳定性要求最好有一个备份区域B和主区域A,在更新固件的时候先更新B区域,等到确
2025-04-21 14:33:32
384
原创 FreeRTOS常见面试题
FreeRTOS(Free Real-Time Operating System)是一种开源的实时操作系统(RTOS),专为嵌入式系统设计。它提供了基本的任务管理功能,使得在有限资源的硬件平台上实现多任务并行处理变得可行。
2025-02-02 21:18:16
1368
原创 LVGL常见面试题
在 LVGL 中,屏幕(Screen) 是 GUI 界面的基本单位,相当于一个独立的页面。内存池是指一块预先分配的内存区域,它分为多个块来供不同的组件或任务使用。在 LVGL 中,任务处理器(Task Handler)是 GUI 更新的核心,它负责刷新屏幕、处理输入事件、运行动画和定时任务。LVGL通过img组件显示图片,支持使用C数组表示的图片,也支持jpg,png,bmp格式的图片。但是下面代码采用的是动态内存池,使用的是自己定义的内存分配函数,这些函数底层调用的是FreeRTOS的。
2025-02-01 13:30:22
1903
原创 FATFS常见面试题
它是文件系统操作的基准目录,如果在程序中不指定文件的绝对路径,操作系统会默认从工作目录中寻找文件。FATFS(FAT File System)是一个开源的文件系统模块,它被设计用于嵌入式系统中,支持FAT(File Allocation Table)文件系统。中,存在下面这个宏定义,将这个宏定义置1,即可开启相对路径的支持,从而可以设置工作目录。这样的操作时,如果没有指定绝对路径,系统会假定文件位于当前的工作目录中。定义为0,则只能使用短文件名,文件名最多8个字符,扩展名最多3个字符。
2025-01-31 16:38:01
334
原创 嵌入式通信协议面试题
CAN(Controller Area Network)通信协议是一种用于嵌入式系统中设备间数据交换的串行通信协议,最初由博世公司在20世纪80年代为汽车应用开发。CAN协议的主要特点和优点使其广泛应用于汽车、工业自动化、医疗设备等领域。
2025-01-30 20:41:17
1287
原创 ubuntu编译pulseview报错重定义
cmake完成之后使用make,大概会在98%左右报错…(省略很多行)make[2]: *** 正在等待未完成的任务…报错原因在于cmake版本太低。原本的cmake为3.5.1,升级为3.17就不会报错了。
2024-11-30 22:23:43
1594
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人