13 韦东山

尚未进行身份认证

我要认证

深圳百问网科技有限公司技术总监,毕业于中国科学技术大学电子、软件专业双学位,10余年嵌入式一线开发经验, 畅销书<<嵌入式Linux应用开发完全手册>>作者, 擅长ARM/MIPS等架构的Linux底层系统开发, 曾为多家知名培训机构特邀讲师,2011年陆续录制的工程师必看教程------韦东山系列Linux/Android视频,有口皆碑。累计学员10万+,当之无愧成为嵌入式培训领域的佼佼者。

等级
TA的排名 1w+

Linux文件 目录与权限

3.2 Linux文件 目录与权限3.2.1 文件的种类普通文件:纯文本文件、二进制文件、数据格式文件目录连接文件设备与设备文件套接字:数据接口文件,通常被用在网络上的数据连接。第一个属性为s,通常在/var/run 这个目录中可以看到这种文件类型。管道(FIFO,pipe):它的主要目的在解决多个程序同时访问一个文件所造成的错误问题。第一个属性为p3.2.2 Linux 系统目录结构Linux系统目录的目录结构目录说明/binbin是Binary的缩写, 这个

2020-07-05 13:42:44

Docker使用手册 嵌入式Linux环境搭建

2.3.3 使用Docker使用Docker之前,请一定先看看前面的《概念介绍》,了解Docker的镜像、容器的概念。2.3.3.1 运行“Docker Desktop”双击桌面“Docker Desktop”图标运行,如果一切正常,可以在任务栏看到以下图标:如果上图中的鲸鱼图标一直在喷水,表示它还在启动中。启动完毕后,鲸鱼图标就不再喷水,你就可以使用Docker了。2.3.3.2 设置Docker存储目录2.3.3.3 使用MobaXterm打开命令行这不是必须的。可以在Windows

2020-07-05 13:25:03

Linux安装Docker步骤

2.3.2 安装Docker安装Docker的前提条件:2.3.2.1 在BIOS上启动虚拟化(virtualization )大部分电脑的BIOS已经启动了虚拟化,可以打开设备管理器确认这点,如下图:如果上图中虚拟化没有显示为“已启动”,需要重启电脑进入BIOS启动虚拟化。各个电脑的BIOS设置界面可能不一样,下面的步骤只是示例。① 进入BIOS开机或重启电脑过程中,在自检画面处反复按F2键(注:部分机型使用Fn+F2)进入BIOS Setup设置界面。② 找到虚拟化菜单用键盘的右方向

2020-07-05 13:16:54

Linux安装Docker并运行Ubuntu系统

Linux安装Docker并运行Ubuntu系统Docker是一种容器,什么叫容器?在软件开发中,我们经常碰到“这程序在我的电脑上明明没问题啊,怎么在客户的电脑上就有问题?”这是因为各个电脑的软件、硬件不一致。有没有一种统一的、虚拟的软件硬件平台,在上面开发好软件后发给客户,客户就可以直接在这个平台上运行程序?有的,这就是容器。容器有很多种,Docker是其中比较好的。跟VMware相比,Docker是一个轻量级的软件,运行速度快。使用Docker前,需要了解2个概念:Image和container

2020-07-05 13:10:14

嵌入式Linux开发环境搭建 配置Ubuntu

2.2.5 配置Ubuntu确保Ubuntu能上网之后,使用下面命令一键配置/初始化开发环境((其实就是安装tftp,nfs,vim等软件,此脚本只支持Ubuntu-16.04 /Ubuntu-18.04)。注意:为了方便大家复制,这些命令写成了多行,你要把它们复制到记事本,合并成一行,注意空格:book@100ask: ~ $ wget --no-check-certificate -O Configuring_ubuntu.shhttps://weidongshan.coding.net/p/D

2020-07-05 12:52:59

嵌入式Linux开发 配置网络

2.2.4 配置网络重点来了,以前我们在VMware中使用桥接,这需要保证Windows、Ubuntu、开发板三者互通,而很多人的电脑有多个网卡,这涉及的网络设置太复杂了。现在我们使用NAT方式,这样会简单很多。2.2.4.1 设置Ubuntu使用NAT网络先关闭VMware中的Ubuntu,在VMware界面设置Ubuntu使用NAT,如下图:然后启动Ubuntu,打开终端,执行ifconfig命令,确定网卡IP,如下图所示,记住这个IP(192.168.75.128,也许你的跟它不一样),后

2020-07-04 21:08:53

嵌入式Linux 搭建开发环境

全文下载地址:嵌入式Linux系统开发完全手册 第二版2.1 安装Windows软件2.1.1 这么多虚拟机,如何选择?搭建开发环境的主要工作是:安装虚拟机、安装Windows开发工具。学习嵌入式Linux时,各种程序比如Linux内核、你编写的驱动、应用,都需要在Linux机器下编译。但是很多人习惯在Windows下编写文档、编写程序、聊微信。正所谓在Windows下生活,在Linux下工作。难道我们需要2台电脑,一台装Windows、另一台装Linux?不,我们可以用虚拟机。在Windows电

2020-07-04 20:56:43

Linux系统编程-几个多线程DEMO

第五章 线程编程本章将分为两大部分进行讲解,前半部分将引出线程的使用场景及基本概念,通过示例代码来说明一个线程创建到退出到回收的基本流程。后半部分则会通过示例代码来说明如果控制好线程,从临界资源访问与线程的执行顺序控制上引出互斥锁、信号量的概念与使用方法。5.1 线程的使用5.1.1 为什么要使用多线程在编写代码时,是否会遇到以下的场景会感觉到难以下手?场景一:写程序在拷贝文件时,需要一边去拷贝文件,一边去向用户展示拷贝文件的进度时,传统做法是通过每次拷贝完成结束后去更新变量,再将变量转化为进度显

2020-07-02 21:41:38

CAN编程介绍

CAN编程介绍14.1 CAN介绍作者:南半球,授权韦东山发布&nbsp;14.1.1 CAN是什么?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置 ECU 之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入

2020-06-25 17:40:32

【韦东山】嵌入式全系统:单片机-linux-Android对硬件操作的不同侧重点

我是韦东山,一直从事嵌入式Linux培训,最近打算连载一系列文章。正在录制全新的嵌入式Linux视频,使用新路线,不再从裸机/uboot开始,效率更高。对应文档也会写成书&lt;&lt;嵌入式Linux应用开发完全手册&gt;&gt;第二版,视频文档、书的样稿可以直接下载:https://vdisk.weibo.com/s/t6HbuIpx6zoa11.概念只要涉及编程,并且所用硬件不是电脑的话,都可以认为是嵌入式软件开发。所谓“嵌入”,就是把处理器嵌入某个物体中,让它具备计算能力。比如手表中有单

2020-06-10 10:21:17

韦东山:Linux驱动程序基石之mmap

应用程序和驱动程序之间传递数据时,可以通过read、write函数进行。这涉及在用户态buffer和内核态buffer之间传数据,如下图所示:应用程序不能直接读写驱动程序中的buffer,需要在用户态buffer和内核态buffer之间进行一次数据拷贝。这种方式在数据量比较小时没什么问题;但是数据量比较大时效率就太低了。比如更新LCD显示时,如果每次都让APP传递一帧数据给内核,假设LCD采用102460032bpp的格式,一帧数据就有102460032/8=2.3MB左右,这无法忍受。改进的方法就是

2020-06-03 18:03:40

韦东山:VMWARE使用NAT方式彻底解决开发板无法挂载ubuntu文件的问题(多图)

我们写过很多ping问题的解决方法文章,但是最近我们发现之前用的桥接模式太复杂:需要开发板,Windows,ubuntu三者都ping通,步骤太多,很繁琐。最近我们研究出VMware 设置成NAT模式,然后进行端口映射,只要开发板和windows能一边ping通(比如开发板能PINGWindows或windows能PING开发板),开发板就能挂载ubuntu的文件,是怎么做到的呢?下面将系统讲解…Windows下有很多虚拟机软件,目前市面上流行的有VMware和VirtualBox。VMware分为收费专

2020-06-01 19:08:42

韦东山:Linux驱动基石之POLL机制

1.适用场景在前面引入中断时,我们曾经举过一个例子:妈妈怎么知道卧室里小孩醒了?① 时不时进房间看一下:查询方式简单,但是累② 进去房间陪小孩一起睡觉,小孩醒了会吵醒她:休眠-唤醒不累,但是妈妈干不了活了③ 妈妈要干很多活,但是可以陪小孩睡一会,定个闹钟:poll方式要浪费点时间,但是可以继续干活。妈妈要么是被小孩吵醒,要么是被闹钟吵醒。④ 妈妈在客厅干活,小孩醒了他会自己走出房门告诉妈妈:异步通知妈妈、小孩互不耽误使用休眠-唤醒的方式等待某个事件发生时,有一个缺点:等待的时间可能

2020-05-13 17:13:53

韦东山:6000字长文告诉你如何学习嵌入式linux

我在100ASK_IMX6ULL售后群里,发现很多初学者只有单片机基础,甚至没有单片机基础。在学习Linux时,对很多概念比较陌生,导致不知道学什么,也不知道学了之后有什么用。所以我趁着五一假期,编写此文。从事嵌入式Linux培训12年来,我们写过很多《关于如何学习linux》的文章,这是最新的,本文将不断更新。第1章 单片机和Linux的区别1.1 有哪些产品使用单片机或Linux所有的电子产品,所用技术都可以认为要么是单片机,要么是Linux;GUI方面主要是QT/Android,它们都是运行于

2020-05-13 16:30:07

100ask_imx6ull绝对是最2的IMX6ULL开发板!

100ask_imx6ull开发板绝对是最2的IMX6ULL开发板!为什么这么说呢?因为它有别家的:2倍的裸机文档!2倍的裸机实验!却是2分之1的价格!自从去年我们发布了后,开启了一个新模式:0利润开发板吸引客户,入门视频全部免费服务大众,独家视频才收费。硬件质量久经考验,即使是最专业的硬件工程师,也认可我们的设计和用料;之前,资料缺乏是唯一槽点,但是,从4月20号,...

2020-04-22 12:25:36

关于NAND Flash调试的一点总结

很久没接触过 nandflash 驱动,最近工作又摸了,于是顺便整理总结一下。nandflash 在我看来算是比较落后的存储设备,所以文章里没有太多细节的东西,更多的是一些开发思路和经验,希望能帮助到有需要的人。一、了解 nandflash 当前发展状况什么是 nandflash?nandflash 由许多保存位( bit )的单元( cell )组成,这些位通过电荷开启或关闭。这些开/关单...

2020-04-15 18:50:45

嵌入式杂谈之文件系统

以下文章来源于于宙 ,作者yz001;文件系统可以说是嵌入式中的一大块,也是绕不过的一部分。之前我对文件系统认知一直停留在在U盘格式的理解上,直到接触了嵌入式Linux才发现这里面大有文章,以Linux启动挂载根文件系统为例,这个文件系统可以是真正的存储设备上的文件系统,也可以是网络文件系统,甚至可以开辟一段内存,虚拟出来一个文件系统,这些在一开始接触嵌入式Linux开发的时候就算讲到了也不会很...

2020-04-10 17:34:43

韦东山:在Linux设备树(DTS)中指定中断_在代码中获得中断

作者:韦东山全文分为三大部分1.设备树里中断节点的语法2.设备树里中断节点的示例3.在代码中获得中断参考:内核Documentation\devicetree\bindings\interrupt-controller\interrupts.txt1.设备树里中断节点的语法1.1 设备树里的中断控制器中断的硬件框图如下:在硬件上,“中断控制器”只有GIC这一个,但是我们在软件...

2020-04-08 18:22:02

韦东山:剥丝抽茧分析linux中断系统的重要数据结构

作者:韦东山正文:能弄清楚下面这个图,对Linux中断系统的掌握也基本到位了。最核心的结构体是irq_desc,之前为了易于理解,我们说在Linux内核中有一个中断数组,对于每一个硬件中断,都有一个数组项,这个数组就是irq_desc数组。注意:如果内核配置了CONFIG_SPARSE_IRQ,那么它就会用基数树(radix tree)来代替irq_desc数组。SPARSE的意思是“...

2020-04-01 15:04:26

【深度】韦东山:GPIO和Pinctrl子系统的使用

作者:韦东山参考文档:a. 内核 Documentation\devicetree\bindings\Pinctrl\ 目录下:Pinctrl-bindings.txtb. 内核 Documentation\gpio 目录下:Pinctrl-bindings.txtc. 内核 Documentation\devicetree\bindings\gpio 目录下:gpio.txt注意...

2020-03-26 16:36:09

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。