首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏TopSemic嵌入式

    嵌入式Linux系列第3篇:uboot编译下载

    要想让CPU启动linux内核,只能通过另外的程序,进行必要的初始化工作,再把linux内核中代码复制到内存中,并执行这块内存中的代码,即可启动linux内核;一般情况下,我们把linux镜像储存在块设备中如 步骤 3:解压 NUC970_U-Boot_v2016.11-master.zip 文件 ? 关于uboot里这些参数的定义,大家可以参考《NUC970 Linux BSP User Manual CHT.pdf》4.1节介绍。 ? 3)将上面生成的u-boot-spl.bin放进来 ? 烧录成功后显示: ? 再烧录uboot.bin ? 相关资料下载链接:https://github.com/TopSemic/NUC972_Linux 03 Lesson3 uboot编译下载中。 下期会给大家介绍kernel相关内容。

    3.1K60发布于 2021-05-31
  • 来自专栏AIoT技术交流、分享

    嵌入式Linux:如何进行嵌入式Linux开发?

    嵌入式Linux开发主要有四种方式:裸机开发、SDK开发、驱动开发和应用开发。 1、裸机开发 裸机开发通常指在没有操作系统支持的环境中直接在硬件上运行程序的开发。 在嵌入式Linux SDK开发中,开发者可以利用Linux系统的强大功能和灵活性,同时针对特定的硬件平台进行优化和调整,以满足嵌入式设备的特定需求。 3、驱动开发 驱动开发是指为嵌入式Linux系统编写设备驱动程序的过程。在这个过程中,开发者需要深入理解Linux内核架构,学会如何在Linux内核环境下编写、调试和维护设备驱动程序。 Linux中的设备驱动主要分为3大类:字符设备驱动、块设备驱动和网络设备驱动。 这3类驱动程序共同构成了Linux系统与各类硬件设备交互的基础,确保了系统的多功能性和高效性。它们的实现通常涉及到深入的操作系统内核知识,硬件通信协议,以及驱动程序开发的技巧。

    5.3K00编辑于 2024-05-26
  • 来自专栏AIoT技术交流、分享

    嵌入式LinuxLinux库函数

    1、Linux库函数简介 Linux 提供了丰富的库函数,涵盖了各种领域,从文件操作到网络编程、图形界面、数学运算等。 这些库函数大多数都是标准的 C 库函数,同时也包括一些特定于 Linux 系统的库。 Linux库函数通常以动态库文件(.so)的形式提供,存放在根文件系统的 /lib 目录下。 Linux 内核提供了一系列系统调用供应用层使用,直接使用系统调用是一种方法。然而,有些系统调用使用起来不够方便,因此引入了 C 语言库。 2、标准C语言库函数 在Linux系统下,使用的C语言库主要是GNU C语言函数库,也被称为glibc。 它是Linux下的标准C语言函数库,为开发者提供了丰富的函数集,涵盖了输入输出、字符串处理、数学运算、文件操作等多个领域。

    1.8K00编辑于 2024-05-26
  • 嵌入式Linux应用开发基础】进程间通信(3):共享内存

    三、嵌入式 Linux 中共享内存的使用 3.1. 相关函数介绍 在嵌入式 Linux 中,使用共享内存需要借助一些系统调用函数,主要包括 shmget、shmat、shmdt 和 shmctl。 通过合理的使用共享内存,可以大大提高嵌入式Linux应用开发的效率和性能。 八、参考资料 《从实践中学嵌入式 Linux 应用程序开发(第 2 版)》:由华清远见嵌入式学院的苗德行、冯建、刘洪涛、潘启勇著,电子工业出版社 2015 年 8 月出版。 书中结合大量实例,讲解了嵌入式 Linux 应用程序设计各个方面的基本方法及必要的核心概念,包括嵌入式 Linux 进程间通信,重视应用是贯穿全书的最大特点。 《嵌入式 Linux 应用开发完全手册》:对嵌入式 Linux 应用开发的各个方面进行了全面的介绍,其中关于进程间通信的章节会详细讲解共享内存的原理、使用方法以及相关的编程实例,帮助读者深入理解和掌握共享内存在嵌入式

    17210编辑于 2026-01-21
  • 来自专栏韦东山嵌入式

    嵌入式Linux配置网络

    在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taobao.com/ (淘宝) https://weidongshan.tmall.com/(天猫)

    6.6K10编辑于 2022-12-28
  • 来自专栏全栈程序员必看

    嵌入式Linux–menuconfig详解

    3.配置菜单界面启动流程 执行make menuconfig的时候,会执行顶层目录下的Makefile。 3.config 开启一个新的配置选项入口,下面的行定义了配置选项的属性,属性可以是配置输入提示、依赖、帮助文档和默认值等,一个配置选项可以被多次定义,但是每一次定义只有单一的输入提示,并且类型不能冲突 所以linux内核是高度可配置的,而且linux内核的所有配置项很难全部搞明白。 因为linux内核的配置项太多太繁杂超出了人的大脑能够记忆和处理的数量级,因此linux内核不像uboot那样直接手工配置,而是发明了一个图形化的配置工具menuconfig。” (3).config中的配置值指导整个编译连接过程。

    8.2K20编辑于 2022-06-30
  • 来自专栏嵌入式ARM和Linux

    嵌入式Linux学习路线

    自己总结的Linux学习路线,还在这条路上继续奔跑着… 我将其总结为4个阶段吧: 入门 - 抛弃旧的思维习惯,熟练使用 Linux 命令行 从Window切换到Linux是一件很痛苦的事情,因为人类接受信息最快的方式就是图形化的信息 在这一阶段,推荐的书籍是《鸟哥的私房菜》、《linux shell脚本攻略》。 《鸟哥的私房菜》- 几乎每个linux程序的必经之路。 推荐的书籍有《Linux环境下C编程指南》、《UNIX 环境高级编程》。 linux驱动开发,学会基本的linux内核数据结构、接口等等,了解linux设备模型、设备树等,为理解内核打下坚实的基础。 推荐的书籍有《LDD3》、《Linux设备驱动开发详解》。 linux内核源码解析,对每个子系统的代码架构深入研究,能对内核进行模块裁剪等。推荐的书籍有《Linux内核设计与实现》、《Linux内核源代码情景分析》和《深入理解Linux内核(第三版)》。

    7K10编辑于 2022-08-10
  • 来自专栏嵌入式技术笔记

    嵌入式Linux串口编程

    简介 嵌入式Linux下串口编程与Linux系统下的编程没有什么区别,系统API都是一样的。 嵌入式设备中串口编程是很常用的,比如会对接一些传感器模块,这些模块大多是RS232或者RS485接口,对于软件层面上来说,RS232与RS48区别不大。

    16.2K20发布于 2021-05-31
  • 来自专栏AIoT技术交流、分享

    嵌入式Linux:空洞文件

    2、在创建虚拟机时,如果一开始就分配了100GB的磁盘空间,而实际上系统安装完成后可能只使用了3、4GB的空间,这就是空洞文件的应用。 在 Linux 中,可以通过使用 lseek 和 write 系统调用来创建空洞文件。

    2.3K00编辑于 2024-05-26
  • 来自专栏AIoT技术交流、分享

    嵌入式Linux:异步IO

    2、实现异步I/O的步骤 在Linux中,使用异步I/O通常需要配合信号机制。 3、O_ASYNC标志的作用和注意事项 O_ASYNC标志用于使能文件描述符的异步I/O事件,使文件描述符在可执行I/O操作时向指定进程发送SIGIO信号。 串口通信:在嵌入式系统中,串口通信是一种常见的通信方式。通过异步I/O,进程可以同时执行其他任务,不会因为串口I/O而阻塞。

    1.2K10编辑于 2025-03-29
  • 来自专栏AIoT技术交流、分享

    嵌入式Linux:文件共享

    Linux中,文件共享是指多个进程可以同时访问和操作同一个文件。 2、不同进程中分别使用 open 函数打开同一个文件 在Linux系统中,不同进程可以使用open函数打开同一个文件。 3、同一个进程中通过 dup(dup2)函数对文件描述符进行复制 在同一个进程中,可以使用dup函数或dup2函数来复制文件描述符。

    1.3K00编辑于 2024-05-26
  • 来自专栏AIoT技术交流、分享

    嵌入式Linux:文件锁

    Linux 文件锁是一种用于管理多进程或多线程环境中资源访问的机制,确保只有一个进程或线程在特定时间内对文件进行操作,从而避免数据不一致的情况。 Linux 提供了多种文件锁机制,包括 flock、fcntl 和 lockf,每一种方法各有其优缺点和适用场景。 1、使用 flock() 进行文件锁定 flock 是 Linux 中最简便的文件锁方法之一,它提供了对文件整体加锁的功能。 3、使用 lockf() 进行文件锁定 lockf 是 fcntl 的一个封装函数,简化了使用复杂度。 lockf 本质上依赖于 fcntl 实现,支持文件区域锁定,但不支持强制性锁。 Linux 中的文件锁机制提供了灵活的多进程并发控制方案。 flock 简单且适用于整个文件锁定,而 fcntl 更灵活,能够锁定文件的某个区域,并支持阻塞/非阻塞操作。

    1.2K10编辑于 2025-04-01
  • 嵌入式Linux的开发

    今天咱们来聊聊嵌入式Linux开发这个话题。 说实话,我从机械转行做嵌入式这么多年,最让我觉得有意思的就是嵌入式Linux这块。 什么是嵌入式Linux开发 1.1 嵌入式Linux的定义 嵌入式Linux开发,简单来说就是把Linux操作系统移植到嵌入式设备上,然后在这个系统上开发应用程序或者驱动程序。 这里的嵌入式设备可以是智能手机、路由器、工业控制器、汽车电子设备等等。 我在外企做的汽车电子项目,用的就是嵌入式Linux系统。 和我们平时用的Ubuntu、CentOS这些桌面Linux不同,嵌入式Linux通常需要经过裁剪和定制,因为嵌入式设备的资源往往比较有限。 3. 应用程序开发 3.1 交叉编译环境搭建 在嵌入式Linux开发中,我们通常在PC上编写代码,然后使用交叉编译工具链编译成目标平台的可执行文件。 交叉编译工具链包括编译器、链接器、库文件等等。

    35221编辑于 2026-02-03
  • 来自专栏AIoT技术交流、分享

    嵌入式LinuxLinux系统文件目录说明

    Linux系统中,系统文件和目录按照一定的约定被组织和分配到不同的位置。这些文件和目录通常用于存储系统配置、程序文件、库文件等。 /dev:包含设备文件,Linux中一切皆文件,这里存放了与设备通信的特殊文件,如硬盘分区(/dev/sda1)、键盘(/dev/input/eventX)等。 以下是导致SoC中文件系统目录结构与Ubuntu系统不同的一些可能原因: 定制化需求 SoC通常用于嵌入式设备,这些设备可能有自己的定制需求,例如嵌入式系统可能只需要支持特定的功能或服务,因此文件系统的结构可能会根据这些需求进行定制 资源限制 嵌入式系统通常具有资源限制,如有限的存储空间或内存。因此,文件系统的组织可能会更加简化,以节省资源和提高性能。 硬件特性 嵌入式系统可能使用不同的硬件平台和架构,如ARM、MIPS等。因此,文件系统的组织方式可能会受到硬件特性的影响。

    1.5K00编辑于 2024-05-26
  • 来自专栏Rice嵌入式

    linux 嵌入式Linux构建方法《Rice linux 学习开发》

    Yocto :一个开源协作项目,提供模板、工具和方法,帮助您为嵌入式产品创建定制的基于 Linux 的系统,而不管硬件架构如何。 3、目标 SDK:这些是安装在目标平台上的软件的库和头文件的集合。 《Buildroot》 Buildroot是我学习的第一个构建嵌入式系统的方式。 Buildroot:通过交叉编译生成嵌入式 Linux 系统的简单、高效且易于使用的工具。 Buildroot输出的主要组成部分: 1、将 Linux 部署到目标平台所需的根文件系统映像和任何其他辅助文件 2、适用于目标硬件的内核,引导加载程序和内核模块 3、用于构建所有目标二进制文件的工具链 个人感想: 我在使用buildroot之前,我在学习嵌入式Linux是没有通过什么构建方法的,只是裸露的uboot,kernel,根文件系统。每一个都要自己去编译,创建。

    9.2K20编辑于 2022-05-09
  • 来自专栏全栈程序员必看

    嵌入式】基于ARM的嵌入式Linux开发总结

    前言 嵌入式知识点复习一 嵌入式知识点复习二 –体系结构 嵌入式知识点复习三 –ARM-LINUX嵌入式开发环境 嵌入式知识点复习四 –arm-linux文件编程 嵌入式知识点复习五 –arm-linux 进程编程 嵌入式知识点复习六 –arm-linux网络编程 嵌入式知识点复习七 –linux字符型设备驱动初步 嵌入式知识点复习一 1、 嵌入式系统的一般组成结构 2、嵌入式硬件系统的结构 (1)嵌入式处理器 +外围硬件 (2)常见的外围硬件:电源、时钟、内存、I/O、通信、调试; 3嵌入式处理器 (1)ARM、S3C6410、STM32单片机、华为海思、高通骁龙等 (2)Intel /AMD 都不是嵌入式处理器 4、嵌入式操作系统 功能: 种类:嵌入式linux;WinCE;Vxworks;μC/OS-II;Android;IOS。 嵌入式知识点复习三 –ARM-LINUX嵌入式开发环境 一、交叉开发模式 1、组成结构 (1)宿主机:开发主机,一般由PC、发行版linux系统、开发工具(本地及交叉编译)(代码编辑器Vi,编译器GCC

    20.4K23编辑于 2022-06-28
  • 嵌入式Linux应用开发基础】网络编程(3):TCP协议拥塞控制

    嵌入式 Linux 应用开发的网络编程中,TCP 协议的拥塞控制至关重要,它能够确保网络的稳定和高效运行。 流程图: 三、在嵌入式 Linux 中的实现 内核参数调整:在嵌入式 Linux 系统中,可以通过调整内核参数来影响 TCP 拥塞控制的行为。 代码示例:以下是一个简单的 TCP 服务器代码示例,在嵌入式 Linux 中使用默认的拥塞控制算法进行数据传输。 综上所述,TCP拥塞控制在嵌入式Linux应用开发基础中的网络编程部分具有重要地位。 对于在嵌入式 Linux 系统中处理高速网络通信的开发者来说,了解 CUBIC 算法及其应用场景具有重要意义。

    17610编辑于 2026-01-21
  • 来自专栏码农爱学习的专栏

    i.MX6ULL嵌入式Linux开发3-Kernel移植

    本文进行Linux内核的移植。 1 Linux内核简介 官网:https://www.kernel.org/ ? 本文我们就使用NXP提供的Linux源码,文件名为:linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2 2 Linux内核编译 编译内核之前需要先在ubuntu上安装lzop 3 Linux内核源码结构 Linux内核编译过程会生成一些文件,下面来看一下编译后的内核源码结构,可以看出多出了一些编译文件 ? 具体描述如下: ? 为了进一步了解Linux内核,我们可以参考官方开发板的设置,在Linux内核中添加自己的开发板。 Linux启动测试,可以到登录提示,说明Linux内核启动成功。

    2K20发布于 2021-08-13
  • 来自专栏防止网络攻击

    嵌入式Linux的学习误区

    误区一、全身投入学习桌面或服务器版本linux系统   很多想学嵌入式linux 的同学经常问我,我不会linux系统,怎么学习嵌入式linux开发,于是他们就花费了大量的精力和时间去研究学习桌面版本linux 其实这是一个学习嵌入式Linux开发的误区。   Linux桌面环境只是嵌入式linux的一个开发工具,开发环境而已。 我们进行嵌入式linux开发,只是把linux桌面环境当作一个工具,在linux桌面环境下运行嵌入式linux开发工具,例如gcc 编译器,make工具来开发我们的嵌入式linux应用程序而已,对于嵌入式开发工程师来说 二、 原材料 本次尝试笔者选择ZLG开源开发套件EasyARM-i.MX283A3,宿主机选用Ubuntu14.04。首先,我们需要获取gsnap源码,该源码可在网络中搜索下载。 图3 gsnap的Makefile 解压后得到的文件如图4。(源码包可从库官网或论坛下载) 图4 库的源码包解压 三、交叉编译 第一步,交叉编译libjpeg。 进入到源码目录,执行.

    58810编辑于 2024-05-02
  • 来自专栏韦东山嵌入式

    嵌入式Linux的POLLSELECT 方式

    事件类型说明POLLIN有数据可读POLLRDNORM等同于 POLLINPOLLRDBANDPriority band data can be read,有优先级较较高的“band data”可读Linux

    3.4K40编辑于 2022-05-05
领券