linux入门
-
探讨 Linux CPU 的上下文切换
众所周知,linux是一个支持多任务的操作系统,它能同时运行的任务数量远远超过cpu的数量。当然,这些任务实际上并不是真正同时运行的(对于单个cpu),而是因为系统会在短时间内将cpu轮流分配给这些任务,从而营造出多个任务同时运行的假象。 …
-
Linux 程序编译过程详解
计算机程序设计语言通常分为机器语言、汇编语言和高级语言三类。高级语言需要通过翻译成机器语言才能执行,而翻译的方式分为两种,一种是编译型,另一种是解释型。 因此我们基本上将高级语言分为两大类,一种是编译型语言,例如C,C++,Java,另一种…
-
Linux开发coredump文件分析实战分享
前言: 在嵌入式linux开发中,分析coredump文件是一种常用的方法,我们经常可以在网络上找到相关的使用教程。然而,很少有介绍如何分析多线程应用程序的coredump文件的文章。今天我来分享一些我在实际使用中遇到的案例,希望能给大家提…
-
为什么Linux内核里大量使用goto,而很多书籍却不提倡使用?
关于c语言中的goto语句,存在着许多争议,很多书籍建议要“谨慎使用,甚至避免使用”。但是,在linux之父linus的实践中,他在linux中广泛使用了goto语句,这也启示了我们可以合理地使用这个特性。 正因为存在争议,我们有必要学会使…
-
比 Vim 更现代直观的 Linux 文本编辑器
如果你厌倦了vi和vim的奇怪界面和繁琐的键绑定,为什么不试试micro编辑器呢? 命令行文本编辑器证明了Linux终端的实用性,让您可以在不离开终端的情况下进行文件编辑。这些编辑器使用的资源更少,速度也非常快,非常适合进行一些快速编辑。 …
-
嵌入式 ARM Linux 应用程序项目问题定位
一、现象 根据业务线的反馈,他们发现每当运行我们的通讯软件appa时,单板的cpu使用率就会变得异常高,即使没有进行任何通讯操作,只是空跑时cpu利用率仍然很高。通常情况下,业务很少关注cpu性能,不过我已经好久没更新博客了,所以我觉得值得…
-
IAR进军Linux,支持在Linux搭建编译环境
在mcu开发中,大多数人使用集成开发环境(如keil mdk、iar ewarm)进行开发。然而,这些环境只支持windows系统,不支持其他操作系统环境,这对于喜欢使用linux的嵌入式软件工程师来说是一个痛点。 因此,许多嵌入式软件工程…
-
Linux之PWM驱动
1. 概述 本文将深入介绍linux的pwm(pulse-width modulation)驱动框架,包括其实现原理、驱动添加方法以及调试方法,以帮助开发者更好地了解和使用这一功能。 本文所示示例Linux内核版本为6.2.8。 2. 原理…
-
手把手教你构建linux rootfs
busybox概述 众所周知,在linux环境下,一切皆文件,文件可以表示一切。而文件系统则是这些普通组件的集合。在嵌入式领域中,常常使用基于busybox构建的rootfs来构建文件系统。 busybox诞生至今已有近20年的历史,如今已…
-
24小时学通Linux内核之有关Linux文件系统实现的问题
linux的使用和用户空间程序的编程与文件系统密切相关。对于文件系统的概念,大家可能已经比较熟悉了,所以我不会过多地讲解。毕竟,只要能了解这些概念就可以了,对于想深入了解的人,可以随时通过百度等搜索引擎获取更多信息。现在我将重点介绍linu…