logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

一个大学生,想像Linus一样写操作系统,需要具备什么能力?

本文探讨大学生从零开发操作系统的可行性与意义。作者李述铜认为,开发操作系统的价值不在于创造实用系统,而在于深入理解计算机底层原理。尽管挑战不小,但通过掌握C语言、计算机体系结构等基础知识,并采用渐进式开发策略(从简单功能到复杂模块),这一目标是可达成的。文章提供了具体的学习路线,强调"边做边学"的重要性,并指出关键难点在于如何迈出第一步。作者鼓励有想法的学生勇敢尝试,认为这一过

#系统架构
一个任务写,一个任务读,RTOS里到底要不要加锁?

摘要:嵌入式系统专家李述铜针对RTOS开发中多任务读写共享数据的问题进行深入分析。文章以温湿度传感器数据读取为例,指出在多任务并发环境下可能出现数据不一致的情况(如温度更新而湿度未更新时被读取),并详细解释了问题根源在于非原子操作被打断。解决方案包括使用互斥锁确保读写操作的原子性,同时讨论了32位整型变量在不同位宽处理器上的原子性问题。文章强调保护机制的使用需根据操作原子性来判断,为嵌入式开发者提

#c语言
为什么c语言没有布尔类型?

本文介绍了C99标准新增的_Bool类型及其使用。在C89/C90标准中,常用int类型配合1/0或宏定义来表示布尔值。C99引入的_Bool类型通过<stdbool.h>头文件提供了bool、true、false等语法糖,使代码更具可读性。虽然底层实现与之前方法类似,但直接使用标准类型避免了重复造轮子。文章通过示例代码展示了bool类型的使用方式,并指出这一特性虽不改变本质逻辑,却提

#c++#算法#开发语言
从零玩转RT-Thread(6):课程简介

RT-Thread Nano是一个轻量级实时操作系统,专为资源受限的嵌入式设备设计。它具有小巧(最小3KB Flash/1.2KB RAM)、实时响应、模块化架构等特点,主要采用C语言编写,适用于各类MCU平台。该系统通过任务调度实现多任务并行执行,开发者可以方便地创建LED控制、串口通信等线程。RT-Thread采用清晰的文件组织结构,支持功能裁剪,并有活跃的开发者社区提供支持,是嵌入式开发的理

文章图片
#单片机#嵌入式硬件#arm开发
从零玩转RT-Thread(1):课程简介

本文介绍RT-Thread开源操作系统的入门课程内容。课程将讲解RT-Thread核心功能,包括线程管理、同步机制、时间管理和内存管理等基础内容,适合已有嵌入式开发经验的学习者。课程代码开源在Gitee仓库,配套视频详见README。通过学习,学员将掌握RT-Thread的核心API使用和RTOS工作原理,为嵌入式开发奠定基础。课程要求具备C语言和单片机开发基础,适合工程师、学生和创客学习。作者李

#arm开发
从零玩转RT-Thread(5):什么是RTOS

本文通过饭店管理的生动比喻,对比了裸机开发和RTOS(实时操作系统)的差异。裸机开发如同单人经营饭店,任务需顺序执行,容易顾此失彼;而RTOS则像多人协作,通过任务管理、时间管理、调度机制等功能,实现多任务并发执行。RTOS将功能分解为独立任务,每个任务专注单一功能,由系统自动调度,提高实时性和扩展性。文章还介绍了RTOS的核心功能模块,并推荐了相关实践课程,帮助开发者深入理解操作系统原理。

#arm开发
vivado编辑器出现中文乱码的问题及解决方法

初次玩vivado,发现写好的verilog文件在vivado中打开显示乱码。要解决这个问题,需要完成两步操作:一是更改文件的编码为GBK;二是更改显示的字体。以下二者缺一不可,这样既可以在vivado中显示中文,又可以保证在其它文本编辑器中打开时同样也能显示中文。

文章图片
#fpga开发
到底了