奔跑的码仔_社区达人页
产品
解决方案
文档与社区
权益中心
定价
云市场
合作伙伴
支持与服务
了解阿里云
备案
控制台
开发者社区
首页
探索云世界
探索云世界
云上快速入门,热门云上应用快速查找
了解更多
问产品
动手实践
官方博客
考认证
TIANCHI大赛
活动广场
活动广场
丰富的线上&线下活动,深入探索云世界
任务中心
做任务,得社区积分和周边
高校计划
让每位学生受益于普惠算力
训练营
资深技术专家手把手带教
话题
畅聊无限,分享你的技术见解
开发者评测
最真实的开发者用云体验
乘风者计划
让创作激发创新
阿里云MVP
遇见技术追梦人
直播
技术交流,直击现场
下载
下载
海量开发者使用工具、手册,免费下载
镜像站
极速、全面、稳定、安全的开源镜像
技术资料
开发手册、白皮书、案例集等实战精华
插件
为开发者定制的Chrome浏览器插件
探索云世界
新手上云
云上应用构建
云上数据管理
云上探索人工智能
云计算
弹性计算
无影
存储
网络
倚天
云原生
容器
serverless
中间件
微服务
可观测
消息队列
数据库
关系型数据库
NoSQL数据库
数据仓库
数据管理工具
PolarDB开源
向量数据库
热门
百炼大模型
Modelscope模型即服务
弹性计算
云原生
数据库
云效DevOps
龙蜥操作系统
平头哥
钉钉开放平台
物联网
大数据
大数据计算
实时数仓Hologres
实时计算Flink
E-MapReduce
DataWorks
Elasticsearch
机器学习平台PAI
智能搜索推荐
人工智能
机器学习平台PAI
视觉智能开放平台
智能语音交互
自然语言处理
多模态模型
pythonsdk
通用模型
开发与运维
云效DevOps
钉钉宜搭
支持服务
镜像站
码上公益
奔跑的码仔
已加入开发者社区
752
天
勋章
更多
专家博主
专家博主
星级博主
星级博主
技术博主
技术博主
初入江湖
初入江湖
成就
已发布65篇文章
1条评论
已回答0个问题
0条评论
已发布0个视频
github地址
我关注的人
更多
粉丝
更多
ZWH
ZWH
游客s4ii3xwsj2sus
游客s4ii3xwsj2sus
技术能力
兴趣领域
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。
1
2
跳转至:
发表了文章
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设备树系列-基本语法
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息
勋章
关注
粉丝