嵌入式Linux入门
文章平均质量分 87
嵌入式Linux入门学习和学习重点,从裸机入手到驱动,应用,持续更新,永不完结
闪耀大叔
嵌入式工程师,c,c++,qt,51,ARM,stm32,硬件,电路
展开
-
嵌入式linux驱动学习-用cdev代替register_chrdev()
上回说到字符设备驱动程序的注册与销毁register_chrdev()和unregister_chrdev()这是有缺陷的。现在用另外一个更好的方法代替原创 2023-02-21 20:35:18 · 833 阅读 · 1 评论 -
嵌入式Linux学习经典书籍-学完你就是高手
很多刚入门的朋友一直都有人问我要学习资料,嵌入式实在太杂,网上很多人写的太不负责了,本书单综合了本人以及一些朋友多年的经验整理而成。原创 2023-02-14 16:04:35 · 3403 阅读 · 5 评论 -
嵌入式应用-详解移植并使用freetype显示文字
学过单片机的朋友都会用点阵来显示一个字符,无非就是把点阵里的值取出来一个个在屏幕上显示,修改字符大小需重新定义点阵,或者经过运算,freetype是一个矢量字体引擎,可以显示ttf字体文件中的字符。点阵和矢量字体并无优劣,点阵在资源少,显示字符少的情况下更加适合,矢量字体在资源多,显示字符多,显示要求变化大的情况下更加好。原创 2022-10-29 11:50:06 · 4945 阅读 · 5 评论 -
三种Linux字符设备驱动写法-3:设备树
本文主要带新手体会使用设备树,与之前讲的总线设别驱动模型和基本框架驱动之间的区别。原创 2022-10-09 21:02:29 · 2191 阅读 · 0 评论 -
三种Linux字符设备驱动写法-2:总线设备驱动框架
这篇文章中介绍Linux总线设备驱动框架,重点是体会整个框架,特别是感受一下分层的思想和抽象的方法,很多结构体中的成员不必深究到底如何实现或者有何作用,我将在今后的文章中深入探讨。原创 2022-10-02 18:39:38 · 1651 阅读 · 0 评论 -
三种Linux字符设备驱动写法-1:最简单的基本框架
学习目的:对Linux驱动整体思路有所了解,掌握最简单的Linux字符设备驱动程序写法,本文以led为例。原创 2022-10-01 16:07:59 · 2401 阅读 · 1 评论 -
嵌入式Linux开发常见问题记录
嵌入式Linux开发常见问题记录原创 2022-09-30 22:17:31 · 1915 阅读 · 0 评论 -
嵌入式入门-交叉编译、bootloader、kernel、根文件系统关系
在实际工作中,当你拿到一块芯片,交叉编译环境、bootload这两样东西一般芯片厂家会给你提供,而kernel和根文件系统需要根据你的需求进行调整,最后就是编写应用了。原创 2022-09-14 22:04:19 · 2156 阅读 · 2 评论 -
嵌入式Linux入门—Linux多线程编程、互斥量、信号量、条件变量
线程,是操作系统所能调度的最小单位。普通的进程,只有一个线程在执行对应的逻辑。我们可以通过多线程编程,使一个进程可以去执行多个不同的任务。原创 2022-09-13 08:47:25 · 1747 阅读 · 0 评论 -
嵌入式Linux入门-输入系统应用编程(鼠标、键盘、触摸屏)
在Linux系统下,我们如何编写程序获得鼠标的位置?键盘的哪一个按键被按下了?触摸屏的哪个位置被触摸了?学过单片机的都知道,这些本质上都是一些信号,由驱动程序解析,但我们讲的是应用编程,也就是说从驱动程序中直接获取我们需要的。那么必然就需要一套规范的接口,不然每个人写的都不一样,做个应用,还得阅读驱动源码,就离谱了。原创 2022-09-11 21:39:14 · 2805 阅读 · 3 评论 -
如何用SourceInsight阅读大型源码-以Linux内核为例
1.解决解压Linux内核文件重名问题2.用SourceInsight建立内核源码工程3.SourceInsight常用快捷键原创 2022-09-11 11:48:04 · 2192 阅读 · 0 评论 -
Linux安装zlib、libpng、freetype给交叉编译工具链使用
zlib、libpng、freetype这三个是不同的库,所谓安装也就是用相应的工具链编译,并把编译好的头文件和库文件放到正确的位置。原创 2022-09-10 13:29:13 · 2807 阅读 · 0 评论 -
嵌入式Linux入门-Framebuffer应用编程在Linux系统下画个点
本文主要介绍Frmebuffer应用编程,注意讲的是应用,而不是驱动。所以你需要你一个开发板,并且已经可以运行Linux系统。原创 2022-09-09 19:56:42 · 1846 阅读 · 0 评论 -
Linux开发板网线连接电脑,ubuntu虚拟机桥接windows,实现三方互通
Linux开发板网线连接电脑,ubuntu虚拟机桥接windows,实现三方互通原创 2022-09-08 20:47:51 · 4237 阅读 · 4 评论 -
FreeRTOS移植-教你修改portable(S3C2440、ARM9、gcc)
从底层看一下移植FreeRTOS过程,S3C2440的开发板,官方不支持ARM9架构(因为ARM9直接上Linux,用于FreeRTOS有点浪费),所以从看懂这篇文章,你将学会如何修改portable部分文件将FreeRTOS移植到官方不支持的芯片上。原创 2022-09-07 21:44:17 · 2361 阅读 · 0 评论 -
FreeRTOS函数功能大全
单片机/嵌入式实时操作系统FreeRTOS函数功能大全原创 2022-09-04 21:41:35 · 2756 阅读 · 2 评论 -
FreeRTOSConfig.h-FreeRTOS配置函数详解
在下载的FreeRTOS文件包中,每个演示例程都有一个FreeRTOSConfig.h文件。有些例程的配置文件是比较旧的版本,可能不会包含所有有效选项。如果没有在配置文件中指定某个选项,那么RTOS内核会使用默认值。典型的FreeRTOSConfig.h配置文件定义如下所示原创 2022-09-03 11:01:55 · 840 阅读 · 0 评论 -
嵌入式Linux入门-Linux文件IO讲解并实现copy程序
在Linux系统中,一切都是“文件”:普通文件、驱动程序、网络通信等等。所有的操作,都是通过“文件IO”来操作的。原创 2022-09-01 21:18:34 · 2455 阅读 · 0 评论 -
嵌入式Linux入门-异常与中断(流程+寄存器全解析)
这篇文章我们来讲解异常与中断的概念,理解发生异常,和需要用到中断时,我们需要做哪些工作。原创 2022-09-01 12:35:23 · 1927 阅读 · 0 评论 -
嵌入式Linux教程—裸机、应用、驱动完整教程目录
本教程涵盖从裸机到驱动到应用的嵌入式学习文章,持续更新。本教程旨在帮助以后像从事嵌入式行业的同学,以及想转行嵌入式的朋友快速入门。无论你是干嵌入式软件、还是嵌入式驱动,无论以后从事的具体行业是如何,都可以学习本教程内容。.........原创 2022-08-29 21:23:34 · 1182 阅读 · 0 评论 -
嵌入式Linux入门-代码重定位和清除bss段讲解
本文主要讲解代码重定位,以及清除bss段原创 2022-08-29 21:09:54 · 1381 阅读 · 0 评论 -
链接器介绍和链接脚本的编写
随着从单片机到嵌入式,程序越来越复杂,通常由多个源文件组成。在编译的过程中会对这些源文件进行汇编或者编译然后生成目标文件。这些目标文件一般都包含代码段、数据段、符号表等等内容。...原创 2022-08-29 11:51:44 · 1536 阅读 · 0 评论 -
嵌入式Linux入门-手把手教你初始化SDRAM(附代码)
SDRAM作为内存在嵌入式中必不可少,懂了SDRAM原理,初始化就非常简单,今天手把手教你SDRAM初始化。原创 2022-08-28 17:50:53 · 906 阅读 · 1 评论 -
详解从0开始的嵌入式学习路线,学什么、怎么学?
很多同学越学越迷糊,越学越感觉什么也不会,今天给大家捋一捋,一个嵌入式工程师从0开始,到底该学什么,怎么学。原创 2022-08-27 14:14:50 · 12554 阅读 · 24 评论 -
详解内存SDRAM原理(P-Bank、L-Bank、刷新、预充电等)
嵌入式设备上的内存大多使用SDRAM,今天通过这篇文章彻彻底底搞清楚,SDRAM结构、原理,以及L-BANK,P-BANK等概念。原创 2022-08-25 20:28:40 · 6603 阅读 · 0 评论 -
嵌入式Linux入门-彻底理解UART串口,手把手教你写程序
UART串口这个东西,是嵌入式学习上避不开的,不仅在调试中经常用到,还有很多模块通过串口与SOC相连。这篇文章让你彻彻底底,搞明白串口程序的编写。原创 2022-08-24 19:20:50 · 3672 阅读 · 0 评论 -
嵌入式Linux入门-读数据手册,设置时钟,让代码跑得更快
当你会用手上的开发板,点个灯后,就可以学习时钟体系了我不喜欢上来就讲怎么写代码,怎么操作,那和嵌入式学习方法其实是相违背的。学习嵌入式,读Datasheet(数据手册)的能力必不可少,特别是读英语原版手册。所以呢,我们就从手册开始。......原创 2022-08-23 17:38:28 · 1622 阅读 · 0 评论 -
嵌入式Linux入门-从启动代码开始,真正从0开始点个灯
很多没有接触过嵌入式的,或者习惯IDE开发的朋友,上来就是个main函数,今天从启动代码开始,真正从0开始点个灯。原创 2022-08-22 20:53:19 · 1121 阅读 · 0 评论 -
uboot 编译前的配置命令make config分析
在编译uboot前都要执行make config,这里以百问网提供的uboot为例(本人一直用韦东山老师的资料学习,确实讲得好),对照韦东山老师的视频,对make config过程谈一谈自己的理解。原创 2022-04-08 15:05:52 · 916 阅读 · 0 评论 -
嵌入式C语言volatile作用
一、易变的volatile 在词典中的主要释义就是“易变的”。在 C/C++ 编程语言中,volatile 的易变性体现在:假设有读、写两条语句,依次对同一个 volatile 变量进行操作,那么后一条的读操作不会直接使用前一条的写操作对应的 volatile 变量的寄存器内容,而是重新从内存中读取该 volatile 变量的值。上述描述的(部分)示例代码内容如下:volatile int nNum = 0; // 将nNum声明为volatilenNum = FunA(); // nNum被写入原创 2021-12-17 11:06:59 · 1295 阅读 · 0 评论 -
嵌入式C语言重点(const、static、voliatile、位运算)
1.作用域与 static 用法在了解static关键字的用法之前,我们需要先了解C语言中的作用域、局部变量和全局变量的概念。一个C变量的作用域可以是块作用域、函数作用域、函数原型作用域或文件作用域。块是用一对花括号“{}”括起来的代码区域,定义在块中的变量具有块作用域。块作用域的可见范围是从定义处到包含该定义的块的末尾。以前,具有块作用域的变量都必须声明在块的开头,C99标准放宽了这一限制,允许在块中的任意位置声明变量。例如不支持C99标准的的for循环需要这样写:void fun1(void)原创 2022-01-04 16:37:45 · 1354 阅读 · 0 评论