奔跑的码仔_社区达人页

个人头像照片
奔跑的码仔
已加入开发者社区878

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布65篇文章
1条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • C语言
  • Linux
  • 嵌入式
擅长领域
技术认证

暂时未有相关云产品技术能力~

专注于嵌入式Linux领域

暂无精选文章
暂无更多信息

2022年06月

  • 06.16 18:02:30
    发表了文章 2022-06-16 18:02:30

    Linux系统下的时区配置管理

    Linux系统关于时区的配置有两种方式: 通过配置/etc/localtime和/etc/timezone文件。 通过配置TZ环境变量。
  • 06.16 18:01:34
    发表了文章 2022-06-16 18:01:34

    Android C/C++开发指南

    众所周知,Android作为目前主流的移动终端领域的开发平台,其主要的开发语言就是JAVA。Android借助于JAVA高效、灵活的开发模式,迅速占领了移动互联网开发的半壁江山。基于JDK和Android实现的各种JAVA框架,开发人员可以快速实现各种功能的APP,而且APP的安装和升级维护都实现的方便。
  • 06.16 17:51:31
    发表了文章 2022-06-16 17:51:31

    Linux i2c-dev简析

    上篇文章简要分析了如何编写一个Linux下的I2C设备驱动程序。编写驱动程序毕竟有一定的门槛,需要熟悉内核各种相关的开发规范,有时为了快速的测试一款I2C设备的功能,临时编写驱动程序可能会使得工期比较紧张;并且有时I2C设备十分的简单,为此编写一个单独的驱动程序未免有点“兴师动众”。
  • 06.16 17:48:28
    发表了文章 2022-06-16 17:48:28

    一文搞懂I2C协议-硬件基础

    I2C总线是由飞利浦在80年代初设计的,以允许位于同一电路板上的组件之间能够轻松通信。其大大简化了电路的设计,早期的电视机中很多地方用到了I2C这种通信方式。飞利浦半导体于2006年迁移到了NXP。I2C名称翻译为“ Inter IC”。有时,该总线称为IIC或I²C总线。I2C总结的基本的特征
  • 06.16 17:45:57
    发表了文章 2022-06-16 17:45:57

    嵌入式Linux 硬件时间-系统时间-时区设置

    Linux系统时间分为两种:系统时间和硬件时间。系统时间为Linux内核时间,硬件时间一般为BOIS中的RTC时间。Linux内核在启动时,会尝试读取BIOS中的RTC时间,并以此为基准设置系统时间。内核启动之后,系统时间和硬件即为两个独立的时间,各自运行。
  • 06.16 17:43:14
    发表了文章 2022-06-16 17:43:14

    Linux内核开发基础-低精度timer_list和高精度hrtimer定时器

    上篇文章讲解了如何正确的使用内核延时函数,在进行驱动开发时,可能会经常用到精确地延时操作。除此之外,如果要实现一个定时任务,那就需要用到定时器。作为一项基础功能需求,Linux内核提供了定时器相关的实现。下面就具体看一下,Linux内核所提供的定时器实现。
  • 06.16 17:40:26
    发表了文章 2022-06-16 17:40:26

    DTS中如何配置设备相关的pinctrl

    进行嵌入式Linux驱动开发时,不可避免的会涉及到DTS相关的编写工作,而其中,最为重要的一项工作就是pinctrl相关的配置,这包括pins的功能选择(作为普通IO,还是作为外围控制器的pins)以及pins的配置(pull-up/pull-down、驱动能力、三态等)。 内核中的pinctrl子系统抽象了不同SoC中关于pins的管理方式,Linux内核之pinctrl子系统对于pinctrl子系统进行了简要的概述,如果想要了解pinctrl子系统,可以参考这篇博文。
  • 06.16 17:39:11
    发表了文章 2022-06-16 17:39:11

    如何基于Buildroot和Qemu搭建嵌入式Linux系统环境

    为了能够更好的学习嵌入式Linux内核,本文基于qemu-system-arm工具模拟ARM公司的VersatileExpress硬件环境,基于buildroot工具制作rootfs,并且扩展了buildroot,增加内核配置管理,定制rootfs等功能。
  • 06.16 17:36:40
    发表了文章 2022-06-16 17:36:40

    基于DMA的ADC数据采集

    嵌入式系统开发经常会遇到采集模拟量的功能需求,这时就会用到ADC,STM32系列MCU提供了强大的ADC功能,其提供的多通道采集和DMA方式极大的方便了ADC相关的开发流程,本文主要记录一下,如何使用ADC实现基于DMA的多通道模拟量采集功能。
  • 06.16 17:34:58
    发表了文章 2022-06-16 17:34:58

    Linux内存工具解析之RSS/VSS/USS/PSS区别于联系

    Linux内存工具解析之RSS/VSS/USS/PSS区别于联系
  • 06.16 17:01:22
    发表了文章 2022-06-16 17:01:22

    Android系统固件定制方式

    Android系统固件定制方式
  • 06.16 17:00:02
    发表了文章 2022-06-16 17:00:02

    浅谈Linux信号那些事

    信号是类UNIX系统中存在一种异步通信机制,用于内核通知用户进程系统里发生了某个事件,例如,编写过应用程序的朋友应该都会遇到过”段错误“,引起段错误的信号就是SIGSEGV,此外,当用户键入Ctrl+C之后,就可以停止前台的终端进程,或者在终端通过kill命令就可以杀死某个进程。
  • 06.16 16:56:50
    发表了文章 2022-06-16 16:56:50

    Linux设备树系列-GPIO驱动实践

    Linux设备树系列-GPIO驱动实践
  • 06.16 16:55:07
    发表了文章 2022-06-16 16:55:07

    Unix 设置用户ID和文件访问权限

    Unix 设置用户ID和文件访问权限
  • 06.16 16:53:55
    发表了文章 2022-06-16 16:53:55

    Android系统调试-程序崩溃调试

    Android系统调试-程序崩溃调试
  • 06.16 16:49:48
    发表了文章 2022-06-16 16:49:48

    C/C++ enum使用

    C/C++ enum使用
  • 06.16 16:47:23
    发表了文章 2022-06-16 16:47:23

    gcc-stack-protector机制

    gcc-stack-protector机制
  • 06.16 16:46:15
    发表了文章 2022-06-16 16:46:15

    GNU/Linux C 库I/O缓冲机制

    GNU/Linux C 库I/O缓冲机制
  • 06.16 16:45:14
    发表了文章 2022-06-16 16:45:14

    Glibc version `GLIBC_2.17' not found问题解决办法

    Glibc version `GLIBC_2.17' not found问题解决办法
  • 06.16 16:43:18
    发表了文章 2022-06-16 16:43:18

    Linux设备树系列-基本语法

    本文主要介绍如何为新机器编写设备树,它旨在描述设备树的基本概念以及它们如何将其应用于描述机器。有关设备树数据格式的完整技术说明,请参阅 ePAPR v1.1规范。ePAPR规范比本文介绍的有关设备树的描述包含更多详细的信息,请参阅此文以获取本文未涵盖的关于设备树的更高级用法 。
  • 06.16 16:40:21
    发表了文章 2022-06-16 16:40:21

    Linux驱动设备树-工具使用

    文件.dts是一种ASCII文本格式的设备树描述,由于其是纯文本形式的,所以十分适合开发人员阅读和修改。由于多个开发板会对应于同一款SoC,所以,可以将关于同一款SoC的DT配置提取成一个单独文件,称其为.dtsi文件。.dts和.dtsi文件类似于C语言的源文件和头文件的关系,所以.dtsi同样可以包含其他的.dtsi文件。
  • 06.16 16:39:10
    发表了文章 2022-06-16 16:39:10

    android-boot.img分区详解

    对于需要Android系统下,进行Linux驱动、ramdisk定制的开发人员来说,boot.img必须掌握,下面介绍一下boot.img文件格式。
  • 06.16 16:37:47
    发表了文章 2022-06-16 16:37:47

    Linux内核之pinctrl子系统

    众所周知,ARM SoC提供了十分丰富的硬件接口,而接口物理上的表现就是一个个的pin(或者叫做pad, finger等)。为了实现丰富的硬件功能,SoC的pin需要实现复用功能,即单独的pin需要提供不同功能,例如,pin0既可以作为GPIO,可以也用于i2c的SCL,通过pin相关的复用寄存器来切换不同的功能。除此之外,软件还可以通过寄存器配置pin相关的电气特性,例如,上拉/下拉、驱动能力、开漏等。
  • 06.16 16:36:12
    发表了文章 2022-06-16 16:36:12

    基于Buildroot的rootfs制作

    本文当记录使用buildroot制作rockchip-rk3288平台的rootfs过程。
  • 06.16 16:34:38
    发表了文章 2022-06-16 16:34:38

    Linux 同步机制比较与联系

    操作系统提供的同步原语包括:互斥锁、读写锁、条件变量、信号量,支持多任务的OS一般都会实现上述几种同步方式。Linux作为多任务、多用户系统,同样实现了上述几种同步方式。对于在Linux系统下编程的程序员来说,可能都或多或少的使用或者听说过这几种方式,对于它们的基本使用方式可能都大体的解了。
  • 06.16 16:33:39
    发表了文章 2022-06-16 16:33:39

    Linux系统“时间”简介

    Linux系统提供了很多关于time的处理API,这些API各自的功能和使用场景都有所不同。对于初学者有时会混淆它们,对于API的具体含义理解不到位。本文总结各类time相关的API的使用方式。 分类的标准按照函数的具体功能进行划分。
  • 06.16 16:30:05
    发表了文章 2022-06-16 16:30:05

    一个问题引出的---对gcc与C语言标准思考

    最近在总结关于Linux系统关于Time处理相关的API,当在开发库中使用到localtime_r以及clock_gettime时,会提示如下的错误(-Werror选项打开):
  • 06.16 16:28:52
    发表了文章 2022-06-16 16:28:52

    TensorRT实战-基本框架

    上篇博文4_TensorRT概况主要讲了Nvida TensorRT的编程API,本篇主要通过一个简单、完整的例子来讲解如何将一个Caffe模型(GoogleNet模型)通过TensorRT进行推理加速。
  • 06.16 16:27:30
    发表了文章 2022-06-16 16:27:30

    Linux 多路复用之epoll

    epoll作为一种基于事件通知的I/O处理模型,广泛用于需要I/O多路处理的场景。epoll API所执行的任务与poll类似:监测多路文件描述符的I/O可用性。
  • 06.16 16:26:01
    发表了文章 2022-06-16 16:26:01

    MxNet与Caffe模型之间转换的桥梁-Onnx

    Open Neural Network Exchange (ONNX)为AI模型提供了一种开源的数据模型格式。它定义了一个可扩展的计算图模型,以及内置运算符和标准数据类型的定义。它可以作为各种AI模型之间进行转换的媒介,例如,市面上没有现成的Caffe模型到MxNet模型的转换工具,我们可以借助于ONNX,首先将Caffe转换为Onnx,然后再将Onnx转换为MxNet,更为神奇的是,这之间的转换过程不过丢失原有模型的精度。
  • 06.16 16:24:44
    发表了文章 2022-06-16 16:24:44

    STM32 HAL UART 框架初体验

    STM32开发平台,时至今日发展的已经相当成熟了,尤其对于外围硬件接口的抽象封装库,即HAL。好多基于STM32开发的工程师,习惯于直接操作外围接口相关的寄存器来完成所谓的驱动开发,其实,ST公司早就为大家准备好了对于这些外围接口的驱动框架,我们只需要直接拿来就可以使用。
  • 06.16 16:22:54
    发表了文章 2022-06-16 16:22:54

    Unix进程相关用户ID、用户组ID详解

    我们在使用类UNIX系统时,经常会涉及到各种ID,比如,文件属性相关的用户ID、组ID,进程运行时相关的6个ID:实际ID、实际组ID、有效ID、有效组ID、保存的用户设置ID、保存的设置组ID。
  • 06.16 16:20:45
    发表了文章 2022-06-16 16:20:45

    内核模块-基本概念

    内核模块-基本概念
  • 06.16 16:19:16
    发表了文章 2022-06-16 16:19:16

    内核模块-实现一个简单的设备

    上一篇文章讲了如何实现基于内核模块的“helloworld”,相信大家通过这个例子对于内核模块有了一个基本的了解。当然,内核模块绝不仅仅只能实现这点功能,其最大的应用就是实现硬件的驱动程序。其实,linux内核中很大一部代码都是硬件处理相关的,比如,设备-总线-驱动框架,USB框架、spi框架、i2c框架等等,对应于各种不同的硬件设备,相应的就会有设备驱动程序,从最简单的按键、LED驱动,到十分复杂的USB子系统驱动,可以好不夸张的说,Linux内核可以适配绝大多数的硬件设备。
  • 06.16 16:17:40
    发表了文章 2022-06-16 16:17:40

    内核开发基础-如何使用内核延时

    从事Linux内核开发特别是驱动开发的小伙伴,肯定需要经常使用到定时器,比如,按键的去抖、LED屏幕显存buffer的刷新等。同时,在控制硬件时,可能会用到十分精确地短延时,这时,定时器的精度就不能满足这种需求了,这时就会使用到高精度定时器和忙等延时。今天就来简要说一下如何正确的使用内核提供的delay和sleep函数。
  • 06.16 16:12:37
    发表了文章 2022-06-16 16:12:37

    嵌入式Linux应用崩溃调试-难以追踪的栈信息

    在进行嵌入式Linux应用程序开发时,经常会用到gdb对崩溃日志进行分析,一般情况下,可以直接定位到崩溃的位置。但有时分析core文件时,却看不到有意义的崩溃栈,这时问题就有点复杂了,出现这种现象的原因可能有这么几个
  • 06.16 16:11:09
    发表了文章 2022-06-16 16:11:09

    windows 10如何修改WSL普通账户的密码

    本文主要介绍如何修改WSL账号密码,本文针对的WSL版本为Ubuntu18.04。
  • 06.16 16:10:17
    发表了文章 2022-06-16 16:10:17

    linux 文件系统损坏修复方式

    最近,在使用树莓派时,由于异常掉电,导致树莓派的文件系统遭到破坏,系统启动时提示下面的信息:
  • 06.16 16:09:19
    发表了文章 2022-06-16 16:09:19

    Linux以太网卡架构解析-MAC层和PHY层

    最近,在调试基于Freescale IMX6UL板子的以太网口时,遇到了一个奇怪的问题:网口插拔时,系统检测不到Link Down、Link UP事件。并且,在使用ifconfig eth0 up,然后再ifconfig eth0 down时,会提示
  • 06.16 15:50:09
    发表了文章 2022-06-16 15:50:09

    copy_{to,from}_user Vs memcpy

    熟悉Linux内核的开发人员都知道,Linux下的进程地址空间分为内核空间和用户空间,对于32bit系统来说,典型的空间划分为:1G(内核空间)+3G(用户空间)
  • 06.16 15:48:28
    发表了文章 2022-06-16 15:48:28

    那些年,用过的Linux网络工具

    Linux作为一款强大的操作系统,凭借其优异的的网络服务功能,被广泛使用到云服务中心、数据中心、嵌入式边缘物联代理等需要可靠的网络服务支持的场景中。具体到生成环境,免不了使用工具去管理和控制网络,本文就来带领大家细数一下,Linux下都有哪些提供网络管理的工具。
  • 06.16 15:45:22
    发表了文章 2022-06-16 15:45:22

    shell脚本如何优雅的打印帮助信息

    一个好的帮助信息对于快速、高效的使用shell脚本是非常有好处的。我们一般通过echo来逐行打印帮助信息,这种方式一个明显的缺点就是需要手动去进行排版,而排版的过程有时十分的繁琐。有没有想过,如果可以像写一般的注释一样来完成帮助信息的编写,那该多好啊!本文通过sed这个工具来实现,像写注释一样写shell的帮助信息。
  • 06.16 15:44:23
    发表了文章 2022-06-16 15:44:23

    Linux内核基础数据结构-双链表

    链表作为一种基本的数据结构,得益于其简单的结构、优良的性能(双向链表的插入和删除复杂度都是O(1)),被广泛的应用于各种程序设计中。链表一般分为单向链表和双向链表。对于单向链表,其删除和插入的一般复杂度都是O(n),所以,工程上一般很少使用,下面介绍的所有链表都是双向链表。
  • 06.16 15:42:08
    发表了文章 2022-06-16 15:42:08

    Linux I2C设备驱动基本规范

    不同于单片机驱动开发,即使是简单的I2C设备驱动程序,如果要在Linux上实现同种功能的驱动程序,事情也会变的复杂起来。对于初学者而言,主要的困难就是不知道如何使用Linux现有的驱动框架,去完成驱动程序的开发。I2C设备驱动,相对来说比较简单,但由于Linux大部分设备驱动框架十分的类似,所以,通过对于I2C驱动框架的学习,可以作为继续深入Linux其他设备驱动框架的基础。
  • 06.16 15:39:20
    发表了文章 2022-06-16 15:39:20

    Linux Bash Set命令解析

    平时在学习大牛的Shell脚本时,我们经常在脚本的开头看到很多set开头的命令
  • 06.16 15:37:36
    发表了文章 2022-06-16 15:37:36

    Linux shell脚本IO重定向

    Linux shell脚本IO重定向
  • 06.16 15:36:35
    发表了文章 2022-06-16 15:36:35

    [计算机系统]之虚拟内存-第一部分(基本原理续)

    [计算机系统]之虚拟内存-第一部分(基本原理续)
  • 06.16 15:34:15
    发表了文章 2022-06-16 15:34:15

    [计算机系统]之虚拟内存-第一部分(基本原理)

    根据冯•诺依曼计算机体系结构的定义,CPU和内存是最为核心的系统构件,CPU用于程序指令的执行,而内存作为磁盘数据的缓存,用于为CPU提供指令和数据保存的环境。
  • 06.16 15:31:43
    发表了文章 2022-06-16 15:31:43

    你真的懂C的格式化I/O吗?(下)

    上一篇文章主要是总结了C语言下格式化输出相关的内容,这一节来总结一些格式化输入相关的内容。
  • 06.16 15:11:48
    发表了文章 2022-06-16 15:11:48

    你真的懂C的格式化I/O吗?(上)

    说起C语言I/O操作,学过C的人第一反应想到的肯定是printf/scanf之类的函数,那可是C语言的基础,程序调试的必备技能 :)。不错,作为一名C程序猿,printf确实是使用最为高频的函数了。但是如果我要问,如何格式化输入/输出我们想要的内容,大家可能就有点心虚了。为了修补上这个bug,今天我就和大家一起学习一下C的格式化I/O。
  • 发表了文章 2022-06-16

    Linux系统下的时区配置管理

  • 发表了文章 2022-06-16

    Android C/C++开发指南

  • 发表了文章 2022-06-16

    Linux i2c-dev简析

  • 发表了文章 2022-06-16

    一文搞懂I2C协议-硬件基础

  • 发表了文章 2022-06-16

    嵌入式Linux 硬件时间-系统时间-时区设置

  • 发表了文章 2022-06-16

    Linux内核开发基础-低精度timer_list和高精度hrtimer定时器

  • 发表了文章 2022-06-16

    DTS中如何配置设备相关的pinctrl

  • 发表了文章 2022-06-16

    如何基于Buildroot和Qemu搭建嵌入式Linux系统环境

  • 发表了文章 2022-06-16

    基于DMA的ADC数据采集

  • 发表了文章 2022-06-16

    Linux内存工具解析之RSS/VSS/USS/PSS区别于联系

  • 发表了文章 2022-06-16

    Android系统固件定制方式

  • 发表了文章 2022-06-16

    浅谈Linux信号那些事

  • 发表了文章 2022-06-16

    Linux设备树系列-GPIO驱动实践

  • 发表了文章 2022-06-16

    Unix 设置用户ID和文件访问权限

  • 发表了文章 2022-06-16

    Android系统调试-程序崩溃调试

  • 发表了文章 2022-06-16

    C/C++ enum使用

  • 发表了文章 2022-06-16

    gcc-stack-protector机制

  • 发表了文章 2022-06-16

    GNU/Linux C 库I/O缓冲机制

  • 发表了文章 2022-06-16

    Glibc version `GLIBC_2.17' not found问题解决办法

  • 发表了文章 2022-06-16

    Linux设备树系列-基本语法

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息