13 韦东山

企业博客

我要认证

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

等级
TA的排名 6k+

韦东山鸿蒙移植01-移植RTOS需要做的事

1. 框架鸿蒙是一套完整的、普通人可以直接使用的操作系统,跟Windows、安卓、IOS类似。常见的错误观点是把鸿蒙跟Linux放在一起来对比,这不对:Linux只是一个内核,普通人无法使用还需要在Linux之上安装各类程序比如Ubuntu等发行版,它们在Linux内核之上,还有桌面、各类办公软件鸿蒙支持多种内核:Linux、Liteos(又分为Liteos-a、Liteos-m)在内核之上,鸿蒙还有各种子系统,在子系统之上又有桌面等软件2. 嵌入式软件系统的组成我

2020-10-30 08:59:18

【调试笔记】韦东山:在100ask_imx6ull上移植使用六轴传感器ICM20608

之前发了LCD调试笔记,大家很感兴趣,所以这次再来一篇:六轴传感器ICM20608驱动移植笔记,大家还需要什么移植笔记?可以留言。我们尽量满足。1.1 移植思路先找到驱动:也许内核里已经有,也许需要去网上查找。打开bing.com,搜“ICM20608 linux driver”,发现这个网址:https://github.com/torvalds/linux/blob/master/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c大胆假设,在linux内核中应该

2020-10-29 10:54:17

JZ2440在U-boot中通过网络方式烧录镜像的几种方法

进入ubootu-boot相当于我们PC机的BIOS,,在PC上厂商为我们做好了图形界面,操作起来非常便利。虽然在2440中u-boot并没有界面,但是百问网制作好的uboot中有目录菜单,比较常用的操作都列了出来,开发板上电后,在倒计时结束之前按下任意键进入uboot后就可以看到下面的菜单及说明:##### 100ask Bootloader for OpenJTAG #####[n] Download u-boot to Nand Flash[c] Re-scan Nor Flash[u] C

2020-10-29 09:20:12

Makefile 的使用

第三章 Makefile 的使用在 Linux 中使用 make 命令来编译程序,特别是大程序;而 make 命令所执行的动作依赖于 Makefile 文件。最简单的 Makefile 文件如下:hello: hello.cgcc -o hello hello.cclean:rm -f hello将上述 4 行存为 Makefile 文件(注意必须以 Tab 键缩进第 2、4 行,不能以空格键缩进),放入 01_hello目录下,然后直接执行 make 命令即可编译程序,执行“make cle

2020-10-28 17:37:11

GCC 编译器的使用

视频观看地址:https://www.100ask.net/detail/p_5f338ae3e4b075dc42ad44a1/8全文下载:嵌入式Linux系统开发完全手册 第二版源文件需要经过编译才能生成可执行文件。在 Windows 下进行开发时,只需要点几个按钮即可编译,集成开发环境(比如 Visual studio)已经将各种编译工具的使用封装好了。Linux 下也有很优秀的集成开发工具,但是更多的时候是直接使用编译工具;即使使用集成开发工具,也需要掌握一些编译选项。PC 机上的编译工具链为

2020-10-21 23:15:37

PC 和开发板之间传输文件

8.1 传输文件的多种方法在嵌入式开发中,涉及交叉编译:在 PC 上编译,在开发板上运行。所以就涉及 PC 和开发板之间的文件传输,方法有多种:网络传输、串口传输、USB 传输,当然,还有最笨的方法:U 盘拷贝。一般的日常开发流程为:a. 在 Windows 上阅读修改代码,然后通过 FileZilla 把代码传到 VMWare 中的 Ubuntu;b. 在 Ubuntu 上编译程序;c. 把程序下载到开发板上,运行验证,d. 在 Windows 下通过串口操作开发板。所以在 Windows

2020-10-21 19:12:15

烧写整个系统或更新部分系统到STM32MP157开发板

7.1 100ASK_STM32MP157 启动开关7.1.1 全功能版板子上的红色拨码开关用来设置启动方式,支持这四种方式:EMMC 启动、SD 卡启动、USB 烧写以及 M4(debug)模式。板子背后画有一个表格,表示这四种方式如何设置。表格中 BOOT0 对应开关 1,BOOT1 对应开关 2,BOOT2对应开关 3,如下:这四种启动方式的设置示意图如下:刚出厂的板子在 EMMC 上烧写了系统,你可以设置为 EMMC 启动方式。其中的 USB 启动模式主要用来烧写系统。7.2 在

2020-10-21 18:01:53

构建一个适合stm32mp157系列开发板的嵌入式Linux系统

6.1 前言Linux平台上有许多开源的嵌入式linux系统构建框架(框架的意思就是工具),这些框架极大的方便了开发者进行嵌入式系统的定制化构建,目前比较常见的有OpenWrt, Buildroot, Yocto,等等。其中Buildroot功能强大,使用简单,而且采用了类似于linux kernel的配置和编译框架,所以受到广大嵌入式开发人员的欢迎。本章重点介绍使用Buildroot_2020.02LTS版构建文件系统和u-boot, kernel镜像的方法,并从这三个部分入手,描述如何使用Build

2020-10-12 17:39:34

stm32mp157开发板常用系统工具使用

5.1 Linux 磁盘类工具/命令使用注意:以下操作都是在开发板上操作,我们的教程涉及多款开发板,不同的 linux 版本,命令用法可能稍有差异。5.1.1 df:查看系统已用空间5.1.1.1 df 支持的命令参数简介[root@imx6ull:~]# df [-PkmhT] [目录或档名]选项与参数:-k :以 KBytes 的容量显示各档案系统;-m :以 MBytes 的容量显示各档案系统;-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

2020-10-10 11:36:13

stm32mp157开发板LCD 显示测试&触摸屏测试

注 意 : 此 章 节 测 试 需 要 外 接 LCD 屏 幕 才 可 以 进 行 测 试 验 证 , LCD 模 块 介 绍 请 参 考 页 面http://download.100ask.org/modules/Lcd/100ask_imx6ull_7-inch_LCD/此节演示通过 fb-test 测试程序让 lcd 显示红绿蓝白 4 中颜色,用以观察 lcd 的显示效果。首先需要关闭默认的 qt gui 程序,才可以执行下面的测试命令,关闭 qt 命令如下所示:[root@100ask:

2020-10-09 14:43:45

stm32mp157开发板LINE 接口测试方法

4.5.2 LINE 接口测试方法注意:LINE 接口只支持音频播放输出,需要专门支持 LINE 接口的设备才可以进行连接播放音频。如下红框所示为 LINE 接口所在位置。外接模块测试注意:LINE 模块需要单独购买,我们暂未提供 LINE 模块的相关商品。请参考下图所示连接 LINE 模块到 LINE 接口,之后使用下述播放音频命令进行播放音频文件,此时可以通过 LINE 音箱听到声音输出。播放音频:将耳机插入开发板耳机孔,使用 aplay 进行播放音频文件:[root@100as

2020-10-09 14:36:35

stm32mp157开发板MIC 接口测试方法

4.5.2 MIC 接口测试方法录制音频:使用如下命令进行录制(执行命令后,对着板载咪头说话):[root@100ask:~]# amixer -c 0 cset numid=50 1[root@100ask:~]# amixer -c 0 cset numid=48 1[root@100ask:~]# amixer -c 0 cset numid=46 1[root@100ask:~]# amixer cset numid=3 60000 60000[root@100ask:~]# a

2020-10-09 14:32:47

stm32mp157开发板声卡接口测试

4.5 声卡接口测试4.5.1 耳机接口测试方法此节演示使用三段式耳机在 100ask_stm32mp157_pro 开发板上录制声音、播放音频。注意: 需要准备一个带麦克风的三段式耳机,如下图所示:录制音频:将耳机插入开发板耳机孔,使用如下命令进行录制(执行命令后,对着麦克风说话):[root@100ask:~]# arecord -v --format=cd --device=plughw:0,1 test.wav参数讲解:–format=cd :设置格式为 16 bit l

2020-10-09 14:29:19

stm32mp157开发板USB Host 接口&OTG 接口测试

4.3 USB Host 接口测试此节演示在终端下如何在 USB Host 接口上使用 usb 存储设备。注意:需要准备一个 USB 设备,比如 U 盘、USB 蓝牙模块、usb 网卡或者 usb 摄像头等。下面使用一个 U 盘作为例子,插到任意一个 USB Host 接口,会打印出如下设备信息:通过打印的设备信息可知,系统为该 usb 存储设备创建的设备节点为 /dev/sda。一般来说/dev/sda 对应整个U盘,/dev/sda1 对应该 U盘的第 1 个分区,/dev/sda2 对应第

2020-10-09 14:23:27

stm32mp157开发板网卡接口测试

4.1 有线网卡接口测试此节演示在串口终端下如何设置开发板的 ip 地址,测试网络的连通性。注意:既然是在开发板和电脑之间测试网络,那双方需要有网络连接。两者之间需要有一个路由器,开发板通过网线与路由器连接。而电脑与路由器之间,可以使用网线连接,也可以使用 WIFI 连接。注意:如果要测试全功能版的 2 个网卡,先测一个网卡,然后把它的网线取下来;再接网线到第 2 个网卡并测试。通过 ifconfig 命令查看 ip 地址:通过上图可知,开发板已经自动获得 IP 地址 192.168.1.1

2020-09-29 16:48:06

stm32mp157开发板入门使用教程

1.1 有哪些资料、怎么下载请参考:《第 1 篇 新学习路线、视频介绍、资料下载》《第二章 资源下载方法》1.2 本篇开发板手册中需要学习哪些章节这个手册按需观看,初学者甚至可以先跳过本篇手册,因为在《第 2 篇 环境搭建、Linux 基本操作、工具使用》中已经介绍了怎么搭建环境、试验第 1 个 APP、第 1 个驱动程序。在开发板系统被破坏时,可以参考以下章节:《第七章 烧写整个系统或更新部分系统》前面也介绍了在开发板上使用 NFS 跟 Ubuntu 互传文件,如果传文件时想使用更多的方法

2020-09-28 18:22:16

开发板的第 1 个驱动程序

9.1 前提请按前面第七章使用 GIT 下载源码、使用 repo 下载工具链,并配置了交叉编译工具链。为什么编译驱动程序之前要先编译内核?① 驱动程序要用到内核文件:比如驱动程序中这样包含头文件:#include &lt;asm/io.h&gt;,其中的 asm 是一个链接文件,指向 asm-arm或 asm-mips,这需要先配置、编译内核才会生成 asm 这个链接文件。② 编译驱动时用的内核、开发板上运行到内核,要一致:开发板上运行到内核是出厂时烧录的,你编译驱动时用到内核是你自己编译的,这

2020-09-27 18:57:37

使用 Source Insight 阅读 Linux 内核源码

在后面开发驱动程序时,驱动程序中用到的函数都是来自内核,所以可以先在 Windows 下创建内核的Source Insight 工程。如果你不想学习驱动开发,那么可以不创建内核的工程。但是以后学习大型 APP 时,也可以使用 Source Insight 来阅读、编写代码,可以借鉴本节讲解的 Source Insight 用法。7.4.1 Source Insight 简介Source Insight 是 Source Dynamics 公司出品的源代码编辑器。Source Insight 提供语法突

2020-09-23 09:37:40

Ubuntu 操作入门

3.1 Ubuntu 下打开终端我们安装的 Ubuntu 是桌面版本,这样我们可以像在 windows 系统下操作一样,相对于平时所说的 Linux命令行下操作来说,这种体验非常舒适。但是一般我们使用 Linux 都是在命令行下进行操作,所有的操作我们的都可以通过输入命令来完成,绝大多数情况下使用命令行来操作 Linux 系统比通过在 GUI 下操作的效率高很多,虽然说我们使用的 Ubuntu 是包含了 GUI 的 Linux 发行版,然而我们可以像在 windows 下那样唤出 Ubuntu 的终端,打

2020-09-23 08:52:24

嵌入式输入系统应用编程

在一个嵌入式系统里面,既要有输出也要有输入。那么到底什么是输入系统呢?1.1 什么是输入系统?先来了解什么是输入设备?常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与 Linux 系统进行数据交换。什么是输入系统?输入设备种类繁多,能否统一它们的接口?既在驱动层面统一,也在应用程序层面统一?可以的。Linux 系统为了统一管理这些输入设备,实现了一套能兼容所有输入设备的框架:输入系统。驱动开发人员基于这套框架开发出程序,应用开发人员就可以使用统一的 API 去使用设

2020-09-22 20:19:04

查看更多

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